CreateBillFull

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

Функція створює рахунок

Розділ містить методи, необхідні для створення рахунку и пов'язаного з рахунком: тарифні позиції, позиції комплексу, модифікатори; для рахунку доставки: клієнт, адреса, час доставки

Опис Створення рахунку.
Метод POST
URL /POSExternal/CreateBillFull



Request Headers
KEY VALUE
Content-Type application/json
AccessToken



Body raw (json)
{
	"UserName": "none",
	"CurrencyId": 192,
	"GuestCount": 1,
	"Comment": null,
	"ShortComment": null,
	"Opened": "",
	"BillClosed": null,
	"BillSubTotal": 25.00,
	"BillTotal": 25.00,
	"BillBaseTotal": 25.00,
	"DiscountSum": 0.00,
	"BonusSum": 0.00,
	"BillFiscalTotal": 0.00,
	"FiscalBaseTotal": 0.00,
	"Tax1": 4.17,
	"Tax2": 0.00,
	"Tax3": 0.00,
	"Tax4": 0.00,
	"Tax5": 0.00,
	"Tax6": 0.00,
	"Tax7": 0.00,
	"Tax8": 0.00,
	"IsDelivery": true,
	"Delivery": {
		"WaitedFor": "",
		"CookedFor": null,
		"Delivered": null,
		"DeliveredComment": null,
		"WaitedFrom": "",
		"StreetCode2": "DISTRC266110123037123",
		"AddressNumber": "1",
		"AddressBuilding": "1",
		"Longitude": 24.0238328,
		"Latitude": 49.8449260,
		"AddressEntrance": "1",
		"AddressStorey": "1",
		"AddressApartment": "1",
		"AddressComment": null,
		"PersonCode2": "PERSON165612104803750",
		"PersonFirstName": "Петро",
		"PersonLastName": "Іванчук",
		"PersonPatronymic": "",
		"PersonWorkPhone": "",
		"PersonHomePhone": "1234568958",
		"PersonMobilePhone": "067888888",
		"PersonNote": null
	},
	"BillID": 3850,
	"BillNumber": 2,
	"Items": [{
		"OperType": 1,
		"BillItemID": 14541,
		"ParentID": 14285,
		"ItemType": "",
		"ItemState": 1,
		"PriceListCode2": null,
		"TarifItemCode2": "TRFITEM016921105327223",
		"CurrencyCode2": "CRNC090311110116140",
		"Quantity": 1,
		"Price": null,
		"BasicPrice": null,
		"CalcPrice": null,
		"BaseTotal": null,
		"Total": null
	}],
	"PaymentItems": [],
	"ModifierItems": [],
	"IncItems": [],
	"DecItems": []
}



Типи даних Body
* Параметр Тип Опис
BillID Int ID рахунку
BillNumber Int Номер рахунку
ParentBillNumber Int Номер батьківського рахунку (для рахунків повернення та відновлення)
Ext String ID рахунку
CurrencyID Int ID рахунку
GuestCount Int Кількість гостей
NumType Int Вид рахунку (список BillNumType з методу Authenticate)
NumTypeName String Назва виду рахунку
ShortComment String Короткий коментар
Opened String Рахунок відкритий (дата час)
BillClosed String Рахунок закритий (дата час)
BillSubTotal Decimal Сума рахунку без урахування знижки
BillTotal Decimal Сума рахунку з урахуванням знижки
BillBaseTotal Decimal
DiscountSum Decimal Сума знижки
BonusSum Decimal Сума бонусів
BillFiscalTotal Decimal
FiscalBaseTotal Decimal
Tax1 Decimal ID податку
Tax2 Decimal ID податку
Tax3 Decimal ID податку
Tax4 Decimal ID податку
Tax5 Decimal ID податку
Tax6 Decimal ID податку
Tax7 Decimal ID податку
Tax8 Decimal ID податку
BillPayment Decimal
IsDelivery Boolean рахунок доставки якщо так
PrintOrder Boolean Якщо так то рахунок друкувати
LoyaltyCardCode String Код карти лояльності
LoyaltyCardType Int
LoyaltyBonusSum Decimal
BaseExternalID Int ID Закладу
OperType Int Код операції:

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

BillType Int Тип рахунку:

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

