Розділення рахунку (Split Bill)
Для розділення рахунку необхідно відокремити окремий рахунок від оригінального замовлення з блюдами яки обрав гість для оплати.
Процес розділення рахунку
Для індикації того що конкретний рахунок можна розділити, при передачі /callback/getBill параметр "splitAvailable
" має містити значення true
.
Для коректної роботи сервісу при передачі /callback/getBill також має бути вказаний параметр "positionId": "string"
При розділенні рахунку, Expirenza надсилатиме наступне повідомлення:
При створенні нового рахунку необхідно:
Перенести потрібні позиції
Скопіювати знижки (за наявності) в створене замовлення
Скопіювати деталі оригінального замовлення:
Номер столу
Офіціант
Тип замовлення
У відповідь в коллбек ми очікуємо 2 рахунки (orders): 1) "Parent" - нова версія рахунку після відокремлення страв 2) Дочірній об'єкт - те що обрав юзер при розділенні рахунку.
Відповідь обробки операції необхідно надіслати в наступному вигляді, відповідь аналогічна getBill:
restoId
Код помилки, якщо операція не успішна
Текст помилки, якщо операція не успішна
Ідентифікатор запиту в системі Expirenza
Look for payload example: /callback/splitOrder
Стан
Підхід. TABLE_NOT_FOUND|ORDER_NOT_FOUND
TABLE_NOT_FOUND|ORDER_NOT_FOUND
Номер столу
POST /callback/splitOrder HTTP/1.1
Host: api.shaketopay.com.ua
restoId: text
Content-Type: application/json
Accept: */*
Content-Length: 885
{
"errorCode": "text",
"errorMessage": "text",
"orders": [
{
"billId": "7A051331-1C99-4DD2-9543-1585A4E21DCA",
"bonusSum": 60.85,
"created": "yyyy.MM.dd HH:mm:ss",
"discounts": {},
"guests": [
{
"dishes": [
{
"category": "Кухня",
"categoryId": "18afdzgu53a",
"checkNumber": "text",
"count": 1.3,
"dishId": "text",
"linked": true,
"linkedTo": "text",
"name": "Шаурма царська",
"orderNumber": 12365,
"positionId": "text",
"sum": 34.56,
"taxCategory": "налоги",
"taxCategoryId": "18afdzgu534",
"type": "modifier"
}
],
"name": "Гость 1"
}
],
"isBanquetOrder": true,
"isDelivery": true,
"orderNumber": 256,
"paymentType": "text",
"pricingTime": "text",
"rawSum": 1,
"rootBillId": "text",
"splitAvailable": true,
"state": "text",
"tableId": "qc7-sdv9",
"totalSum": 123.35,
"waiter": "text",
"waiterId": "text",
"billAmountForTips": 123.35
}
],
"rID": "Look for payload example: /callback/splitOrder",
"state": "FAIL",
"substate": "text",
"tableNumber": 1
}
No content
Last updated