ממשק המלונות
חפשו בין 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) מבצע את הביטול.