Синхронізація даних гостей між Syrve Loyalty та Syrve (RMS/POS)

Матеріал для бази знань: як працює обмін даними гостей, які є обмеження та як діяти при колізіях/дублікатах.

Коротко: дані гостей можуть створюватися в різних місцях, але в підсумку вони мають відображатися і в базі гостей Syrve (RMS), і на сайті Syrve Loyalty.

Де можна додати гостя

Є кілька основних способів додати гостя до системи:

  1. У десктопному бек-офісі (RMS).
  2. На сайті Syrve Loyalty.
  3. У Syrve POS.
  4. Через інтеграції по API.

Як відбувається синхронізація

Незалежно від способу реєстрації, дані гостя синхронізуються та мають відображатися:

  • у базі гостей Syrve (RMS),
  • на сайті Syrve Loyalty.

Роль POS loyalty server

POS-термінал синхронізується із сайтом лояльності через спеціальний сервіс, який працює на терміналі POS loyalty server. Цей сервер дублює дані про гостей, картки, купони, програми тощо.

Періодичність обміну:

  • Кожні 5 хвилин POS loyalty server синхронізує дані із сайтом Syrve Loyalty.
  • Раз на годину відбувається обмін даними гостей між сайтом Syrve Loyalty та RMS-сервером.

Пошук гостя при додаванні до замовлення

Коли гостя додають до замовлення на касі, система спочатку шукає його на POS loyalty server, і лише якщо там не знайдено — у базі RMS.

Особливості для мереж (chain)

У мережі синхронізація між сайтом Syrve Loyalty та RMS відбувається через референс-точку (reference store).

Якщо дані гостя відредагували на касі не референс-точки (наприклад, додали дату народження), ці зміни потраплять до референс-точки лише після усіх реплікацій:

  • реплікація NON-reference store → SyrveHQ,
  • SyrveHQ → reference store,
  • синхронізація RMS ↔ сайт Syrve Loyalty.

Це може займати приблизно до 1 години.

Обмеження та нюанси обміну

  • Обмін даними між RMS server і сайтом Syrve Loyalty не включає номери карток.
  • Обмін включає лише неанонімних гостей.

Чому “картка не приїхала” в RMS

Якщо гостя створили на сайті Loyalty і прив’язали до нього конкретну картку, то після синхронізації в RMS з’явиться гість з даними профілю, але без деталей картки.

Номери карток обмінюються тільки між POS loyalty server і Syrve POS. Тому, якщо потрібно, щоб картка була видима на сайті Loyalty або в RMS, гостя слід авторизувати карткою на касі (провести картку/ввести номер картки під час операції в POS).

Важливо: не має значення, де первинно додали гостя з номером картки — при пошуку в POS (свайп або ручне введення номера) система знайде гостя: спочатку на POS loyalty server, потім у RMS.

Прив’язка картки до гостя в POS

Якщо гість вже є в системі, але не має картки, її можна прив’язати у Syrve POS:

  1. Відкрийте Plugins → Syrve Loyalty → Link card to phone number.
  2. Прив’яжіть картку до телефону гостя або відредагуйте гостя у списку гостей.

Вирішення колізій даних між Loyalty та RMS

Якщо бачите розбіжності по даних карток/гостей, спочатку визначте, де «правильні» дані — на сайті Loyalty чи на RMS server.

1) Актуальні дані на сайті Syrve Loyalty

  1. Видаліть номери карток гостей у RMS. Якщо гості анонімні — видаліть їх.
  2. Закрийте Syrve POS.
  3. Перемістіть файли бази search.db в інше місце у папках POS.
  4. Запустіть POS і зачекайте близько 5 хвилин.
  5. Гості завантажаться з Loyalty у POS loyalty server. Під час закриття замовлень з авторизацією гостя по картці — коректні гості з іменами/картками будуть оновлені або створені в RMS.

2) Актуальні дані на RMS server

  1. На сайті Syrve Loyalty видаліть гостей (видаляться і гості, і картки).
  2. Відновіть гостей (відновляться лише гості). Картки відновлювати не потрібно як частину цього кроку — це окрема дія на сайті.

Видалення дублікатів у мережі

Якщо на RMS server є кілька записів одного гостя або є проблема випадкового видалення гостей на сайті Loyalty, використовується скрипт:

resto/service/maintenance/cleanDuplicateCustomers.jsp

Як запустити скрипт

  1. Відкрийте веб-версію застосунку Syrve HQ.
  2. Запустіть скрипт resto/service/maintenance/cleanDuplicateCustomers.jsp.
  3. Щоб перед видаленням перевірити знайдені дублікати — увімкніть опцію Show complete information on found duplicates.
  4. Щоб перевіряти дублікати по телефону — увімкніть Ignore customer name, інші опції вимкніть.
  5. Натисніть Submit Query для запуску перевірки.
  6. Щоб видалити дублікати з RMS — увімкніть Save results to DB та також Withdraw consent to the processing of personal data (відкликання згоди на обробку персональних даних для гостей зі списку).
  7. Запустіть скрипт ще раз.

Попередження:

  • Не видаляйте гостей з e-Wallet через скрипт — такі записи потрібно коригувати вручну.
  • Мінімальна версія Syrve для скрипта — 7.7+. На старіших версіях запуск призведе до видалення гостей на сайті Syrve Loyalty.
  • Є відомі поточні помилки запуску скрипта в мережах. Не запускайте cleanDuplicateCustomers.jsp на Syrve HQ, доки ці помилки не усунуті. Для видалення дублікатів у такому разі створіть тікет із посиланням на інструкцію.

Випадкове видалення гостей на сайті Loyalty

Скрипт видалення дублікатів не відновлює гостей, яких раніше вже видалили на сайті Loyalty. Такі гості відновлюються вручну через опцію Restore, а якщо видалили і картки — окремою дією Restore cards.

Дочекайтесь завершення синхронізації між RMS та сайтом Loyalty (у мережі — через reference store) або запустіть вручну:

/service/import/forceCustomersImport.jsp

Після синхронізації видалені гості можуть бути відновлені в RMS — і тоді потрібно знову виконати очищення дублікатів на RMS через:

resto/service/maintance/cleanDuplicateCustomers.jsp