Set BillListItemPack

Матеріал з SERVIO
Перейти до навігації Перейти до пошуку

Функція пакетом додає, видаляє і змінює вміст рахунку на кілька позицій, в тому числі керує складом страви

Розділ містить методи, необхідні для створення і модифікації рахунку на кілька позицій


Опис Створення та модифікація рахунку.
Метод POST
URL /POSExternal/Set_BillListItemPack



Request Headers
KEY VALUE
Content-Type application/json
AccessToken



Body raw (json)
 {
  "BillID": 17391,
    "Discounts": [
        {
            "BillID": 17391,
            "CardID": 0,
            "Discount": 50.0,
            "DiscountGroup": 0,
            "DiscountID": 0,
            "DiscountType": 4,
            "id": 0,
            "IsLoyalty": 0,
            "PersonDiscountID": 0,
            "SystemCode": "4503"
        }
    ],
    "FromService": false,
    "GuestCount": 5,
    "Items": [],
    "NumType": 1,
    "SystemCode": "4503"
 }



Типи даних Body
* Параметр Тип Опис
*
SystemCode String [32] Код системи
*
NumType Int Bид рахунку
*
BillID Int ID рахунку
*
Class String [20] Клас
*
Model String [20] Модель пристрою
OSDevice String [20] ОС пристрою
*
Description String [500] Опис рахунку, допустиме значення NULL
*
GuestCount Int Кількість гостей
*
Discounts Discounts [] Масив дисконтів. Елементи масиву структури з такими полями:
*
     | CardCode String Код картки
*
     | DiscountType Int тип знижки:

1 картка,
2 за группою карток,
3 у відсотках,
4 у грошах,
5 акційний купон

     | OwnerID Int ID персони (якщо застосовується картка)
     | OwnerCode String Kод персони (якщо застосовується картка)
     | BraceletCode String Kод браслету (якщо застосовується картка)
     | PersonDiscountID Int ID картки (якщо застосовується картка)
     | Discount Decimal Дисконт
     | DiscountGroup Int Група дисконту
     | IsLoyalty Int Якщо застосовується лояльність - 1, інакше - 0
Items Items [] Mасив позицій комплексного блюда. Елементи масиву структури з такими полями:
     | OperType Int Kод операції:

1 – додавання нової позиції в рахунок,
2 – зміна раніше внесеної позиції в рахунку,
3 – видалення позиції з рахунку

     | BillItemID Int ID позиції. Якщо OperType=1, новий запис буде оновленно відповідно до цього параметру, згенерованому застосунком
     | TarifItemID Int ID номенклатури що дадається (актуально лише за додавання позиції і заміни комплексу)
     | ParentID Int ID базової позиції рахунку, якщо номенклатура що додається є модифікатором. Якшо ні, то NULL
     | Quantity Decimal Kількість номенклатури що додається або змінюється. Не аналізується за операції видалення
     | Price Decimal Ціна номенклатури. Не аналізується для операції видалення
     | PickUp Int Oзнака блюда «З собою» (1-так, 0-ні)
     | Comment String Kоментар до позиції
     | ReasonRefuse Int Причина відмови(за замовчуванням 0 - немає блюда)
     | Print Bool Замовити і роздрукувати позицію
     | Seat Int Номер клієнта
     | Pos Int Порядок виносу
     | TimeOut Int Через скільки хвилин винос
     | ComplexID Int ID групи комплексу
     | SubItemID Int ID тарифної позиції за замовчуванням
     | CmxPrice Decimal Нова ціна позиції комплексу (для кіоску)
     | UseCmxPrice Int 1- використовувати ціну 0 – не використовувати (для кіоску)
     | Total Decimal Сума позиції. Якщо = 0 то тотал вираховується через ціну і кількість. Якщо > 0 приводиться до цієї суми через знижк
     | ExciseStamps String [] Масив акцизних марок
     | KitchenID Int ID кухні(для рахунків доставки, для всіх інших необов'язковий параметр)
     | IsPickup Bool Ознака самовивозу (використовується
     | IsManualPrice Int Дозволяє змінити ціну позиції. Якщо значення 1 то ціна буде та що вказали в Price
* Позначення обов’язкового параметру
Додатковий опис вихідних параметрів При викриристанні параметрів "KitchenID": "" та "IsPickup": false - для рахунків доставки буде додано позицію вартість доставки.



Response (json)
{
      "Error": "",
    "Success": true,
    "BillID": 17391,
    "BillNumber": 12722,
    "BillTotal": 75.00,
    "NumType": 1,
    "Items": [],
    "Discounts": [
        {
            "DiscountType": 4,
            "Error": null,
            "BillDiscountID": 7454
        }
    ],
    "AllItems": [
        {
            "BillItemID": 17988,
            "Total": 125.00,
            "ParentID": null,
            "TarifitemID": 14399,
            "Name": "Вино б/а Шардоне 150мл",
            "ShortName": "Вино б/а Шардоне 150мл",
            "Amount": 1.000,
            "Price": 125.00,
            "BillItemTempID": 604338057,
            "ModifierID": 0,
            "Status": 1,
            "ComplexID": null,
            "ItemType": "        ",
            "SubItemID": null,
            "SectionID": 3101,
            "ExciseStamps": null
        }
    ],
    "GUID": "54EF941D-14CF-4BCD-8365-7E55C8D95F50"
}



Типи даних Response
* Параметр Тип Опис
Error String [] Опис помилки, що виникла
Success Bool Успіх виконання запиту
BillID Int ID рахунку
BillNumber Int Номер рахунку
BillTotal Decimal Сума по рахунку
NumType Int Вид рахунку
Discounts Discounts [] Mасив результату застосування знижок. Елементи масиву структури з такими полями:
     | CardCode String Kод картки
     | DiscountType Int Tип знижки:

1 картка,
2 за группою карток,
3 у відсотках,
4 у грошах,
5 акційний купон

     | OwnerID Int ID персони (якщо застосовується картка)
     | OwnerCode String Kод персони (якщо застосовується картка)
     | BraceletCode String Kод браслету (якщо застосовується картка)
     | PersonDiscountID Int ID картки (якщо застосовується картка)
     | Discount Decimal Дисконт
     | DiscountGroup Decimal Група дисконту
     | IsLoyalty Int Якщо застосовується лояльність - 1, інакше - 0
     | BillDiscountID Int ID дисконту
Items Items [] Масив позицій комплексного блюда. Елементи масива структури з такими полями:
     | BillItemID Int ID позиції рахунку
     | AppBillItemID Int ID позиції згенерований мобільним додатком
AllItems AllItems [] Масив позицій . Елементи масиву структури з такими полями:
     | BillItemID Int ID позиції
     | Total Decimal Сума
     | ParentID Int ID батьківської позиції
     | TarifitemID Int ID тарифної позиції
     | Name String Hазва
     | SectionID Int ID відділу
     | Price Decimal Ціна
     | ExciseStamps String [] Mасив акцизних марок
     | ModifierID Int ID модифікатору
     | ComplexID Int ID категорії комплексу
     | SubItemID Int ID тарифна позиція за замовчуванням
* Позначення обов’язкового параметру
Додатковий опис вхідних параметрів