Bill PaymentExt: відмінності між версіями

Матеріал з SERVIO
Перейти до навігації Перейти до пошуку
(Створена сторінка: =='''Функція оплачує рахунок і закриває його'''== Розділ містить методи, необхідні для оплати рахунку за номером <br> {| cellspacing="3" cellpadding="0" style="width:100%; clear:both; margin:0.5em auto; background-color:#eaecf0; border:1px solid #c8ccd1;" |- ! style="background:#cdf; padding:0.5em; text-align:left; width:15%" id="fileinfotpl_desc" | Опис | style=...)
 
Немає опису редагування
Рядок 13: Рядок 13:
|-
|-
! style="background:#cdf; padding:0.5em; text-align:left;" id="fileinfotpl_date" | URL
! style="background:#cdf; padding:0.5em; text-align:left;" id="fileinfotpl_date" | URL
| style="background:#fff; padding:0.5em;" | /POSExternal/Get_Bill
| style="background:#fff; padding:0.5em;" | /POSExternal/Bill_PaymentExt
|}
|}
<br>
<br>
Рядок 38: Рядок 38:
<syntaxhighlight lang="json">
<syntaxhighlight lang="json">
  {
  {
     "BillID": "{{billid}}",
    "AccountID": 0,
     //"CodeGUID":"805CC7A4-48F5-445C-9290-BE71964F0E6B",
     "BillID": 17572,
     "Locked_": false
    "Deposit": 0.0,
    "DepositID": 0,
     "Description": "",
     "DontClose": false,
    "id": 828411040,
    "PaySubType": 0,
    "PaymentID": 2441,
    "ReturnResult": false,
    "Summ": 22000.0,
    "SystemCode": "4503"
  }
  }
