واجهة الفنادق
ابحث في 1.5M+ منشأة حسب رمز المدينة (بنمط IATA، مثل DXB) أو حسب رموز الفنادق التي تخزّنها من كتالوجنا، واطّلع على الأسعار على مستوى الغرفة مع نظام الوجبات وسياسة الإلغاء، ثم تحقّق واحجز، وألغِ وفق السياسة.
البحث
POST /v1/hotels/search with a destination and check-in/out dates and one to eight rooms (adults and child ages per room). The destination is a cityCode (IATA-style, e.g. "DXB" — GET /v1/content/cities lists them), a list of hotelCodes from the catalogue you store on your side (GET /v1/content/hotels per city), or a geo circle. Name matching is yours to do against your stored list; availability is always asked by code.
مع wait=true تحصل على مجموعة النتائج كاملة؛ ومع wait=false تحصل على searchId تستطلعه عبر GET /v1/hotels/search/{searchId} — مرّر التواريخ نفسها وعدد الغرف نفسه لتبقى مفاتيح الأسعار قابلة للحجز. يحمل كل فندق محتواه (الاسم، والنجوم، والعنوان، والموقع الجغرافي، والصورة الرئيسية، والمرافق) وأرخص سعر لكل غرفة مع rateKey معتم، والسعر الإجمالي والسعر لكل ليلة، ونظام الوجبات، وقابلية الاسترداد، والموعد النهائي للإلغاء.
الغرف والأسعار
GET /v1/hotels/{hotelCode}/rooms?rateKey=… يسرد كل أنواع الغرف والأسعار لمنشأة واحدة للإقامة التي بُحث عنها: أنواع الأسرّة، والإشغال، ونظام الوجبات، والسياسات، والضرائب والرسوم مفصّلة، وما إذا كان السعر قابلًا للاسترداد.
التحقق من السعر
POST /v1/hotels/rates/{rateKey}/check يؤكد أن السعر لا يزال قابلًا للحجز ويُرجع السعر والسياسة النهائيين. نفّذه مباشرة قبل الحجز: الحصول على 409 price_changed أو rate_expired هنا أقل تكلفة بكثير من حجز فاشل.
الحجز
POST /v1/hotels/bookings مع rateKey، وصاحب الحجز، والنزلاء لكل غرفة، وجهة اتصال، إضافةً إلى Idempotency-Key. الاستجابة هي الحجز مع مرجعه، وتأكيد المورّد، وبيانات القسيمة. و GET /v1/hotels/bookings/{bookingId} يُرجعه مجددًا في أي وقت.
الإلغاء
GET /v1/hotels/bookings/{bookingId}/cancellation-quote يُرجع الغرامة وفق السياسة في هذه اللحظة؛ و POST /v1/hotels/bookings/{bookingId}/cancel (يتطلب Idempotency-Key) ينفّذ الإلغاء.