For travel agencies and partner websites

Partner API v1

Show our activities, yachts, events and travel extras on your own website or booking system, at your agent prices, and book them straight from your agency wallet. Ask your account manager for a sandbox key.

Basics

Endpoints

MethodPathWhat it does
GET/accountYour wallet balance, credit and discount
GET/products?type=tour|yacht|event|extra&city=dubaiProduct list with your "from" price (paginated: page, per_page ≀ 100)
GET/products/{product}Options, time slots, transfers, extras, guest rules, cancellation policy
GET/products/{product}/availability?date=YYYY-MM-DD&option={id}Live availability, seats left and prices for a date
POST/bookingsBook one or more items (paid from your wallet)
GET/bookings/{booking_no}Status, items, refund, voucher link
POST/bookings/{booking_no}/cancelAsk to cancel (our team reviews it under the policy; refunds go back to your wallet)

Book

curl -X POST https://umairtravels.com/api/v1/bookings \ -H "Authorization: Bearer bsk_test_xxxxxxxx_…" -H "Content-Type: application/json" \ -d '{ "reference": "PARTNER-10025", "lead": {"name": "Sara Ahmed", "email": "sara@example.com", "phone": "+971501234567"}, "notify_guest": false, "items": [{ "product": "evening-desert-safari-with-bbq-dinner", "date": "2026-11-20", "option_id": 1, "slot_id": 1, "transfer": "sharing", "adults": 2, "children": 1, "addons": {"3": {"q": 2}} }, { "product": "55-ft-luxury-yacht-private-charter", "date": "2026-11-21", "slot_id": 7, "transfer": "none", "adults": 6, "units": 3 }] }'

Webhooks

Give us an https URL for your live key and we POST booking.updated whenever one of your bookings changes (confirmed, cancelled, refunded):

{"event": "booking.updated", "sent_at": "2026-11-20T10:15:00+00:00", "data": {"booking_no": "BS261120ABCDE", "reference": "PARTNER-10025", "status": "cancelled", "payment_status": "refunded", "total": 1450.0, "refund": 1450.0, "currency": "AED"}}

Check it came from us: X-BS-Signature = HMAC-SHA256 of the raw body with your webhook secret. Reply 2xx within 5 seconds.

Good to know