Create BillListItemPack: відмінності між версіями
Перейти до навігації
Перейти до пошуку
Немає опису редагування |
Немає опису редагування |
||
(Не показані 15 проміжних версій 2 користувачів) | |||
Рядок 53: | Рядок 53: | ||
{ | { | ||
"OperType": 1, | "OperType": 1, | ||
"TarifItemID": | "TarifItemID": 11467, //ИД позиции из Get_TarifItem 3209125 | ||
"BillItemID": 1, | "BillItemID": 1, | ||
"ParentID": null, | "ParentID": null, | ||
Рядок 62: | Рядок 62: | ||
{ | { | ||
"OperType": 1, | "OperType": 1, | ||
"TarifItemID": | "TarifItemID": 11467, //ИД позиции из Get_TarifItem 3209087 | ||
"BillItemID": 2, | "BillItemID": 2, | ||
"ParentID": null, | "ParentID": null, | ||
Рядок 83: | Рядок 83: | ||
! scope="col"| Опис | ! scope="col"| Опис | ||
|- | |- | ||
| | | | ||
| SystemCode | | SystemCode | ||
| String [32] | | String [32] | ||
Рядок 136: | Рядок 136: | ||
| Компанія, допустиме значення NULL | | Компанія, допустиме значення NULL | ||
|- | |- | ||
| | | | ||
| Class | | Class | ||
| String [20] | | String [20] | ||
Рядок 161: | Рядок 161: | ||
| Блокувати рахунок | | Блокувати рахунок | ||
|- | |- | ||
| | | | ||
| NumType | | NumType | ||
| Int | | Int | ||
Рядок 181: | Рядок 181: | ||
| Вартість доставки ** | | Вартість доставки ** | ||
|- | |- | ||
| | | | ||
| Total | | Total | ||
| Decimal | | Decimal | ||
Рядок 189: | Рядок 189: | ||
| Deposite | | Deposite | ||
| Decimal | | Decimal | ||
| Сума створеня рахунку передоплати | | Сума створеня рахунку передоплати{{якорь|Примітка4}} | ||
|- | |- | ||
| | | | ||
Рядок 199: | Рядок 199: | ||
| PhoneNumber | | PhoneNumber | ||
| String | | String | ||
| Номер телефону | | Номер телефону (в форматі 380993332211) *Якщо використовується данний параметр ми перевіряєм чи є в нас такий клієнт з таким № телефону. Якщо є то привязуєм цього клієнта до рахунку аналогічно методу SetParamsBillDeliverySite Якщо даного № немає то ми створюєм нову персону й карту (номер телефону = номеру карти) | ||
|- | |- | ||
| | | | ||
Рядок 307: | Рядок 307: | ||
|| <span style="color:#CC0000">'''|'''</span> PickUp | || <span style="color:#CC0000">'''|'''</span> PickUp | ||
| Int | | Int | ||
| Ознака | | Ознака страви «З собою» (1-так, 0-ні) | ||
|- | |- | ||
| | | | ||
Рядок 357: | Рядок 357: | ||
|| <span style="color:#CC0000">'''|'''</span> UseCmxPrice | || <span style="color:#CC0000">'''|'''</span> UseCmxPrice | ||
| Int | | Int | ||
| 1- використовувати ціну | | 1- використовувати ціну<br> 0 – не використовувати (для кіоску) | ||
|- | |- | ||
| | | | ||
Рядок 372: | Рядок 372: | ||
|| <span style="color:#CC0000">'''|'''</span> Total | || <span style="color:#CC0000">'''|'''</span> Total | ||
| Decimal | | Decimal | ||
| Сума позиції. Якщо = 0 то тотал вираховується через ціну і кількість. Якщо > 0 приводиться до цієї суми через знижку | | Сума позиції.<br> Якщо = 0 то тотал вираховується через ціну і кількість.<br> Якщо > 0 приводиться до цієї суми через знижку | ||
|- | |- | ||
| | | | ||
Рядок 387: | Рядок 387: | ||
!style="width:50%; background:#accae4;" scope="row" colspan="4"| * - позначення обов’язкового параметру | !style="width:50%; background:#accae4;" scope="row" colspan="4"| * - позначення обов’язкового параметру | ||
|- | |- | ||
!style="width:50%; background:#accae4; | !style="width:50%; background:#accae4;" scope="row" colspan="4" | *TarifItemCode2 вказується для випадків коли TarifItemID невідомий або має більшу перевагу для використання | ||
|- | |- | ||
!style="width:50%; background:#accae4;" scope="row" colspan="4"| **Необов'язковий параметр.Якщо він буде переданий, в рахунок буде доданий товар з налаштування з кількістю 1 і з ручною ціною, вказаний в CostOfDelivery | !style="width:50%; background:#accae4;" scope="row" colspan="4"| **Необов'язковий параметр.Якщо він буде переданий, в рахунок буде доданий товар з налаштування з кількістю 1 і з ручною ціною, вказаний в CostOfDelivery і дорівнює значенню в полі вартість доставки | ||
і дорівнює значенню в полі вартість доставки | |||
|- | |- | ||
!style="width:50%; background:#accae4;" scope="row" colspan="4"| ***Необов'язковий параметр. Якщо він буде переданий, до рахунку буде застосовано Total | !style="width:50%; background:#accae4;" scope="row" colspan="4"| ***Необов'язковий параметр. Якщо він буде переданий, до рахунку буде застосовано Total але для застосування ціни відмінної від прайсу має бути встановлений параметр IsManualPrice | ||
|- | |- | ||
!style="width:50%; background:#accae4;" scope="row" colspan="4"| | !style="width:50%; background:#accae4;" scope="row" colspan="4"| [[#Примітка4:]] Необов'язковий параметр. Створить рахунок передоплати. Якщо в налаштуваннях вказаний код оплати, рахунок буде закрито | ||
|- | |- | ||
|} | |} |
Поточна версія на 08:50, 4 січня 2024
Створення рахунку, і додавання вмісту рахунку на декілька позицій, в тому числі управління складом позиції
Розділ містить методи, необхідні для створення рахунку і управлінням його вмістом
Опис | Створення рахунку. |
---|---|
Метод | POST |
URL | /POSExternal/Create_BillListItemPack |
Request Headers | |
---|---|
KEY | VALUE |
Content-Type | application/json |
AccessToken |
Body raw (json) |
---|
{
"SystemCode": "123",
"BillType": 1,
// "FirstDate": null,
// "LastDate": null,
// "UserName": null,
// "CompanyName": "TestCompany",
// "Class": "3", //string[20] доп.поле идентификации устройства
// "Description": "",
// "Locked": false,
// "NumType": 0,
// "GuestCount": 0,
// "CostOfDelivery": 0,
"Items": [
{
"OperType": 1,
"TarifItemID": 11467, //ИД позиции из Get_TarifItem 3209125
"BillItemID": 1,
"ParentID": null,
"Quantity": 3,
"Price": null,
"ModifierID": null
},
{
"OperType": 1,
"TarifItemID": 11467, //ИД позиции из Get_TarifItem 3209087
"BillItemID": 2,
"ParentID": null,
"Quantity": 1,
"Price": null,
"ModifierID": null
}
]
}
Типи даних Body | |||
---|---|---|---|
* | Параметр | Тип | Опис |
SystemCode | String [32] | Код системи | |
BillType | Int | Тип рахунку:
1 – звичайний рахунок; | |
FirstDate | Datetime | Дата початку надання послуг, допустиме значення NULL | |
LastDate | Datetime | Дата закінчення надання послуг, допустиме значення NUL | |
UserName | String [64] | Користувач що створив рахунок, допустиме значення NULL | |
PlaceCode | String [32] | Код місця надання послуги (обов'язковий параметр для рахунків бронювання), допустиме значення NULL для інших | |
EventID | String [32] | ID заходу для рахунків бронювання, допустиме значення NULL для інших | |
EventName | String [32] | Назва заходу для рахунків бронювання, допустиме значення NULL для інших | |
CompanyCode | String [32] | Код компанії, допустиме значення NULL | |
CompanyName | String [32] | Компанія, допустиме значення NULL | |
Class | String [20] | Клас | |
Model | String [20] | Модель пристрою | |
OSDevice | String [20] | ОС пристрою | |
Description | Bool | Опис рахунку, допустиме значення NULL | |
Locked | String [20] | Блокувати рахунок | |
NumType | Int | Вид рахунку | |
GuestCount | Int | Кількість гостей | |
idTemp | Int | Тимчасовий ID | |
CostOfDelivery | Decimal | Вартість доставки ** | |
Total | Decimal | Загалом по рахунку *** | |
Deposite | Decimal | Сума створеня рахунку передоплатиШаблон:Якорь | |
String | |||
PhoneNumber | String | Номер телефону (в форматі 380993332211) *Якщо використовується данний параметр ми перевіряєм чи є в нас такий клієнт з таким № телефону. Якщо є то привязуєм цього клієнта до рахунку аналогічно методу SetParamsBillDeliverySite Якщо даного № немає то ми створюєм нову персону й карту (номер телефону = номеру карти) | |
Discounts | Discounts [] | Масив дисконтів. Елементи масиву структури з такими полями: | |
| CardCode | String | Код картки | |
| DiscountType | Int | Тип знижки: 1 картка, | |
| OwnerID | Int | ID персони (якщо застосовується картка) | |
| OwnerCode | String | Kод персони (якщо застосовується картка) | |
| BraceletCode | String | Kод браслету (якщо застосовується картка) | |
| PersonDiscountID | Int | ID картки (якщо застосовується картка) | |
| Discount | Decimal | Дисконт | |
| DiscountGroup | Int | Група дисконту | |
| IsLoyalty | Int | Якщо застосовується лояльність - 1, інакше - 0 | |
Items | Items [] | Масив позицій комплексного блюда. Елементи масиву структури з такими полями: | |
| OperType | Int | Код операції: 1 – додавання нової позиції в рахунок, | |
| BillItemID | Int | ID позиції. Якщо OperType=1, новий запис буде оновленно відповідно до цього параметру, згенерованому застосунком | |
| TarifItemID | Int | ID номенклатури що дoдається (актуально лише за додавання позиції і заміни комплексу) | |
| ModifierID | Int | ID модифікатора стану | |
| ParentID | Int | ID базової позиції рахунку, якщо номенклатура що додається є модифікатором. Якшо ні, то NULL | |
| Quantity | Decimal | Kількість номенклатури що додається або змінюється. Не аналізується за операції видалення | |
| IsManualPrice | Int | Чи встановлюється ручна ціна. Якщо 1 то застосовується ціна з Price | |
| Price | Decimal | Ціна номенклатури. Не аналізується для операції видалення | |
| PickUp | Int | Ознака страви «З собою» (1-так, 0-ні) | |
| Comment | String | Коментар до позиції | |
Bool | Замовити і роздрукувати позицію | ||
| Seat | Int | Номер клієнта | |
| SectionID | Int | ID відділу | |
| Pos | Int | Порядок виносу | |
| TimeOut | Int | Через скільки хвилин винос | |
| ComplexID | Int | ID групи комплексу | |
| SubItemID | Int | ID тарифної позиції за замовчуванням | |
| CmxPrice | Decimal | Нова ціна позиції комплексу (для кіоску) | |
| UseCmxPrice | Int | 1- використовувати ціну 0 – не використовувати (для кіоску) | |
| TarifItemCode2 | String | Код зведення тарифної позиції* | |
| PrintTaskCode | Int | Код для друку задачі на принтер( замовлення/повторення замовлення/відміна замовлення) | |
| Total | Decimal | Сума позиції. Якщо = 0 то тотал вираховується через ціну і кількість. Якщо > 0 приводиться до цієї суми через знижку | |
| ExciseStamps | String [] | Масив акцизних марок | |
Payment | Payment [] | Оплата рахунку. Включає в себе поля як в функції BillPaymentExt (Наприклад: «Payment»:{«PaymentID»:3133,»Summ»:20} ). Необов'язковий параметр. | |
* - позначення обов’язкового параметру | |||
*TarifItemCode2 вказується для випадків коли TarifItemID невідомий або має більшу перевагу для використання | |||
**Необов'язковий параметр.Якщо він буде переданий, в рахунок буде доданий товар з налаштування з кількістю 1 і з ручною ціною, вказаний в CostOfDelivery і дорівнює значенню в полі вартість доставки | |||
***Необов'язковий параметр. Якщо він буде переданий, до рахунку буде застосовано Total але для застосування ціни відмінної від прайсу має бути встановлений параметр IsManualPrice | |||
#Примітка4: Необов'язковий параметр. Створить рахунок передоплати. Якщо в налаштуваннях вказаний код оплати, рахунок буде закрито |
Додатковий опис вихідних параметрів |
---|
Response (json) |
---|
{
"Error": "",
"Success": true,
"BillID": 19903,
"BillNumber": 16097,
"BillTotal": 1400.00,
"NumType": null,
"Items": [
{
"BillItemID": 25936,
"AppBillItemID": 1,
"ParentID": 0,
"Error": null
},
{
"BillItemID": 25937,
"AppBillItemID": 2,
"ParentID": 0,
"Error": null
}
],
"Discounts": [],
"AllItems": [
{
"BillItemID": 25936,
"Total": 1050.00,
"ParentID": null,
"TarifitemID": 14467,
"Name": "Ананас",
"ShortName": "Ананас",
"Amount": 3.000,
"Price": 350.00,
"BillItemTempID": 1,
"ModifierID": 0,
"Status": 0,
"ComplexID": null,
"ItemType": " ",
"SubItemID": null,
"SectionID": 12747,
"ExciseStamps": null
},
{
"BillItemID": 25937,
"Total": 350.00,
"ParentID": null,
"TarifitemID": 14467,
"Name": "Ананас",
"ShortName": "Ананас",
"Amount": 1.000,
"Price": 350.00,
"BillItemTempID": 2,
"ModifierID": 0,
"Status": 0,
"ComplexID": null,
"ItemType": " ",
"SubItemID": null,
"SectionID": 12747,
"ExciseStamps": null
}
],
"GUID": "8E7C8545-F81E-4CC8-AF7D-B23CD4B5D066"
}
Типи даних Response | |||
---|---|---|---|
* | Параметр | Тип | Опис |
Error | String [] | Опис помилки, що виникла | |
Success | Bool | Успіх виконання запиту | |
BillID | Int | ID рахунку | |
BillNumber | Int | Hомер рахунку | |
BillTotal | Decimal | Cума по рахунку | |
NumType | Int | Bид рахунку | |
Discounts | Discounts [] | Mасив результату застосування знижок. Елементи масиву структури з такими полями: | |
| DiscountType | Int | Tип дисконту | |
| Error | String | Повідомлення про помилку | |
| BillDiscountID | Int | ID дисконту | |
Items | Items [] | Масив позицій комплексного блюда. Елементи масива структури з такими полями: | |
| BillItemID | Int | ID позиції рахунку | |
| AppBillItemID | Int | ID позиції згенерований мобільним додатком | |
| ParentID | Int | ID батьківської позиції | |
| Error | String | Опис помилки що виникла | |
| AllItems | AllItems [] | Масив позицій . Елементи масиву структури з такими полями: | |
|| BillItemID | Int | ID позиції | |
|| Total | Decimal | Cума | |
|| ParentID | Int | ID батьківської позиції | |
|| TarifitemID | Int | ID тарифної позиції | |
|| Name | String | Hазва | |
|| Amount | Decimal | Kількість | |
|| Price | Decimal | Ціна | |
|| ExciseStamps | String [] | Mасив акцизних марок | |
|| ModifierID | Int | ID модифікатору | |
|| ComplexID | Int | ID категорії комплексу | |
|| SubItemID | Int | ID тарифна позиція за замовчуванням | |
|| Status | Int | Cтатус | |
|| BillItemTempID | Int | Tимчасовий ID позиції | |
|| ItemType | String [32] | Tип суб-позиції | |
* Позначення обов’язкового параметру |
Додатковий опис вхідних параметрів |
---|