Skip to main content

1. A travel checkout

The whole service in one flow, with the price confirmation where it belongs.
Fulfilment arrives as esim.order.completed, or you poll the order. Either way the last step is the same: fetch /installation and put the QR in front of them.

2. Top up instead of selling a second eSIM

A customer whose data ran out mid-trip does not want to reinstall anything.
The allowance grows on the profile they already have. Nothing is reinstalled, and the ICCID does not change.
A depleted eSIM can still be topped up. Do not treat depleted as the end of its life — it is the moment to offer more data.

3. Warn before the data runs out

Two events fire on their own; you do not need to poll for either.
Each of esim.usage.low and esim.expiry.near fires once per eSIM, so you can send them straight through without keeping your own “have I already warned them” flag.

4. Reconcile a month

Orders carry both figures, which is what makes them reconcilable against two different things.
Do not reconcile price against a bank statement. It is USD; the statement is in whatever the account holds. paid is the only figure that will agree with a bank.