Hostme | Информация о ресторане

Информация о ресторане

Обновлено: 2026-06-25 00:15 MSK

Эндпоинты для чтения профиля ресторана, рабочих часов, зон/залов и настроек онлайн-бронирования. Партнёру они нужны, чтобы синхронизировать карточку заведения, понять часовой пояс и расписание, а также узнать ограничения, влияющие на создание броней (минимальный размер компании, доступные зоны, окно бронирования и т.п.).

Все запросы — под Bearer-токеном (см. Аутентификация). Базовый путь: /api/core/admin/restaurants/{restaurantId}.

МетодПутьНазначение
GET/restaurantsСписок доступных ресторанов
GET/restaurants/{restaurantId}Профиль ресторана
GET/restaurants/{restaurantId}/settingsБазовые настройки (часы, зоны, модули)
GET/restaurants/{restaurantId}/configРасширенная конфигурация (бронь, лист ожидания)

Тег Restaurant содержит 38 операций, большинство из которых — внутренние/админские (онбординг, аудит, поиск, создание/удаление ресторана). Ниже описаны те, что полезны партнёрам для чтения. Полный список — в Swagger UI.


GET /restaurants — список ресторанов

Возвращает массив RestaurantContract — все рестораны, доступные текущему токену. Удобно для первичной синхронизации: получить id каждого заведения, часовой пояс и адрес.

curl https://api.hostmeapp.com/api/core/admin/restaurants \
  -H "Authorization: Bearer $TOKEN"

Чтобы узнать restaurantId и partnerId, привязанные к вашему доступу, удобнее использовать GET /api/core/admin/account/me.


GET /restaurants/{restaurantId} — профиль ресторана

Возвращает объект RestaurantContract с публичной информацией о заведении.

ПараметрГдеТипОписание
restaurantId *pathintegerИдентификатор ресторана

Ключевые поля ответа (RestaurantContract)

ПолеТипОписание
idintegerИдентификатор ресторана
namestringНазвание
addressstringАдрес (полная строка)
lat / lonnumberКоординаты
phonestringТелефон
timeZonestringЧасовой пояс (важно для времени броней)
city, state, street, zip, country, countryShortstringРазобранный адрес
neighborhoodsarrayРайоны
imageUrlstringЛоготип/изображение
websiteUrl, facebookId, twitterAccountstringСайт и соцсети
communicationChannelstringКанал связи с гостями
smsDisabledbooleanSMS отключены
isVerifiedbooleanЗаведение верифицировано
isPayAccountbooleanПлатный аккаунт
subscriptionTierstringТариф подписки
stripeAccountIdstringПривязанный Stripe-аккаунт
typestringТип заведения
parentRestaurantIdinteger?Родительский ресторан (для сетей)
settingsobjectВложенные настройки (RestaurantSettingsContract, см. ниже)
curl https://api.hostmeapp.com/api/core/admin/restaurants/123 \
  -H "Authorization: Bearer $TOKEN"

GET /restaurants/{restaurantId}/settings — базовые настройки

Возвращает RestaurantSettingsContract — рабочие часы, зоны/залы, видимость модулей и общие флаги. Этот же объект приходит вложенным в профиль (RestaurantContract.settings).

ПараметрГдеТип
restaurantId *pathinteger

Поля верхнего уровня (RestaurantSettingsContract)

ПолеТипОписание
openingHoursarrayРабочие часы по дням недели (WeekDayOpenHoursContract, см. ниже)
openingHoursTemplatesarrayШаблоны интервалов (HourlyIntervalContract: name, open, close)
specialPeriodsarrayОсобые периоды/праздники (SpecialPeriodContract)
enableHoursTemplatesbooleanВключены ли шаблоны часов
areasarrayЗоны/залы ресторана (названия)
tableSizesarrayДопустимые размеры столов
time24HourFormatboolean24-часовой формат времени
languagestringЯзык интерфейса
moduleVisibilityobjectВидимость модулей (ModulesVisibility, см. ниже)
skipGroupSizeStepintegerПропуск шага выбора размера компании
skipBookWizardbooleanПропуск мастера бронирования
deliveryModebooleanРежим доставки
autocloseSeatedbooleanАвтозакрытие посаженных гостей
disableGuestbookbooleanОтключение гостевой книги
notifyGuestsOnBlacklistAdditionbooleanУведомлять гостей при добавлении в ЧС

Рабочие часы (WeekDayOpenHoursContract)

ПолеТипОписание
weekDayintegerДень недели
timearrayИнтервалы дня (HourlyIntervalContract)

