Overview
The Online Booking API connects the booking engine on a hotel’s own website to HMS Hotel Software. Room and rate lists, calendar availability, coupon validation, the payment step and pushing the booking into HMS all go through this API. It is designed for agencies building booking engines and for HMS partners.
Base URL#
All endpoints live under the base URL below, on the /external/… path. Only HTTPS is accepted.
https://test.hms.gen.trFlow at a glance#
POST /external/public/loginPOST /external/online/roomTypePOST …/payment/type/{type}POST …/channel/bookingThe token from login is valid for 7 days and bound to one hotel. The room list returns the sellable rooms and prices for the dates and occupancy the guest searched; once the guest has chosen and the payment type is settled, the booking is written to HMS as a BookingPushRQ. The Booking flow guide walks through every step.
Resources#
| Resource | Endpoints |
|---|---|
| Authentication | POST /external/public/login |
| Rooms and rates | POST /external/online/roomTypeGET /external/room/type/hotel/availability |
| Booking | POST /external/online/channel/booking |
| Payment | GET /external/online/payment/typeGET /external/payment/companyPOST /external/online/payment/type/{paymentType} |
| Coupon | POST /external/online/coupon/search |
| Packages and extras | GET /external/stock/packages |
| Hotel information | GET /external/hotel/{hotelID}/contact/infoGET /external/online/social/mediaGET /external/online/footerGET /external/online/mail/host |
| Lookups | POST /external/countiesGET /external/currenciesGET /external/languages |
General rules#
- Every request except login carries an
Authorization: Bearer <token>header. - Most
POSTendpoints take form fields (application/x-www-form-urlencodedormultipart/form-data). The booking push and payment start expect JSON bodies. Each endpoint’s reference page says which. - Responses are JSON with a
successflag. Business-rule errors also come back as HTTP200; judge the outcome bysuccess, not by the status code. - Dates are
YYYY-MM-DD, amounts are two-decimal strings ("965.00"), and the currency comes from the hotel’s online channel settings. - The
hotelIDparameter must match the hotel the token is bound to.
Version#
These docs cover HMS API V2. New fields and endpoints may be added without notice; write your client to ignore unknown fields. Changes are listed in the changelog.