VANITYPASS
B2B APITravel

Travel Services

Airport lounges, fast-track security, dining, fitness, eSIM, and travel bookings.

Travel Services

All travel endpoints live under /v1/travel. Authentication requires a valid X-Api-Key. All booking operations require Authorization: Bearer <token>.

Search Airports

GET /v1/travel/airports/search

Find airports by name, city, country, or IATA code.

Query paramTypeRequiredDescription
qstringNoSearch term — leave empty for top 10 by name
GET /v1/travel/airports/search?q=LHR

Airport Lounges

Search Lounges

POST /v1/travel/lounges

Search available lounges at an airport.

{
  "airport_code": "LHR",
  "terminal": "T5",
  "date": "2025-06-01"
}

Get Lounge Details

GET /v1/travel/lounges/{lounge_id}

Returns full lounge information — amenities, operating hours, location, photos.

Check Lounge Availability

POST /v1/travel/lounges/{lounge_id}/availability

Returns real-time capacity and pricing for a specific date and guest count.

{
  "date": "2025-06-01",
  "guests": 2
}

Fast-Track Security

Get Fast-Track Services at Airport

GET /v1/travel/fast-track/{airport_code}

Returns all fast-track security lanes available at the given airport.

Path paramDescription
airport_codeIATA code, e.g. DXB

Get Fast-Track Details

GET /v1/travel/fast-track/details/{fast_track_id}

Full details for a specific fast-track lane: terminal, opening hours, price.

Check Fast-Track Availability

POST /v1/travel/fast-track/{fast_track_id}/availability

Check real-time slot availability for a given date and passenger count.

{
  "date": "2025-06-01",
  "passengers": 1
}

Airport Dining

Search Dining

POST /v1/travel/dining

Search on-airport restaurants and cafes.

{
  "airport_code": "DXB",
  "terminal": "T3",
  "date": "2025-06-01",
  "guests": 2
}

Get Dining Details

GET /v1/travel/dining/{dining_id}

Full restaurant info — menu categories, cuisine type, location, hours.

Check Dining Availability

POST /v1/travel/dining/{dining_id}/availability

Real-time table availability for a date, time, and cover count.

{
  "date": "2025-06-01",
  "time": "12:30",
  "covers": 2
}

Fitness Centers

Search Fitness Centers

POST /v1/travel/fitness

Find gyms and wellness facilities at or near an airport.

{
  "airport_code": "SIN",
  "date": "2025-06-01"
}

Get Fitness Center Details

GET /v1/travel/fitness/{fitness_id}

Full details — equipment, hours, shower availability, location.

Check Fitness Availability

POST /v1/travel/fitness/{fitness_id}/availability

Slot availability for a given date and number of guests.

{
  "date": "2025-06-01",
  "guests": 1
}

eSIM Plans

Get eSIM Plans by Country

GET /v1/travel/esim/plans/{country}

Returns available prepaid eSIM data plans for the given country code.

Path paramDescription
countryISO 3166-1 alpha-2 code, e.g. GB

Get eSIM Resource Options

GET /v1/travel/esim/{resource_id}/options

Returns configuration options for a specific eSIM resource (validity, data bundles).

Purchase eSIM

POST /v1/travel/esim/purchase

Creates an eSIM order and returns activation QR code and instructions.

{
  "resource_id": "esim_plan_uk_5gb",
  "user_id": "usr_abc123"
}

Check eSIM Order Status

GET /v1/travel/esim/orders/{order_id}/status

Poll activation status of a purchased eSIM. Statuses: pending, active, failed.


Search by Modules

GET /v1/travel/search/modules

Returns available service categories at a transport hub.

Query paramDescription
transportHubIdHub identifier
countryOrRegionOptional country/region filter
languageResponse language (default en)

POST /v1/travel/search

Full-text search across all travel service types at an airport.

{
  "keyword": "lounge",
  "airport_code": "LHR"
}

Get Recent Searches

GET /v1/travel/searches/recent

Returns the authenticated user's recent search history.

POST /v1/travel/searches/recent

Saves a search to the user's history.

DELETE /v1/travel/searches/recent/{search_id}

Clear All Search History

DELETE /v1/travel/searches/recent


Bookings

All booking endpoints are under /v1/travel/bookings.

Create Booking

POST /v1/travel/bookings

Books a travel service (lounge, fast-track, dining, fitness, or eSIM).

{
  "product_type": "lounge",
  "product_id": "lounge_lhr_t5_plaza",
  "date": "2025-06-01",
  "guests": 2,
  "guest_details": [
    { "first_name": "Jane", "last_name": "Doe", "passport": "AB1234567" }
  ]
}

List Bookings

GET /v1/travel/bookings

Returns the authenticated user's travel booking history.

Get Booking Details

GET /v1/travel/bookings/{booking_id}

Cancel Booking

POST /v1/travel/bookings/{booking_id}/cancel

Get Redemption Details

GET /v1/travel/bookings/{booking_id}/redemption

Returns the e-voucher, QR code, or access code for a confirmed booking.

Redeem Booking

POST /v1/travel/bookings/{booking_id}/redeem

Marks the booking as redeemed (used at venue).

Initiate Payment

POST /v1/travel/bookings/{booking_id}/initiate-payment

Starts the payment flow for bookings that require upfront payment.