v1.0.0 launch

Real-Time Usage Webhooks: The Hotel Top-Up Upsell Playbook (2026)

When your guest hits 80% of their eSIM data quota, YonoSIM fires order.data.low. Wire it to your PMS notification service and 25–35% of guests convert to a top-up. This is the integration pattern + attach-rate benchmark data from three property pilots.

By · Founder, YonoSIMLinkedIn ↗·Published August 10, 2026·6 min read

Summary

YonoSIM's order.data.low webhook fires at 80% quota. Wire it to your PMS notification channel and 25–35% of guests convert to a top-up.

The webhook payload

POST https://your-pms.com/webhooks/yonosim
X-YonoSIM-Signature: <hmac-sha256>

{
  "id": "evt_ABC123",
  "type": "order.data.low",
  "data": {
    "orderId": "ord_XYZ",
    "usageBytes": 4300000000,
    "quotaBytes": 5368709120,
    "percentUsed": 80,
    "metadata": {
      "bookingId": "BK-2026-4581",
      "guestId": "G-9821",
      "propertyId": "hotel-berlin-mitte"
    }
  }
}

The handler + notification (~30 lines)

export async function POST(req: Request) {
  const raw = await req.text();
  // ... verify HMAC signature ...
  const event = JSON.parse(raw);
  if (event.type !== 'order.data.low') return new Response('ok');

  const booking = await getBookingById(event.data.metadata.bookingId);
  const topUpUrl = `https://esim.${property}.com/topup/${event.data.orderId}`;

  await sendGuestNotification(booking, {
    channel: booking.notificationChannel,  // 'sms' | 'email' | 'app_push'
    title: 'Your eSIM is at 80% — top up in one tap',
    body: `Add 3 GB for $8 or unlimited for the rest of your stay for $22.`,
    ctaUrl: topUpUrl,
  });
  return new Response('ok');
}

Attach-rate benchmark by channel

Notification channelTop-up attach
Hotel app push notification32–38%
SMS to guest's local number25–30%
Email12–18%
In-room TV / lobby screen6–10%

FAQ

QWhat is order.data.low and when does it fire?

AIt's a signed webhook that fires when the guest's eSIM hits 80% of the plan's data quota. Payload includes order ID, current usage bytes, quota bytes, metadata carried from the original order (bookingId, guestId, etc.).

QWhat top-up attach rate is realistic?

A25–35% across three property pilots. Higher for premium properties (guests less price-sensitive), lower for mid-market. The pattern that hits 35%+: send a push notification via the hotel's app/PMS immediately on receipt of the webhook, one-tap top-up with $8 for 3 GB extra.

QHow much revenue does this add per stay?

AAt 30% attach × $8 top-up × 20% partner margin (Growth tier) = $0.48/stay in top-up revenue. Modest per-stay but scales with volume — for the 200-room property model, ~$1,700/year in top-up revenue on top of the base bundle.

QDo we need our own app to trigger the top-up notification?

ANo. The notification can go via any channel your PMS supports: SMS to guest's local number, email, push via a partner hotel app (Marriott, Hilton, Hyatt all have this), or a lobby-screen notification. SMS and email are most common.

QWhat's the pattern for the top-up itself?

AOne-tap link in the notification → guest opens the branded top-up page → confirms top-up → Stripe charges the card on file → YonoSIM adds the additional GB to the existing eSIM (same ICCID, same LPA, no re-install). The whole guest-side flow is under 30 seconds.

QCan we upsell to unlimited instead of a fixed top-up?

AYes — offer a $22 'unlimited for the rest of your stay' upgrade at the low-data notification. Higher price point, higher attach for premium guests. Both work as fallback options in the same notification: 'Add 3 GB for $8, or unlimited for the rest of your stay for $22.'

Bottom line

order.data.low is the highest-leverage webhook in the hotel connectivity playbook — 25–35% top-up attach when wired to a push notification. Playground at api.yonosim.com/docs; back to Hotels hub.