Last updated

How Hubby Works

The integration is simple: you send a booking, we return promo codes. Here's the complete picture in 2 minutes.

The Core Flow

Step 1: Create a Booking

POST /api/bookings

Your system sends traveler data, destination, and package preference. This single API call is the trigger that generates everything.

{
  "departure_date": "2026-01-03",
  "email": "traveler@example.com",
  "package_specifications": [{
    "destination": "USA",
    "package_type": "starter"
  }]
}

Step 2: Receive Promo Codes

In the API response

The booking response contains one or more promo codes (and optionally claim links). These are what the traveler uses to get their eSIM.

{
  "id": "booking_abc123",
  "promo_codes": [
    {
      "code": "TRAVEL-XYZ-789",
      "claim_link": "https://app.hubbyesim.com/claim/TRAVEL-XYZ-789"
    }
  ]
}

Step 3: Deliver to Traveler

Your choice of channel

Send the promo code via your own email, SMS, or app. Embed a claim link. Or let Hubby handle delivery automatically.

Step 4: Branded Redemption

In the Hubby app

When the traveler redeems, they see your logo, styling, and brand identity. This is configured once and applies automatically.


Key Concepts

Branding Per Booking

Every booking is linked to your partner account. The traveler automatically sees your brand in the app.

Optional: Pass custom_branding to override with a specific brand (e.g., for sub-brands or white-label partners).

{
  "custom_branding": "brand_luxury_travel",
  "departure_date": "2026-01-03",
  "package_specifications": [...]
}

Learn about branding →


Package Selection

You control what the promo code unlocks through two fields: destination and package_type.

Package TypeDescription
"starter"Basic bundle for the destination
"data-limited" + sizeSpecific data amount (e.g., "3GB")
"time-limited" + sizeData with time limit
"unlimited"Unlimited data for a duration

Example: Starter package

{
  "package_specifications": [{
    "destination": "EU",
    "package_type": "starter"
  }]
}

Example: Specific data amount

{
  "package_specifications": [{
    "destination": "USA",
    "package_type": "data-limited",
    "size": "3GB"
  }]
}

Learn about packages →


Delivery Options

Once you have the promo code, you decide how to get it to the traveler:

You Deliver

Send the promo code via your own email, SMS, app notification, or "My Trip" portal.

{
  "communication_options": {
    "should_send_message": false,
    "channels": []
  }
}

Include the claim link in your booking confirmation. Traveler clicks to redeem.

The claim link is returned in the API response:

https://app.hubbyesim.com/claim/TRAVEL-XYZ-789

Hubby Delivers

We send a branded email on your behalf. Just enable this option in your request.

{
  "communication_options": {
    "should_send_message": true,
    "channels": ["EMAIL"]
  }
}

Learn about delivery models →


What's Next?

Now that you understand the core flow, you're ready to:

  1. Get Started — Make your first API call
  2. Basic Integration — Full integration walkthrough
  3. Package Types — Deep dive into package options