Skip to main content
This is the recommended integration sequence, aligned with backend validation rules. The flow follows the familiar buyer integration order used in Travelgate-style hotel APIs: Search -> Quote -> Book -> Cancel.

Step 0: Prepare Credentials

  1. Admin creates partner user(s) and connection(s)
  2. Partner admin creates API key(s)
  3. Integrator stores:
    • api-key
    • connection code (settings.access.code)
POST /api/search
Output to keep:
  • optionId = data.accommodations[].options[].id
Lifecycle:
  • Search option payload is cached by backend with ~24 hour TTL
  • Option payload includes occupancy and stay snapshot for quote validation

Step 2: Quote

POST /api/quote
Input requirements:
  • quoteCriteria.optionId from search response
  • accommodation, checkIn/checkOut, occupancies must match cached search payload
Output to keep:
  • quoteId = data.id
Lifecycle:
  • Quote payload is cached for book flow with ~30 minute TTL

Step 3: Book

POST /api/book
Input requirements:
  • bookCriteria.quoteId from quote response
  • bookCriteria.partnerReference required
  • bookCriteria.holder.name/surName required
  • settings.access.code must belong to current partner
Output to keep:
  • bookingReference = data.bookingReference

Step 4: Cancel

POST /api/cancel
Input requirements:
  • input.reference.bookingReference required
  • Booking must be owned by partner
  • Booking must be cancellable according to policy and current time

Important Validation Rules

  • settings.access.code is mandatory in all core APIs
  • Quote fails if price changed against search snapshot ("Price changed")
  • Book fails when quote reference expired/invalid
  • Cancel fails after check-in date or for non-refundable bookings

Rate Limiting

Rate limit is applied on:
  • POST /api/search
  • POST /api/quote
Headers returned:
  • X-RateLimit-Limit
  • X-RateLimit-Remaining
  • X-RateLimit-Reset
  • Retry-After when limited (429)