Retrieve a booking
Full booking record: traveler, room allocation, payment confirmation, the immutable adventure snapshot id, and the cancellation tiers that apply to this booking.
Authorizations
API key authentication. Issued by the Safariat admin or via the partner portal. The secret is shown only once at generation.
Production sk_live_* keys must additionally sign every write request
(POST/PUT/DELETE) with the X-Timestamp and X-Signature headers.
Sandbox sk_test_* keys are exempt from request signing: X-Signature and
X-Timestamp are not required for writes in the sandbox (so the developer-portal
"Try it" playground works end to end). The Idempotency-Key header remains
required on writes in both environments.
Path Parameters
Safariat booking number (format MV-XXXXXX). In the sandbox, create a booking first (POST /bookings) and use the returned number here.
^MV-[A-Z0-9]{6}$Response
Booking found
"MV-AB7X92"
The partner channel skips the PENDING status (no payment-wait window).
Additional internal Safariat statuses (PAYMENT_PROCESSING, REFUND_PENDING)
are never exposed on this API.
CONFIRMED, COMPLETED, CANCELLED Revenue breakdown with the real surcharge recorded at booking (indicative = false).
Payment confirmation echoed back on the booking (response projection). The monetary
amounts (customer total, net due to Safariat, surcharge) are exposed via pricing.
ID of the adventure snapshot captured at creation (see ADR-013). Guarantees the traveler receives the experience as it was at the time of booking.
Initialed (e.g. 'A. B.') for PII protection in lists.
ID of the settlement this booking is included in (null if not yet invoiced).
Pre-signed URL to the PDF voucher (7-day TTL).