Skip to main content

Best Practices

This page is a checklist of principles. Step-by-step payloads and code samples live in each operation (Search, Quote, Book, List, Content) and in Use cases.

Booking flow

  1. SearchQuote (/prebooking) → Book — never skip quote before book; optionRefId and price expire quickly.
  2. On quote, detect price and policy changes and reconfirm with the customer before calling book.
  3. Store bookingID, clientReference, and supplier references as returned.

Idempotency and recovery

  • Set a unique clientReference before each book attempt.
  • If the HTTP result is unclear (timeout, disconnect), list bookings filtered by clientReference and stay dates before retrying book. See Book — Timeouts and recovery.
  • Send X-Request-ID or settings.requestId on every call for support correlation.

Partial failures and tracing

  • A 200 response can still include warnings and tracing.status PARTIAL. Inspect tracing.accessSpans per connectionCodes entry.
  • Use auditTransactions: true only for targeted debugging; redact and avoid logging full payloads in production (Error handling).

Timeouts

  • Set settings.timeout per operation; the platform may enforce supplier-specific minimums (especially for book). See Performance & availability.

ON_REQUEST and async confirmation

  • If book returns ON_REQUEST, show a pending state, poll booking detail with backoff, and/or rely on webhooks. See ON_REQUEST.

Content vs live calls

  • Cache Content API responses (destinations, hotels, boards) with TTLs appropriate to your product.
  • Use hotel filter / list endpoints to narrow availability payloads. Details: Content overview.

Errors and retries

Security and limits

Sandbox

Next steps