Интеграции
Связь с POS заведения, виджет бронирования на вашем сайте и API для тех, кто делает свою интеграцию.
Что связь с POS делает, а что нет
#HaiLa связывается с кассовой системой заведения, чтобы брони жили в одном месте. Сегодня есть связь с Poster и связь, построенная для Syrve. Других систем нет.
| Что происходит | В какую сторону |
|---|---|
| Бронь, которую вы приняли в HaiLa | Попадает на терминал в заведении |
| Бронь, сделанная на терминале | Появляется в HaiLa, как бронь заведения |
| План зала, столы и места | Приходят из POS в HaiLa, раз в сутки |
| Бронь, отменённая на терминале | Отменяется и в HaiLa |
| Бронь, отменённая в HaiLa | До терминала не доходит. Закрываете её вручную |
Терминал получает бронь только после того, как вы её приняли
Заявка в ожидании на кассе не видна. Она уходит туда в момент подтверждения. Так задумано: отзеркаленная бронь занимает стол в POS, а заявка, на которую вы ещё не ответили, занимать его не должна. Так что не ждите заявок на терминале, они читаются в приложении HaiLa.
Отмены из HaiLa до терминала не доходят
У Poster нет способа, которым мы могли бы отменить бронь у него. Когда бронь отменяется в HaiLa, HaiLa показывает её отменённой, а терминал остаётся с ней. Кто-то из команды должен закрыть её и там, иначе стол так и простоит занятым весь вечер.
Брони, пришедшие с терминала, тарифицируются по тарифу API, 0,50 евро плюс НДС. Бронями команды они не считаются.
Гость ничего из этого не видит. Для него бронь выглядит одинаково, есть у заведения POS или нет.
Подключаете Poster к HaiLa
#С подключённым Poster команда не ведёт два списка броней и ничего не переносит руками с одного экрана на другой.
Из панели связь не настраивается. Раздела POS там нет, кнопки подключения тоже: связь настраиваем мы. Напишите на hello@haila.md, что у вас Poster, мы запросим нужный доступ и всё включим.
Из приложения Lite тоже нет. Напишите на hello@haila.md, и мы настроим всё со своей стороны.
Из приложения Pro тоже нет. Напишите на hello@haila.md, и мы настроим. Так же делается и отключение.
Для гостя не меняется ничего: он бронирует как раньше. Меняется только то, что видит команда, потому что брони начинают появляться в обеих системах.
- Пока связь включена, план зала приходит из Poster. Столы, которые вы создали в HaiLa до подключения, при первой синхронизации выводятся из работы, чтобы одни и те же места не считались дважды. Их не удаляют, но и сами они не возвращаются: если связь когда-нибудь отключат, попросите нас вернуть столы в работу, иначе они так и останутся в стороне.
- Брони синхронизируются каждую минуту во время сервиса и реже ночью. План зала подтягивается раз в сутки, в половине пятого утра.
- Нигде в приложении не видно, включена связь или нет. Ни один экран этого не показывает. Если не уверены, спросите нас.
- Отключение тоже запрашивается у нас. Кнопки отключения нет нигде.
Залы из Poster становятся этажами в HaiLa
#Сопоставлять между двумя системами нечего. Нет ни экрана соответствий, ни списка пар, ни шага подтверждения: HaiLa читает залы и столы из Poster и делает их своими.
- Зал в Poster
- Становится этажом в HaiLa, с тем же названием. У каждого зала свой этаж, потому что координаты столов считаются внутри зала.
- Стол в Poster
- Становится столом в HaiLa, с тем же номером, той же вместимостью, той же формой и примерно на том же месте на схеме.
- Зона стола
- Угадывается по названию зала. Зал, название которого похоже на террасу, заходит как терраса, остальные как зал внутри.
- Стол, удалённый в Poster
- Выводится из работы и в HaiLa, при следующей загрузке плана.
Названия меняются в Poster, а не в HaiLa
Нужно другое название этажа или другой номер стола, меняйте у себя в Poster. При следующей синхронизации, на следующее утро, оно придёт сюда. Изменённое в HaiLa рискует вернуться к тому, что записано в Poster.
Столы, созданные вами в HaiLa, выводятся из работы
Пока связь включена, планом владеет POS. Любой активный стол, который пришёл не от него, деактивируется, чтобы одни и те же места не считались дважды при расчёте доступности. Ничего не удаляется, стол только выводится из работы. Но и сам он не возвращается: отключение связи ничего не реактивирует, так что просите вернуть столы вместе с ним.
До гостя ничего из этого не доходит. Он видит свободные часы, а не столы, не этажи и не то, откуда они взялись.
Syrve, и почему третьей системы нет
#Связь с Syrve написана и готова к запуску, но ещё ни в одном заведении не работала. Тот, кто включит её первым, делает это как пилот, вместе с нами, потому что первое настоящее подключение это и первая настоящая проверка.
Работает она по той же схеме, что и Poster: ваши подтверждённые брони уходят в систему, брони, сделанные там, приходят в HaiLa, а план зала идёт оттуда сюда.
Больше ничего нет
HaiLa связывается с Poster и с Syrve. Третьей системы нет, общего коннектора нет, и нет формы, через которую можно было бы его заказать. Если у вас другой POS и нужна связь, напишите на hello@haila.md: это разговор, а не заявка, которую отправляют с экрана.
Как и с Poster, включаем и выключаем мы. Syrve тоже не подключается ни из панели, ни из приложений.
Когда POS и HaiLa расходятся
#У большинства расхождений одно объяснение: что-то идёт только в одну сторону. Проверять стоит в порядке ниже, потому что первый случай самый частый.
| Что вы видите | Почему |
|---|---|
| На терминале стол занят, а в HaiLa бронь отменена | Отмены из HaiLa до POS не доходят. Закройте бронь и на терминале. |
| Заявка видна в HaiLa, но не на кассе | Заявки в ожидании не зеркалятся. На терминал она уйдёт после того, как вы её примете. |
| Стол, перемещённый или переименованный в HaiLa, вернулся как был | План приходит из POS каждое утро и записывается поверх. Меняйте в POS. |
| Стол, который вы создали сами, пропал из расчёта | Связь выводит из работы столы, пришедшие не из POS, чтобы они не считались дважды. |
| В счёте броней API больше, чем прошло через виджет | Брони, пришедшие с терминала, идут по тому же тарифу API. |
Брони не теряются, а опаздывают
Брони, сделанные на терминале, подтягиваются каждую минуту во время сервиса и реже ночью. Если та, что сделана тридцать секунд назад, ещё не появилась в HaiLa, подождите минуту, прежде чем вносить её руками, иначе она останется у вас дважды.
Если расхождение не похоже ни на одно из перечисленных, напишите на hello@haila.md с названием заведения, датой и номером стола. Связь ведём мы, значит и смотреть в неё нам.
Ставите виджет бронирования на свой сайт
#Виджет позволяет забронировать, не уходя с вашего сайта, а такая бронь стоит вдвое дешевле, чем пришедшая через HaiLa.
- Откройте Настройки и выберите Виджет.
- Останьтесь на вкладке Embed Code. Панель на английском.
- Выберите ключ API в поле Select API Key. Если ключа нет, напишите на hello@haila.md, и мы его выпустим.
- Если появилась жёлтая рамка с просьбой ввести пароль ключа, вставьте пароль, который получили от нас. Без него в коде вместо пароля останется текст-заполнитель.
- Перед копированием прочитайте в коде ID заведения и убедитесь, что он от нужного. Панель не смотрит на то заведение, которое вы открыли.
- Нажмите Copy Code и вставьте код в страницу своего сайта, туда, где должна появиться форма.
- Проверьте результат на вкладке Preview, кнопками Open Widget Only или Open Mock Restaurant Site.
В приложениях на телефоне виджета нет. Код берётся в панели, на сайте, в Настройках, раздел Виджет.
В приложении Pro виджета тоже нет. Откройте панель на сайте, Настройки, раздел Виджет.
Гость, который бронирует из виджета, выбирает дату, время и число человек, оставляет имя и телефон и получает экран, где написано, что бронь зарегистрирована и ожидает подтверждения ресторана, плюс код брони. Сама собой она не подтверждается: к вам она приходит обычной заявкой, в ожидании, и принимаете её вы.
- Блокировка не убирает часы из виджета. Они остаются на виду, гость выбирает один из них и только при отправке получает ошибку, причём общую, которая ему ничего не объясняет. Отмечайте Виджет в блокировке, чтобы отказ хотя бы срабатывал, но не ждите, что час исчезнет из списка.
- В коде лежат данные доступа ключа, включая пароль, потому что виджет авторизуется прямо из браузера посетителя. Используйте код, сгенерированный для вашего заведения, а если нужен другой ключ, попросите его у нас.
- Панель Виджет смотрит на первое заведение, привязанное к вашему аккаунту, а не на то, которое вы открыли. Когда заведений несколько, код может выйти с чужим ID и чужим ключом, и брони с сайта одного заведения будут падать в другое. Проверяйте ID каждый раз, даже если копировали код уже десять раз.
- Пароль ключа хранится в зашифрованном виде, поэтому панель показать его не может. Это тот пароль, который мы выдали при выпуске. Потеряли, напишите нам, и мы выдадим другой.
- Виджет говорит только по-румынски и по-русски. Английского у него нет.
- Бронь из виджета стоит 0,50 евро плюс НДС, вдвое меньше, чем пришедшая через HaiLa.
- Вкладка Analytics считает показы и брони виджета. Это его собственный счёт, а не ваш счёт от нас; счёт читается в разделе Счета.
Подгоняете виджет под свой сайт
#Виджет стоит на вашей странице, значит и подогнать его стоит настолько, насколько получается: язык, на котором он говорит, и фон, светлый или тёмный.
- Откройте Настройки, выберите Виджет и перейдите на вкладку Settings.
- Выберите Language, румынский или русский.
- Выберите Theme, Light или Dark, по фону вашей страницы.
- Нажмите Save Settings.
- Вернитесь на Embed Code, нажмите Copy Code и замените старый код на сайте новым.
Настройки виджета есть только в панели, в разделе Настройки, Виджет. Из приложений до них не добраться.
Из приложения Pro тоже нет. Откройте панель на сайте, Настройки, Виджет.
Гость видит виджет на выбранном вами языке и с выбранным фоном, но только после того, как вы заменили код на сайте. Цвет остаётся оранжевым HaiLa, что бы вы ни выбрали. Сами шаги бронирования остаются прежними.
- Последний шаг не обойти. Язык и тема записаны в том коде, который вы копируете, а не подтягиваются виджетом при каждом открытии. Пока на сайте стоит старый код, виджет выглядит как раньше, сколько бы раз вы ни сохраняли Settings.
- Primary Color не работает вообще. Выбрать можно любой цвет, он сохранится и попадёт в код, но виджет его не читает: кнопки у гостя остаются оранжевыми. Не тратьте время на подбор цвета под свой сайт, а если нужен другой, напишите нам. Язык и тема работают; цвет нет.
- Две галочки внизу, Show restaurant information и Allow special requests, сохраняются, но никуда не идут. Виджет их не читает. Особые пожелания в форме есть в любом случае.
- Виджет приносит свой шрифт и со страницы его не берёт, поэтому настройки шрифта у него нет. Если он спорит с вашим сайтом, напишите нам.
Пользуетесь API бронирования
#Если у вас свой сайт или своё приложение и брони нужны в них, API отдаёт свободные часы и принимает бронь, без виджета.
- Откройте Настройки и выберите API.
- В блоке Данные доступа видно ID заведения и Client ID. Ключи выпускаем мы: если ключа нет, напишите на hello@haila.md.
- Авторизация это HTTP Basic: Client ID вместо имени пользователя, Client Secret вместо пароля.
- Под заголовком Эндпоинты стоят четыре адреса, с полями каждого и с готовым примером. Чтобы пример был заполнен, сначала вставьте секрет в поле сверху.
- Прочитайте и список ошибок: ответы об ошибке приходят простым текстом, а не JSON.
Документация и данные доступа есть только в панели, в разделе Настройки, API. Из приложений до них не добраться.
Из приложения Pro тоже нет. Откройте панель на сайте, Настройки, API.
Бронь, созданная через API, приходит к вам обычной заявкой, в ожидании, точно так же, как из виджета или из приложения HaiLa. Гость не узнаёт, каким путём она пришла.
- Ключи выпускаем только мы. Кнопки, которой вы сделали бы ключ сами, нет, как нет и кнопки замены.
- Секрет, вставленный на странице, нигде не сохраняется. Примеры заполняются им, только пока вы на экране, а после перезагрузки его спросят снова.
- Один ключ открывает одно заведение. На два заведения нужно два ключа.
- Не больше 200 броней в час на одно заведение. Сверх этого приходит ошибка 429.
- Бронь через API стоит 0,50 евро плюс НДС, как и из виджета.
- Часы, которые отдаёт API, учитывают минимальный срок до брони, но не учитывают блокировки. Час из заблокированного периода показывается свободным, а бронь отклоняется при отправке. Закрывая день, помните, что через API он до последнего шага выглядит открытым.