</syntaxhighlight>
</syntaxhighlight>
Рядок 65: Рядок 74:
|-
|-
|
|
| TempID
| PaymentID
| Int
| Int
| Тимчасовий id рахунку. Шукає рахунок за цим кодом. Якщо не знаходить – повертає BillID = -1 (необов'язковий параметр)
| ID оплати
|-
|-
|
|
| Locked
| CardCode
| Bool
| String
| Заблокувати рахунок (необов'язковий параметр)
| Код карти для типу оплаты картою (в інших ігнорується)
|-
|
| Summ
| Int
| Cума оплати в копійках
|-
|
| Description
| String [500]
| Подробиці оплати (бажано додавати зміну за якої була проведена оплата, RRN, код карти, номер розрахункового рахунку, і т.д.)
|-
|
| BonusSum
| Decimal
| Cума бонусів
|-
|
| ReturnResult
| Bool
| Повернення файлів для друку на Bluetooth принтер
|-
|Параметри що використовуються для закриття на номер.  Для  отримання параметрів використовувати функцію GetHMSGuests.
|-
|-
|
|
| CodeGUID
| AccountID
| String
| Int
| GUID-код рахунку
| ID аккаунту (вик. тільки для закриття на номер)
|-
|
| DepositID
| Int
| ID депозиту (вик. тільки для закриття на номер)
|-
|
| Deposit
| Decimal
| Депозит (вик. тільки для закриття на номер)
|-
|
| PaySubType
| Int
| Tип закриття (вик. тільки для закриття на номер)
|-
|
| DontClose
| Bool
| Hе закривати рахунок після оплати (за замовчуванням рахунок буде закрито) (необов'язковий параметр)
|-
|-
!style="width:50%; background:#accae4;" scope="row" colspan="4"| * Позначення обов’язкового параметру
!style="width:50%; background:#accae4;" scope="row" colspan="4"| * Позначення обов’язкового параметру
Рядок 98: Рядок 149:
<syntaxhighlight lang="json">
<syntaxhighlight lang="json">
{
{
"Error": "",
    "Error": "",
     "Success": true,
     "Success": true,
     "BillID": 19738,
     "Files": []
    "BillNumber": 15978,
    "Number": 15978,
    "BillType": 2,
    "BlockedStationCode": null,
    "BlockedUserName": null,
    "Closed": "2022-07-18 12:24:03",
    "Comment": null,
    "CompanyCode": null,
    "CompanyName": null,
    "Description": null,
    "EventName": null,
    "FirstDate": null,
    "IsPaid": true,
    "IsPrepared": true,
    "LastDate": null,
    "Locked": null,
    "PlaceCode": "TABLE300818110717487",
    "Printed": "2022-07-18 12:23:44",
    "ShortComment": null,
    "SubTotal": 595,
    "Total": 535.5,
    "UserName": "Expert Solution",
    "Items": [
        {
            "BillItemID": 25647,
            "CategoryID": 147,
            "CategoryName": "МОЯ КАТЕГОРИЯ",
            "Comment": null,
            "ComplexID": null,
            "Description": null,
            "EnterpriseID": 205,
            "EnterpriseTaxCode": null,
            "ExciseStamp": false,
            "ExciseStamps": null,
            "ItemType": "        ",
            "Name": "Коктейль Оголена Crazy Даша",
            "Ordered": "2022-07-18 12:23:44",
            "ParentID": null,
            "PhotoUrl": null,
            "PickUp": 0,
            "Pos": 0,
            "Price": 300,
            "Quantity": 1,
            "Seat": 0,
            "SectionID": 3101,
            "ShortName": "Коктейль Оголена Crazy Даша",
            "Status": 1,
            "SubItemID": null,
            "TarifItemID": 14445,
            "Total": 270,
            "TypeID": null
        },
        {
            "BillItemID": 25648,
            "CategoryID": 147,
            "CategoryName": "МОЯ КАТЕГОРИЯ",
            "Comment": null,
            "ComplexID": null,
            "Description": null,
            "EnterpriseID": 205,
            "EnterpriseTaxCode": null,
            "ExciseStamp": false,
            "ExciseStamps": null,
            "ItemType": "        ",
            "Name": "Коктейль Госпожа",
            "Ordered": "2022-07-18 12:23:44",
            "ParentID": null,
            "PhotoUrl": null,
            "PickUp": 0,
            "Pos": 0,
            "Price": 295,
            "Quantity": 1,
            "Seat": 0,
            "SectionID": 3101,
            "ShortName": "Коктейль Госпожа",
            "Status": 1,
            "SubItemID": null,
            "TarifItemID": 14453,
            "Total": 265.5,
            "TypeID": null
        }
    ],
    "Discounts": [
        {
            "Applied": "2022-07-15 11:50:41",
            "BillID": 19738,
            "CardID": null,
            "Discount": 10.0000,
            "DiscountID": 7516,
            "DiscountType": 3,
            "OwnerCode": null,
            "OwnerID": null,
            "OwnerName": null
        }
    ],
    "IdTemps": [
        {
            "idTemp": 431492278
        },
        {
            "idTemp": 619128041
        },
        {
            "idTemp": 1113879060
        },
        {
            "idTemp": 856863549
        }
    ],
    "ChangeDate": "2022-07-18 12:24:03",
    "ChangeDateUTC": "2022-07-18T09:24:03.71Z",
    "WaitedFor": null,
    "WaitedFrom": null,
    "EstimatedPaymentID": null,
    "EstimatedPaymentName": null,
    "CodeGUID": "6049AF6A-54D9-48E2-AA7C-B0A4D15E1081",
    "AdvancePay": 0,
    "IsUseCard": false,
    "GuestCount": 3,
    "DeliveryAddressComment": null,
    "DeliveryComment": null,
    "OpenUserID": 0,
    "idTemp": null,
    "NumType": 1,
    "NumName": "Рахунок гостя"
}
}
</syntaxhighlight>
</syntaxhighlight>

Версія за 11:05, 20 липня 2022

Функція оплачує рахунок і закриває його

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


Опис Оплата рахунку.
Метод POST
URL /POSExternal/Bill_PaymentExt



Request Headers
KEY VALUE
Content-Type application/json
AccessToken



Body raw (json)
 {
    "AccountID": 0,
    "BillID": 17572,
    "Deposit": 0.0,
    "DepositID": 0,
    "Description": "",
    "DontClose": false,
    "id": 828411040,
    "PaySubType": 0,
    "PaymentID": 2441,
    "ReturnResult": false,
    "Summ": 22000.0,
    "SystemCode": "4503"
 }



Типи даних Body
* Параметр Тип Опис
*
SystemCode String [32] Код системи
*
BillID Int ID рахунку
PaymentID Int ID оплати
CardCode String Код карти для типу оплаты картою (в інших ігнорується)
Summ Int Cума оплати в копійках
Description String [500] Подробиці оплати (бажано додавати зміну за якої була проведена оплата, RRN, код карти, номер розрахункового рахунку, і т.д.)
BonusSum Decimal Cума бонусів
ReturnResult Bool Повернення файлів для друку на Bluetooth принтер
Параметри що використовуються для закриття на номер. Для отримання параметрів використовувати функцію GetHMSGuests.
AccountID Int ID аккаунту (вик. тільки для закриття на номер)
DepositID Int ID депозиту (вик. тільки для закриття на номер)
Deposit Decimal Депозит (вик. тільки для закриття на номер)
PaySubType Int Tип закриття (вик. тільки для закриття на номер)
DontClose Bool Hе закривати рахунок після оплати (за замовчуванням рахунок буде закрито) (необов'язковий параметр)
* Позначення обов’язкового параметру
Додатковий опис вихідних параметрів



Response (json)
{
    "Error": "",
    "Success": true,
    "Files": []
}



Типи даних Response
* Параметр Тип Опис
Error String [] Опис помилки, що виникла
Success Bool Успіх виконання запиту
BillType Int Тип рахунку:

1 – звичайний рахунок;
2 – рахунок закрито і не можна редагувати;
3 – рахунок відкритий і сплачений
4 – рахунок бронювання (для готельної системи за замовчуванням;
8 – рахунок доставки

FirstDate Datetime Дата початку надання послуг. Для рахунків бронювання обов”язковий параметр, для інших ігнорується
BillID Int ID рахунку
LastDate Datetime Дата закінчення надання послуг. Для рахунків бронювання обов”язковий параметр, для інших ігнорується
UserName String [64] Користувач що створив рахунок
PlaceCode String [32] Код місця надання послуги для рахунків бронювання, допустиме значення NULL для інших
EventName String [32] Назва заходу для рахунків бронювання, допустиме значення NULL для інших
CompanyCode String [32] Код компанії, допустиме значення NULL
CompanyName String [32] Назва компанії, допустиме значення NULL
Description String [500] Опис рахунку, допустиме значення NULL
ShortComment String [255] Короткий коментар до рахунку
Total Decimal Сума по рахунку
SubTotal Decimal Сума по рахунку без знижки
IsPrepared Boolean Ознака підготовки рахунку до закриття (встановлюється перед сплатою рахунку і його закриттям)
Printed Datetime Дата друку рахунку
Closed Datetime Дата закриття рахунку
Locked Datetime Дата блокування
IsPaid Boolean Рахунок сплачений
IsUseCard Boolean Чи додана до рахунку картка
NumType Int Вид рахунку (Null якщо немає)
GuestCount Int Кількість гостей
NumName String Назва виду рахунку (Null якщо немає)
DeliveryComment String Коментар до рахунку доставки
DeliveryAddressComment String Коментар до адреси доставки
DeliveryPersonComment String Коментар до персони
idTemp Int Тимчасовий код рахунку
ChangeDate Datetime Дата зміни
WaitedFrom Datetime Дата доставки замовлення (з)
WaitedFor Datetime Дата доставки замовлення (до)
Items BillList [] Массив опису номенклатури. Елементи масиву з наступними полями:
     | BillItemID Int ID позиції рахунку
     | ParentID Int ID-вказівник батьківської/базової позиції рахунку
     | TarifItemID Int ID номенклатури
     | ModifierID Int ID модифікатора стану (для режиму авторизації)
     | Name String [128] Назва номенклатури
     | ShortName String [32] Коротка назва номенклатури
     | Description String [500] Опис номенклатури
     | Comment String [1024] Kоментар до позиції
     | Quantity Decimal Кількість номенклатури
     | Price Decimal Ціна за одиницю номенклатури
     | SectionID Int ID відділу
     | Total Decimal Ціна позиції (після знижки или вручну тільки за авторизацією)
     | ItemType String [32] Тип суб-позиції
     | PhotoUrl String [128] Url вказівник на картинку в інтернеті
     | ComplexID Int ID комплексу
     | SubItemName String Назва номенклатури інгридієнту комплексу за замовчуванням
     | Ordered Datetime Дата замовлення позиції рахунку
     | Status Int Статус блюда:

0 – не замовлено,
1 – замовлено,
2 – прийнято в роботу,
4 – готово,
7 – готово до відвантаження

     | IsManualPrice Int Можливість застосування ручної ціни (для режиму авторизації)
     | Seat Int Номер клієнта
     | Pos Int Порядок виносу
     | BillItemTempID Int Тимчасовий код
     | TimeOut Int Через скільки хвилин винос
     | EnterpriseTaxCode String Код зведення (відповідає поєднанню підприємства і податку)
     | TypeID Int Тип номенклатури (для режиму авторизації)

0 - Надбавка
1 - Продукція (можлива не ціла кількість)
2 - Продукція (поштучно – тільки ціла кількість)
3 - Продукція (за вагою)
4 - Товар (можлива не ціла кількість)
5 - Товар (поштучно – тільки ціла кількість)
6 - Товар (за вагою)
7 - Послуга

     | ExciseStamps String [] Масив акцизних марок
Discounts DiscountList [] Масив знижок по рахунку з наступними полями (тільки після авторизації)
     | DiscountID Int ID дисконту
     | BillID Int ID рахунку
     | DiscountType Int Тип знижки:

1 - картка,
2 - по групі карток,
3 - у відсотковому вираженні,
4 - в грошовому,
5 - акційний купон

     | Applied String [128] Час застосування
     | OwnerID Int ID персони
     | OwnerName String [500] Iм'я персони
     | OwnerCode String [1024] Kод персони
     | Discount Decimal Дисконт (% або сума, залежить від DiscountType)
     | CardID Int ID дисконтної картки
IdTemps IdTemp [] Масив id Temp
     | idTemp Int Тимчасовий ID позиції при створенні в рахунку
CodeGUID String GUID-код
AdvancePay Decimal Сума передплати
BlockedUserName String Iм'я користувача що заблокував рахунок
BlockedStationCode String Код станції з якої заблокували рахунок
* Позначення обов’язкового параметру
Додатковий опис вхідних параметрів