FirstDate DateTime
LastDate DateTime
UserName String Імя клієнта на імя якого створено рахунок
PlaceCode String Код місця надання послуг (столик)
EventID String ID заходу
EventName String Назва заходу
CompanyName String Імя компінії
Description String
Comment String Коментар до рахунку
CardCode String Код карти клієнта
OpenUserID Int ID Користувача що створив рахунок
ServeUsers string Користувач що обслуговує рахунок
GuestCount Int Загальна кількість гостей в рахунку
ChildCount Int Кількість дітей (взодить в загальну кількість гостей)
BillNumType Int Вид рахунку
Delivery Delivery{} Інформація по рахунку доставки. Елементи структури з наступними полями:
     | ClientAddressID Int ID адреси з методу SetAddressBillDeliverySite або з історії замовлень
     | WaitedFor DateTime Доставити в дату та час з
     | WaitedFrom DateTime Доставити в дату та час по
     | Comment String Коментар до рахунку доставки
     | CookedFor String
     | Delivered String
     | DeliveredComment String Коментар до рахунку доставки
     | DistrictCode2 String
     | DistrictName String
     | StreetCode2 String
     | StreetName String
     | AddressNumber String
     | AddressBuilding String Коментар до рахунку доставки
     | Longitude Decimal
     | Latitude Decimal
     | AddressEntrance String
     | AddressStorey String
     | AddressApartment String
     | AddressComment String
     | PersonCode2 String
     | PersonFirstName String
     | PersonLastName String
     | PersonPatronymic String Коментар до рахунку доставки
     | PersonSex Boolean
     | PersonWorkPhone String
     | PersonHomePhone String
     | PersonMobilePhone String
     | PersonNote String
     | CourierCode2 String
     | CourierFirstName String
     | CourierLastName String
     | CourierPatronymic String
     | PaymentTypeCode2 String
     | PersonBirthday String
     | PersonEmail String
     | IsPickup String
Items Items [] Масив позицій рахунку. Елементи масиву структури з наступними полями:
     | OperType Int Код операції:

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

     | BillID Int ID позиції
     | BillItemID Int
     | TarifItemID Int
     | ParentID Int
     | Quantity Decimal
     | OnDate DateTime
     | Price Decimal
     | Total Decimal
     | PickUp Int
     | ReasonRefuse Int
     | RefuseComment String
     | TarifItemCode2 String
     | Comment String ID позиції
     | DeleteIds List
     | Seat Int
     | Pos Int
     | TarifItemCode2 String
     | TarifItemCodeExt String
     | AllowGroup bool
     | Comment String
     | Error String
     | ModifierID Int
     | ModifierCode2 String
     | AppItemID Int
     | ComplexID Int
     | SubItemID Int
     | UseCmxPrice Int
     | CmxPrice Decimal
     | IsSetID bool
     | Seat Int
     | TimeOut Int
     | IsManualPrice Boolean
     | IsManualDiscount Int
     | DiscountSum1 Decimal
     | PrintTaskCode string
     | ExciseStamps List string
     | Amount decimal
BillLoyaltyItems BillLoyaltyItems [ ] Масив елементами лояльності. Елементи масиву структури з наступними полями:
     | CardCode String
     | WalletID int
     | CardID int
     | UserName decimal
     | BeforeBalance String
     | BonusesToPay decimal
     | AfterPayBalance decimal
     | AddedBonuses decimal
     | AfterAddBalance decimal
     | PayBonuses bool
     | AppliedDiscount decimal
PaymentItems PaymentItems[] Масив з платежами. Елементи масиву структури з наступними полями:
     | PaymentCODE2 String Зовнішній код типу оплат
     | Total decimal
Modifiers Modifiers [ ] Масив з модифікаторами. Елементи масиву структури з наступними полями:
     | ModifierCODE2 String Зовнішній код модифікатора
IncItems IncItems[] Масив з інк-ами. Елементи масиву структури з наступними полями:
     | ItemID Int ID позиції
     | Increased Decimal Кількість збільшення
DecItems DecItems[] Масив з дек-ами. Елементи масиву структури з наступними полями:
     | ItemID Int ID позиції
     | Decreased Decimal Кількість зменшення
* Позначення обов’язкового параметру
Додатковий опис вихідних параметрів



Response (json)
{
    "Error": "",
    "Success": true,
    "BillID": 24037,
    "BillNumber": 45412
}



Типи даних Response
Параметр Тип Опис
Error String Опис помилки, що виникла
Success Bool Успіх виконання запиту
BillID Int ID рахунку
BillNumber Int Номер рахунку
Додатковий опис вхідних параметрів