Перейти к содержимому

Интеграции

Связь с POS заведения, виджет бронирования на вашем сайте и API для тех, кто делает свою интеграцию.

Что связь с POS делает, а что нет

#

HaiLa связывается с кассовой системой заведения, чтобы брони жили в одном месте. Сегодня есть связь с Poster и связь, построенная для Syrve. Других систем нет.

Что происходитВ какую сторону
Бронь, которую вы приняли в HaiLaПопадает на терминал в заведении
Бронь, сделанная на терминалеПоявляется в HaiLa, как бронь заведения
План зала, столы и местаПриходят из POS в HaiLa, раз в сутки
Бронь, отменённая на терминалеОтменяется и в HaiLa
Бронь, отменённая в HaiLaДо терминала не доходит. Закрываете её вручную

Терминал получает бронь только после того, как вы её приняли

Заявка в ожидании на кассе не видна. Она уходит туда в момент подтверждения. Так задумано: отзеркаленная бронь занимает стол в POS, а заявка, на которую вы ещё не ответили, занимать его не должна. Так что не ждите заявок на терминале, они читаются в приложении HaiLa.

Брони, пришедшие с терминала, в счёт HaiLa не попадают вовсе, ни в одном пакете. Они видны в HaiLa, чтобы план столов был верным, но это не трафик HaiLa.

Гость ничего из этого не видит. Для него бронь выглядит одинаково, есть у заведения POS или нет.

Подключаете Poster к HaiLa

#

С подключённым Poster команда не ведёт два списка броней и ничего не переносит руками с одного экрана на другой.

Из панели связь не настраивается. Раздела POS там нет, кнопки подключения тоже: связь настраиваем мы. Напишите на hello@haila.md, что у вас Poster, мы запросим нужный доступ и всё включим.

Что видит гость

Для гостя не меняется ничего: он бронирует как раньше. Меняется только то, что видит команда, потому что брони начинают появляться в обеих системах.

Важно
  • Пока связь включена, план зала приходит из 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, чтобы они не считались дважды.
Броней с терминала нет в месячном отчёте по счётуТак и задумано: брони из POS в счёт HaiLa не считаются вовсе, ни в одном пакете.

Брони не теряются, а опаздывают

Брони, сделанные на терминале, подтягиваются каждую минуту во время сервиса и реже ночью. Если та, что сделана тридцать секунд назад, ещё не появилась в HaiLa, подождите минуту, прежде чем вносить её руками, иначе она останется у вас дважды.

Если расхождение не похоже ни на одно из перечисленных, напишите на hello@haila.md с названием заведения, датой и номером стола. Связь ведём мы, значит и смотреть в неё нам.

Ставите виджет бронирования на свой сайт

#

Виджет позволяет забронировать, не уходя с вашего сайта, а такая бронь считается собственным каналом: 0 евро в PRO и PRO+; в LITE первые 15 в месяц включены, дальше 0,50 евро.

  1. Откройте Настройки и выберите Виджет.
  2. Останьтесь на вкладке Embed Code. Панель на английском.
  3. Выберите ключ API в поле Select API Key. Если ключа нет, напишите на hello@haila.md, и мы его выпустим.
  4. Если появилась жёлтая рамка с просьбой ввести пароль ключа, вставьте пароль, который получили от нас. Без него в коде вместо пароля останется текст-заполнитель.
  5. Перед копированием прочитайте в коде ID заведения и убедитесь, что он от нужного. Панель не смотрит на то заведение, которое вы открыли.
  6. Нажмите Copy Code и вставьте код в страницу своего сайта, туда, где должна появиться форма.
  7. Проверьте результат на вкладке Preview, кнопками Open Widget Only или Open Mock Restaurant Site.
Что видит гость

Гость, который бронирует из виджета, выбирает дату, время и число человек, оставляет имя и телефон и получает экран, где написано, что бронь зарегистрирована и ожидает подтверждения ресторана, плюс код брони. Сама собой она не подтверждается: к вам она приходит обычной заявкой, в ожидании, и принимаете её вы.

