Отримання рахунку за номером стола
Для отримання рахунку, Expirenza надсилатиме наступне повідомлення:
Ідентифікатор ресторану
Підпис запиту
Код помилки, якщо операція не успішна
Текст помилки, якщо операція не успішна
Ідентифікатор запиту в системі Shake To Pay
Look for payload example: /callback/getBillСтан. Enum: FAIL | SUCCESS
Підхід.Enum: TABLE_NOT_FOUND | ORDER_NOT_FOUND
TABLE_NOT_FOUND|ORDER_NOT_FOUNDНомер столу
Запит прийнято та оброблено успішно
No content
Запит прийнято та оброблено успішно
No content
Таблиця можливих статусів.
❗❗ Для стану FAIL наявність суб-статусу є обов'язковим, суб-статус також не має бути = null.
Це потрібно для правильної комунікації із клієнтами ресторану.
Приклад: Замовлення не було знайдено, але не передано суб-статус - ORDER_NOT_FOUND. Клієнт бачить на боці Expirenza невідому помилку, замість помилки "Рахунок на столику не знайдено".
SUCCESS
-
Рахунок знайдено
FAIL
TABLE_NOT_FOUND
Стіл переданий у пошук не існує в ресторані
FAIL
ORDER_NOT_FOUND
Рахунок на столику не знайдено


Застосування знижки
Застосувати знижку для замовлення можна використовуючи об'єкт discounts що знаходиться в структурі getBill.
"discounts":{"list":[{"id": "","name":"","sum":0}}
Знижки через discounts працюють тільки на відображення у чеку, це означає що знижку інтеграція має вираховувати самостійно на своєму боці та передавати у поля sum та totalSum суми страв вже з урахуванням знижки.
❗Сума кожної страви має враховувати знижки застосовані до чеку.
❗Сума знижки не має бути у від'ємних значеннях ( Приклад як не треба: sum:"-350")
Приклад використання знижки
До страви яка коштує 249 грн застосовується скидка 40 грн. Страва:
Знижка 40 грн:
При застосуванні знижки до страви(страв), потрібно змінювати sum цієї страви(страв) і вираховувати totalSum відповідно до застосованих знижок. Тобто сума після застосування знижки має виглядати так:
Last updated