Skip to main content
GET
Retrieve a booking

Authorizations

Authorization
string
header
default:sk_test_DEMO0000_replace_with_your_sandbox_key
required

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

booking_number
string
required

Safariat booking number (format MV-XXXXXX). In the sandbox, create a booking first (POST /bookings) and use the returned number here.

Pattern: ^MV-[A-Z0-9]{6}$

Response

Booking found

booking_number
string
required
Example:

"MV-AB7X92"

partner_reference
string
required
status
enum<string>
required

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.

Available options:
CONFIRMED,
COMPLETED,
CANCELLED
adventure_slug
string
required
travel_date
string<date>
required
pricing
object
required

Revenue breakdown with the real surcharge recorded at booking (indicative = false).

created_at
string<date-time>
required
traveler
object
required
rooms_allocation
object[]
required
payment_confirmation
object
required

Payment confirmation echoed back on the booking (response projection). The monetary amounts (customer total, net due to Safariat, surcharge) are exposed via pricing.

snapshot_id
string<uuid>
required

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.

cancellation_tiers
object[]
required
adventure_title
string
traveler_name
string

Initialed (e.g. 'A. B.') for PII protection in lists.

settlement_id
string<uuid> | null

ID of the settlement this booking is included in (null if not yet invoiced).

test_mode
boolean

true when the booking was issued with a sandbox key. A sandbox booking never reaches an operator, never produces a settlement, and its notifications are limited to the traveller address supplied in the request, with a [TEST] subject prefix.

special_requests
string | null
voucher_url
string<uri>

Pre-signed URL to the PDF voucher (7-day TTL).