Каждый интервал HourlyIntervalContract: name (название интервала, напр. «Обед»), open и close (время начала и конца, формат date-span).

Зоны и видимость модулей

  • areas — массив строк с названиями зон/залов.
  • moduleVisibility (ModulesVisibility) — какие модули скрыты: tablesHidden, reserveHidden, waitlistHidden, timelineHidden, serversHidden, guestBookHidden.
curl https://api.hostmeapp.com/api/core/admin/restaurants/123/settings \
  -H "Authorization: Bearer $TOKEN"

Изменение настроек (PUT /settings) — административная операция. Партнёрам рекомендуется читать настройки, а не перезаписывать их, чтобы не затереть конфигурацию заведения.


GET /restaurants/{restaurantId}/config — расширенная конфигурация

Возвращает RestaurantConfigurationContract — кроме settings сюда входят блоки бронирования, листа ожидания и платежей. Партнёру это даёт ограничения, по которым работает онлайн-бронь.

ПараметрГдеТип
restaurantId *pathinteger

Настройки онлайн-бронирования (reservationSettings)

Наиболее полезные для партнёра поля из ReservationSettingsContract:

ПолеТипОписание
isEnabledbooleanОнлайн-бронирование включено
maxAdvanceBookingDaysintegerНа сколько дней вперёд можно бронировать
bookingMinimumNoticeMinutesintegerМинимальный запас по времени до брони
bookingCutOffTimedate-spanВремя отсечки приёма броней
minPartySize / maxPartySizeintegerМин./макс. размер компании
minGuestsPerReservation / maxGuestsPerReservationinteger?Ограничения по гостям на бронь
maxBookingsPerSlot / hardMaxBookingsPerSlotinteger?Лимит броней на слот
defaultMaxCoversPerSlotinteger?Лимит «крышек» (covers) на слот
reservationHoursarrayЧасы приёма броней по дням (WeekDayOpenHoursContract)
reservationHoursStepintegerШаг слотов, мин
approvalRequiredbooleanНужно подтверждение брони
approvalSizeintegerРазмер компании, с которого требуется подтверждение
allowGuestSelectTablesbooleanГость может выбирать стол
availableOnlineAreasbooleanВыбор зоны доступен онлайн
currencystringВалюта (для депозитов/предоплат)
cancellationOptionsarrayПричины отмены (CancellationOptionContract: name, note, isDefault)
additionalInfoobjectДоступные пожелания/признаки (AdditionalInfoContract: highChair, vip, allergy, vegetarian и др.)
noShowFeeEnabledbooleanВключена плата за неявку
creditCardChargeEnabledbooleanСписание с карты включено
onlinePaymentMethodobjectСпособы оплаты (PaymentMethodContract: card/cash/invoice для брони и доставки)

Объект reservationSettings очень обширен (депозиты, слот-исключения, состояния столов, онлайн-заказы, UI-кастомизация). Здесь перечислены поля, важные для интеграции броней. Полную структуру смотрите в Swagger UI.

Прочие блоки конфигурации

БлокЧто содержит
waitingSettingsНастройки листа ожидания: enabled, autoCall, maximumHoldTime, сообщения о позиции/статусе
paymentSettingsЛимиты SMS, тарифные планы (plans)
guestTagsТеги гостей (id, name, color)
curl https://api.hostmeapp.com/api/core/admin/restaurants/123/config \
  -H "Authorization: Bearer $TOKEN"

Прочие эндпоинты тега Restaurant

Остальные операции — преимущественно административные и в типичной партнёрской интеграции не требуются. Краткий обзор:

НазначениеЭндпоинт
Аудит изменений брониGET /restaurants/{restaurantId}/bookings/{bookingId}
Журнал изменений ресторанаGET /restaurants/{restaurantId}/audit
Статус онбордингаGET /restaurants/{restaurantId}/onboarding/status
Компания / связанные заведенияGET /restaurants/{restaurantId}/company
Поиск по ресторануGET /restaurants/{restaurantId}/search
Создание ресторанаPOST /restaurants (multipart/form-data)
Обновление профиляPUT /restaurants/{restaurantId}
УдалениеDELETE /restaurants/{restaurantId}

Эти эндпоинты документированы в Swagger UI. Для создания заведения через партнёрский онбординг есть отдельный поток VendorSignup — см. Регистрация приложения.


Возможные ошибки — ProblemDetails, коды 400/401/403/404. Общие правила см. в Соглашениях и разделе Ошибки.