Интеграция поставщика отелей
Интеграция Hotelbeds API: контент, маппинг и живое бронирование
Интеграция Hotelbeds API состоит из двух задач, а не одной. Сначала вы загружаете и храните контент отелей, затем бронируете по актуальным тарифам. PHPTRAVELS выполняет обе задачи в своём модуле отелей, с вашим собственным контрактом и ключами Hotelbeds.
- Синхронизация Content API
- Процесс Booking API
- Тарифы BOOKABLE и RECHECK
- Маппинг отелей
Как связаны API Hotelbeds
Интеграция Hotelbeds API: контент с одной стороны, бронирование с другой
Hotelbeds делит свои API для отелей на два. Content API возвращает статические данные: описания, изображения, удобства, типы питания и номера. Booking API возвращает актуальное наличие мест и цены и принимает бронирование. Выберите шаг в середине, чтобы увидеть, какие вызовы он использует.
Content API
Статические данные, хранятся у вас- Список отелей
hotels · from=1&to=1000Все отели вашего портфеля, страницами до 1 000 отелей за запрос. - Удобства, питание и номера
facilities · boards · roomsСправочники кодов, которые превращают коды Booking API в понятные гостям слова. - Изображения
photos.hotelbeds.com/giata/Частичные пути к изображениям, которые соединяются с фотохостом Hotelbeds в нужном размере. - Ежедневные изменения
lastUpdateTimeПосле первой загрузки один запрос в день с lastUpdateTime возвращает только изменения.
Порядок запросов
Booking API
Живые данные, вызов на каждого гостя- Наличие мест
POST /hotelsНомера, питание, цены и штрафы за отмену для ваших кодов отелей, дат и размещения. - Проверка тарифа
POST /checkratesОбновлённая цена и условия для тарифа с отметкой RECHECK, а также варианты апселла. - Бронирование
POST /bookingsПодтверждает выбранный rateKey с именами заказчика и гостей и возвращает номер брони. - Отмена
DELETE /bookings · simulateМоделирует отмену, чтобы показать штраф, или отменяет бронирование по-настоящему.
Большинство неудачных проектов с Hotelbeds путают эти две стороны. Они вызывают Content API во время поиска гостя, что медленно и, как предупреждает Hotelbeds, может привести к блокировке учётных данных. Или ищут в реальном времени без сохранённых кодов и не могут показать изображения и удобства. PHPTRAVELS разделяет их: контент синхронизируется в фоне, а пока гость ждёт, выполняются только вызовы наличия, проверки тарифа и бронирования.
Если вас интересует сам поставщик, его продукты и открытие аккаунта, прочитайте профиль поставщика Hotelbeds. Эта страница посвящена технической интеграции.
Типы тарифов
Четыре поля тарифа, которые меняют оформление заказа
Каждый тариф Hotelbeds содержит несколько атрибутов. Они определяют, можно ли забронировать его сразу, какую цену разрешено показывать и кто получает деньги. Ваш движок должен читать их в каждом результате.
| Поле | Первый случай | Второй случай | Что делает PHPTRAVELS |
|---|---|---|---|
Bookable или recheckrateType | BOOKABLEТариф актуален. Его можно забронировать без дополнительного вызова. | RECHECKСначала нужно вызвать проверку тарифа, чтобы получить обновлённую цену и условия. | Запускает проверку тарифа перед оплатой для тарифов RECHECK и показывает гостю любые изменения. |
Нетто или комиссионныйnet · sellingRate | netМодель нетто: цены нетто, вы добавляете собственную наценку. | sellingRateКомиссионная модель: комиссия уже включена в sellingRate, и эта цена окончательная. | Применяет ваши правила наценки к нетто-тарифам и продаёт комиссионные тарифы по sellingRate. |
Фиксированная цена продажиhotelMandatory | truehotelMandatory равно true: продавать нужно по sellingRate. | false · nullFalse или пусто для нетто-тарифа: можно установить свою наценку. | Фиксирует показанную цену на sellingRate, если этого требует отель, независимо от правила наценки. |
Когда платит гостьpaymentType | AT_WEBОплата списывается при бронировании, через ваш сайт. | AT_HOTELГость платит напрямую отелю. | Помечает тариф как оплату сейчас или оплату в отеле и настраивает оформление заказа соответственно. |
Модель ценообразования зависит от вашего контракта с Hotelbeds. Как указывает Hotelbeds, модель для вашего бизнеса рекомендует ваш менеджер по продажам.
Маппинг отелей
Сопоставьте отели Hotelbeds с отелями, которые вы уже продаёте
Если у вас есть собственные контракты или второй поставщик, один и тот же отель придёт под разными кодами. Маппинг связывает их, и гость видит один отель с лучшим тарифом, а не три копии.
Как работает маппинг в PHPTRAVELS
После каждой синхронизации контента PHPTRAVELS сравнивает отели Hotelbeds с вашим списком по названию, адресу, городу и координатам. Близкие совпадения связываются автоматически. Сомнительные ждут подтверждения сотрудником, а отели без совпадения можно импортировать как новые объекты или пропустить.
Сопоставленные отели имеют общую страницу, галерею и рейтинг отзывов в Отели, а каждый поставщик сохраняет свои тарифы и правила. Тот же маппинг используют ваш публичный сайт и ваш B2B тревел-портал.
- Harbour View HotelЛиссабон48291397%Сопоставлен
- Old Town SuitesПрага11735492%Сопоставлен
- Palm Court ResortДубай66201874%Проверить
- Casa Azul BoutiqueСевилья–0%Нет совпадения
- Northern Lights LodgeТромсё90522766%Проверить
- Riverside ApartmentsБудапешт33076198%Сопоставлен
Пример экрана с вымышленными отелями и кодами.
Hotelbeds XML или JSON
Каждый запрос подписан, а тестирование начинается с малого
Многие до сих пор ищут Hotelbeds XML, но текущая документация показывает запросы в JSON. В любом случае это тот же набор операций, и каждый запрос несёт два заголовка.
1# X-Signature = SHA256(api key + secret + unix time in seconds) 2TS=$(date +%s) 3SIG=$(printf "%s%s%s" "$API_KEY" "$SECRET" "$TS" | sha256sum | cut -d" " -f1) 4 5curl -X POST https://api.test.hotelbeds.com/hotel-api/1.0/hotels \ 6 -H "Api-key: $API_KEY" \ 7 -H "X-Signature: $SIG" \ 8 -H "Accept: application/json" \ 9 -H "Content-Type: application/json" \10 -d '{11 "stay": { "checkIn": "2026-11-14", "checkOut": "2026-11-17" },12 "occupancies": [{ "rooms": 1, "adults": 2, "children": 0 }],13 "hotels": { "hotel": [482913, 117354] }14 }'1516# hotel codes come from your stored Content API data, never a live content call
- Два заголовка
- Api-key с вашим ключом и X-Signature: хеш SHA256 из вашего ключа, секрета и текущего времени в секундах.
- Тестовый хост
- Как указывает Hotelbeds, тестовые серверы соответствуют рабочим, но бронирования там не настоящие, а карты не списываются.
- 50 запросов в день
- Новые ключи открывают среду оценки с квотой 50 запросов в день. Больше даёт сертификация.
- Без живых вызовов контента
- Hotelbeds предупреждает, что вызов Content API в реальном времени может привести к блокировке учётных данных. PHPTRAVELS так никогда не делает.
Планировщик синхронизации контента
Сколько вызовов Content API нужно для вашего списка отелей
Как указывает Hotelbeds, список отелей приходит страницами до 1 000 отелей, а после первой загрузки ежедневный запрос с lastUpdateTime возвращает только изменения. Введите свои данные, чтобы спланировать синхронизацию.
- Запросов для первой полной загрузки
- 20
- Запросов на ежедневное обновление
- 3
- Дней на одну загрузку при квоте оценки
- 1
Только оценка, для списка отелей. Справочники кодов и изображения добавляют ещё несколько вызовов. При квоте оценки 50 запросов в день сначала протестируйте одно направление.
Чек-лист запуска
Что подготовить перед переходом в рабочий режим
Hotelbeds переводит вас из оценки в сертификацию, а затем к рабочим ключам через свою панель. Вот пункты, которые интеграция Hotelbeds API должна закрыть в первую очередь, и как их закрывает PHPTRAVELS.
- Ключи оценки добавлены в админ-панели, выбран тестовый хост
- Content API синхронизирован с вашей базой, ежедневное обновление запланировано
- Отели сопоставлены с вашим списком, сомнительные совпадения проверены
- Тарифы RECHECK проходят проверку тарифа до оплаты
- sellingRate соблюдается, когда hotelMandatory равно true
- Комментарии к тарифу и штрафы за отмену показаны до оплаты
- Ваучер содержит номер брони Hotelbeds и комментарии к тарифу
- Отмена сначала моделируется, затем подтверждается, штраф фиксируется
Этапы сертификации и доступ к рабочей среде Hotelbeds определяет для вашего контракта и рынка.
Стоимость
Одна лицензия на движок, свой контракт с Hotelbeds
PHPTRAVELS продаётся как разовая лицензия с исходным кодом. Hotelbeds оформляется отдельным соглашением между вами и Hotelbeds, поэтому нетто-тарифы и ключи остаются вашими.
Hotelbeds является одним из нескольких источников отелей, которые можно подключить параллельно. Посмотрите, как он сочетается с RateHawk, в обзоре туристических API или сравните поставщиков в разделе список XML-поставщиков.
FAQ
Вопросы об интеграции Hotelbeds API
О чём спрашивают разработчики и туристические компании перед подключением Hotelbeds.
Отдел продажИз двух частей. Фоновая синхронизация с Content API, которая сохраняет отели, изображения, удобства, питание и номера в вашей базе, и живой процесс с Booking API для наличия мест, проверки тарифа, бронирования и отмены. PHPTRAVELS выполняет обе части в своём модуле отелей.
Его до сих пор называют Hotelbeds XML, но текущая документация Hotelbeds показывает запросы и ответы в JSON. Операции в любом случае одни и те же, а формат PHPTRAVELS обрабатывает за вас.
Тариф BOOKABLE уже актуален, и его можно забронировать сразу. Для тарифа RECHECK сначала нужен вызов проверки тарифа, который возвращает текущую цену и условия. PHPTRAVELS делает этот вызов перед оплатой.
Это медленно, и Hotelbeds предупреждает, что использование Content API в реальном времени может привести к блокировке учётных данных. Контент нужно загружать страницами, хранить и обновлять раз в день с lastUpdateTime. Именно так работает PHPTRAVELS.
Да. Вы регистрируетесь в Hotelbeds, подписываете контракт и получаете собственные API-ключ и секрет. Новые ключи работают в среде оценки с лимитом 50 запросов в день, пока вы не пройдёте сертификацию.
Да. Маппинг отелей связывает один и тот же объект из разных источников, и гости видят один отель с лучшим доступным тарифом, а каждый источник сохраняет свою наценку и правила.
Тарифы PHPTRAVELS начинаются от за разовую лицензию с исходным кодом. Контракт с Hotelbeds отдельный и заключается напрямую с Hotelbeds. Посмотрите страницу цен или запросите предложение у отдела продаж.
Узнайте больше
Ещё о платформе
- API отелейAPI бэдбанков, OTA, GDS и прямых отелей: разбор
- Профиль поставщика HotelbedsКто такой Hotelbeds и как подключить его к PHPTRAVELS
- Интеграция с BedsonlineОтели и агентские тарифы Bedsonline в вашем движке
- Модуль бронирования отеляПрямые бронирования на сайте вашего отеля
- ОтелиБедбанки и прямые контракты
- Интеграция API RateHawkОтели RateHawk в вашей системе бронирования, готовый коннектор
