The first eSIM purchase in your app is the easy part. The interesting engineering starts on the second trip, when the customer already has a profile installed and just wants more data. In the last few weeks several financial apps have shipped travel eSIM with exactly this in mind: Wise in New Zealand announced plans with automatic refunds for unused data, and PostFinance in Switzerland and Erste Bank's George app in Austria both describe an eSIM you install once and reuse across trips. Whatever provider sits behind each of them, the product pattern is the same: one install, many trips.
This article walks through the data model and event flow behind that pattern: reusable profiles, top-ups driven by usage, refunds for unused data, and several lines under one account. It assumes you're working with an eSIM provider's API and don't run any network infrastructure yourself.
1. Separate the profile from the bundle
The most common early mistake is modelling "an eSIM" as one purchase. It isn't.…