Важно
  • Блокировка не убирает часы из виджета. Они остаются на виду, гость выбирает один из них и только при отправке получает ошибку, причём общую, которая ему ничего не объясняет. Отмечайте Виджет в блокировке, чтобы отказ хотя бы срабатывал, но не ждите, что час исчезнет из списка.
  • В коде лежат данные доступа ключа, включая пароль, потому что виджет авторизуется прямо из браузера посетителя. Используйте код, сгенерированный для вашего заведения, а если нужен другой ключ, попросите его у нас.
  • Панель Виджет смотрит на первое заведение, привязанное к вашему аккаунту, а не на то, которое вы открыли. Когда заведений несколько, код может выйти с чужим ID и чужим ключом, и брони с сайта одного заведения будут падать в другое. Проверяйте ID каждый раз, даже если копировали код уже десять раз.
  • Пароль ключа хранится в зашифрованном виде, поэтому панель показать его не может. Это тот пароль, который мы выдали при выпуске. Потеряли, напишите нам, и мы выдадим другой.
  • Виджет говорит только по-румынски и по-русски. Английского у него нет.
  • Бронь из виджета считается собственным каналом: 0 евро в PRO и PRO+; в LITE первые 15 в месяц включены, дальше 0,50 евро.
  • Вкладка Analytics считает показы и брони виджета. Это его собственный счёт, а не ваш счёт от нас; счёт читается в разделе Счета.

Подгоняете виджет под свой сайт

#

Виджет стоит на вашей странице, значит и подогнать его стоит настолько, насколько получается: язык, на котором он говорит, и фон, светлый или тёмный.

  1. Откройте Настройки, выберите Виджет и перейдите на вкладку Settings.
  2. Выберите Language, румынский или русский.
  3. Выберите Theme, Light или Dark, по фону вашей страницы.
  4. Нажмите Save Settings.
  5. Вернитесь на Embed Code, нажмите Copy Code и замените старый код на сайте новым.
Что видит гость

Гость видит виджет на выбранном вами языке и с выбранным фоном, но только после того, как вы заменили код на сайте. Цвет остаётся оранжевым HaiLa, что бы вы ни выбрали. Сами шаги бронирования остаются прежними.

Важно
  • Последний шаг не обойти. Язык и тема записаны в том коде, который вы копируете, а не подтягиваются виджетом при каждом открытии. Пока на сайте стоит старый код, виджет выглядит как раньше, сколько бы раз вы ни сохраняли Settings.
  • Primary Color не работает вообще. Выбрать можно любой цвет, он сохранится и попадёт в код, но виджет его не читает: кнопки у гостя остаются оранжевыми. Не тратьте время на подбор цвета под свой сайт, а если нужен другой, напишите нам. Язык и тема работают; цвет нет.
  • Две галочки внизу, Show restaurant information и Allow special requests, сохраняются, но никуда не идут. Виджет их не читает. Особые пожелания в форме есть в любом случае.
  • Виджет приносит свой шрифт и со страницы его не берёт, поэтому настройки шрифта у него нет. Если он спорит с вашим сайтом, напишите нам.

Пользуетесь API бронирования

#

Если у вас свой сайт или своё приложение и брони нужны в них, API отдаёт свободные часы и принимает бронь, без виджета.

  1. Откройте Настройки и выберите API.
  2. В блоке Данные доступа видно ID заведения и Client ID. Ключи выпускаем мы: если ключа нет, напишите на hello@haila.md.
  3. Авторизация это HTTP Basic: Client ID вместо имени пользователя, Client Secret вместо пароля.
  4. Под заголовком Эндпоинты стоят четыре адреса, с полями каждого и с готовым примером. Чтобы пример был заполнен, сначала вставьте секрет в поле сверху.
  5. Прочитайте и список ошибок: ответы об ошибке приходят простым текстом, а не JSON.
Что видит гость

Бронь, созданная через API, приходит к вам обычной заявкой, в ожидании, точно так же, как из виджета или из приложения HaiLa. Гость не узнаёт, каким путём она пришла.

Важно
  • Ключи выпускаем только мы. Кнопки, которой вы сделали бы ключ сами, нет, как нет и кнопки замены.
  • Секрет, вставленный на странице, нигде не сохраняется. Примеры заполняются им, только пока вы на экране, а после перезагрузки его спросят снова.
  • Один ключ открывает одно заведение. На два заведения нужно два ключа.
  • Не больше 200 броней в час на одно заведение. Сверх этого приходит ошибка 429.
  • Бронь через API считается собственным каналом, как и из виджета: 0 евро в PRO и PRO+; в LITE первые 15 в месяц включены, дальше 0,50 евро.
  • Часы, которые отдаёт API, учитывают минимальный срок до брони, но не учитывают блокировки. Час из заблокированного периода показывается свободным, а бронь отклоняется при отправке. Закрывая день, помните, что через API он до последнего шага выглядит открытым.