Шаблон билета настраивается в конфигурационном файле КСО 2.0 в блоке TicketsFormat.
Мнемоники - теги, по которым информация берется из БД и отображается в сформированном билете.
Мнемоники для шаблона билета:
TicketID — внутренний номер билета в системе.
ActivityID — ID мероприятия (служебный номер мероприятия).
SeanceID — ID сеанса/товара (служебный номер).
IsActivity — признак “это билет на мероприятие” (true/false).
IsCurrency — признак “это пополнение депозита, а не обычный билет” (true/false).
Name — название билета/товара.
ActivityName — название мероприятия.
PlaceName — место мероприятия (краткое название места).
Price — стоимость билета с учетом скидки.
BarCode — штрихкод билета (для резерва может быть код брони).
Date — дата и время начала мероприятия/сеанса.
DateStart — дата и время начала сеанса (обычно то же, что Date).
DateEnd — дата и время окончания сеанса.
SellDate — дата и время продажи билета.
InternalOrderID — внутренний номер заказа в системе.
BankOrderID — номер заказа в платежной системе (банк/эквайринг).
IsReserv — признак, что это бронь, а не оплаченный билет (true/false).
PlaceId — служебный ID места.
FullPlaceName — полное имя места (полный путь по иерархии).
DelimitedFullPlaceName — полное имя места, где уровни разделены ;.
PlaceNameDelimiter — символ-разделитель для предыдущего поля (обычно ;).
Важные нюансы (тоже простыми словами)
Для брони:
IsReserv = true
BarCode может быть не “обычным штрихкодом”, а номером брони.
BankOrderID может быть пустым.
Для не-мероприятий (IsActivity = false) поля ActivityName и PlaceName могут быть пустыми.
Если в карточке события не заполнены даты, поля Date/DateStart/DateEnd могут прийти как “пустая техническая дата”.
Date — это не дата продажи, а дата начала события.
Примеры настройки шаблона билета в разрезе объектов:

"TicketFormat": {
"PrintingItems": [
{
"Type": 0,
"Alignment": 1,
"Place": 0,
"Text": "\n",
"Font": 8,
"DoubleWidth": false,
"DoubleHeight": true,
"Wrap": 2,
"BarcodeType": 0,
"BcScale": 6,
"BcHeight": 1,
"BcPrintText": true,
"PictureData": "",
"PageModeItems": null,
"UserCommand": null
},
{
"Type": 0,
"Alignment": 1,
"Place": 0,
"Text": "\u0412\u0430\u0448 \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u044B\u0439 \u0431\u0438\u043B\u0435\u0442",
"Font": 48,
"DoubleWidth": true,
"DoubleHeight": true,
"Wrap": 2,
"BarcodeType": 0,
"BcScale": 0,
"BcHeight": 0,
"BcPrintText": false,
"PictureData": "",
"PageModeItems": null,
"UserCommand": null
},
{
"Type": 0,
"Alignment": 1,
"Place": 0,
"Text": "\n",
"Font": 8,
"DoubleWidth": false,
"DoubleHeight": true,
"Wrap": 2,
"BarcodeType": 0,
"BcScale": 6,
"BcHeight": 1,
"BcPrintText": true,
"PictureData": "",
"PageModeItems": null,
"UserCommand": null
},
{
"Type": 0,
"Alignment": 0,
"Place": 0,
"Text": "{nameItem}",
"Font": 8,
"DoubleWidth": false,
"DoubleHeight": false,
"Wrap": 0,
"BarcodeType": 0,
"BcScale": 0,
"BcHeight": 0,
"BcPrintText": false,
"PictureData": "",
"PageModeItems": null,
"UserCommand": null
},
{
"Type": 0,
"Alignment": 0,
"Place": 0,
"Text": "\u0426\u0435\u043D\u0430: {price}",
"Font": 8,
"DoubleWidth": false,
"DoubleHeight": false,
"Wrap": 0,
"BarcodeType": 0,
"BcScale": 0,
"BcHeight": 0,
"BcPrintText": false,
"PictureData": "",
"PageModeItems": null,
"UserCommand": null
},
{
"Type": 0,
"Alignment": 0,
"Place": 0,
"Text": "\u0414\u0430\u0442\u0430 \u043F\u0440\u043E\u0434\u0430\u0436\u0438: {date}",
"Font": 8,
"DoubleWidth": false,
"DoubleHeight": false,
"Wrap": 0,
"BarcodeType": 0,
"BcScale": 0,
"BcHeight": 0,
"BcPrintText": false,
"PictureData": "",
"PageModeItems": null,
"UserCommand": null
},
{
"Type": 0,
"Alignment": 1,
"Place": 0,
"Text": "\n",
"Font": 8,
"DoubleWidth": false,
"DoubleHeight": true,
"Wrap": 2,
"BarcodeType": 0,
"BcScale": 6,
"BcHeight": 1,
"BcPrintText": true,
"PictureData": "",
"PageModeItems": null,
"UserCommand": null
},
{
"Type": 1,
"Alignment": 1,
"Place": 0,
"Text": "{barcode}",
"Font": 1,
"DoubleWidth": false,
"DoubleHeight": false,
"Wrap": 2,
"BarcodeType": 0,
"BcScale": 1,
"BcHeight": 50,
"BcPrintText": true,
"PictureData": "",
"PageModeItems": null,
"UserCommand": null
},
{
"Type": 0,
"Alignment": 1,
"Place": 0,
"Text": "{barcode}",
"Font": 1,
"DoubleWidth": false,
"DoubleHeight": false,
"Wrap": 0,
"BarcodeType": 0,
"BcScale": 0,
"BcHeight": 0,
"BcPrintText": false,
"PictureData": "",
"PageModeItems": null,
"UserCommand": null
},
{
"Type": 0,
"Alignment": 1,
"Place": 0,
"Text": "\n",
"Font": 8,
"DoubleWidth": false,
"DoubleHeight": true,
"Wrap": 2,
"BarcodeType": 0,
"BcScale": 6,
"BcHeight": 1,
"BcPrintText": true,
"PictureData": "",
"PageModeItems": null,
"UserCommand": null
},
{
"Type": 0,
"Alignment": 1,
"Place": 0,
"Text": "\u0414\u043B\u044F \u043F\u043E\u043B\u0443\u0447\u0435\u043D\u0438\u044F \u0431\u0440\u0430\u0441\u043B\u0435\u0442\u0430,",
"Font": 2,
"DoubleWidth": false,
"DoubleHeight": false,
"Wrap": 0,
"BarcodeType": 0,
"BcScale": 0,
"BcHeight": 0,
"BcPrintText": false,
"PictureData": "",
"PageModeItems": null,
"UserCommand": null
},
{
"Type": 0,
"Alignment": 1,
"Place": 0,
"Text": "\u043F\u0440\u0435\u0434\u044A\u044F\u0432\u0438\u0442\u0435 QR \u043A\u043E\u0434 \u043D\u0430 \u043A\u0430\u0441\u0441\u0435",
"Font": 2,
"DoubleWidth": false,
"DoubleHeight": false,
"Wrap": 0,
"BarcodeType": 0,
"BcScale": 0,
"BcHeight": 0,
"BcPrintText": false,
"PictureData": "",
"PageModeItems": null,
"UserCommand": null
},
{
"Type": 0,
"Alignment": 1,
"Place": 0,
"Text": "\u0438\u043B\u0438 \u043E\u0442\u0441\u043A\u0430\u043D\u0438\u0440\u0443\u0439\u0442\u0435",
"Font": 2,
"DoubleWidth": false,
"DoubleHeight": false,
"Wrap": 0,
"BarcodeType": 0,
"BcScale": 0,
"BcHeight": 0,
"BcPrintText": false,
"PictureData": "",
"PageModeItems": null,
"UserCommand": null
},
{
"Type": 0,
"Alignment": 1,
"Place": 0,
"Text": "\u043D\u0430 \u0442\u0435\u0440\u043C\u0438\u043D\u0430\u043B\u0435 \u043F\u043E \u0432\u044B\u0434\u0430\u0447\u0435 \u0431\u0440\u0430\u0441\u043B\u0435\u0442\u043E\u0432",
"Font": 2,
"DoubleWidth": false,
"DoubleHeight": false,
"Wrap": 0,
"BarcodeType": 0,
"BcScale": 0,
"BcHeight": 0,
"BcPrintText": false,
"PictureData": "",
"PageModeItems": null,
"UserCommand": null
},
{
"Type": 0,
"Alignment": 1,
"Place": 0,
"Text": "\n",
"Font": 8,
"DoubleWidth": false,
"DoubleHeight": true,
"Wrap": 2,
"BarcodeType": 0,
"BcScale": 6,
"BcHeight": 1,
"BcPrintText": true,
"PictureData": "",
"PageModeItems": null,
"UserCommand": null
},
{
"Type": 5,
"Alignment": 0,
"Place": 0,
"Text": "",
"Font": 0,
"DoubleWidth": false,
"DoubleHeight": false,
"Wrap": 0,
"BarcodeType": 0,
"BcScale": 0,
"BcHeight": 0,
"BcPrintText": false,
"PictureData": "",
"PageModeItems": null,
"UserCommand": [
27,
105
]
},
{
"Type": 5,
"Alignment": 0,
"Place": 0,
"Text": "",
"Font": 0,
"DoubleWidth": false,
"DoubleHeight": false,
"Wrap": 0,
"BarcodeType": 0,
"BcScale": 0,
"BcHeight": 0,
"BcPrintText": false,
"PictureData": "",
"PageModeItems": null,
"UserCommand": [
29,
101,
3,
6
]
}
]
},

"TicketFormat": {
"PrintingItems": [
{
"type": "barcode",
"alignment": "center",
"text": "12345678",
"doubleWidth": false,
"doubleHeight": false,
"wrap": "None",
"barcodeType": "CODE128",
"bcPrintText": false,
"bcHeight": 150
},
{
"type": "pageMode",
"pageModeItems": [
{
"x": 270,
"y": 70,
"width": 200,
"height": 500,
"direction": 0,
"printing": [
{
"type": "text",
"alignment": "left",
"place": "Before",
"text": "12345678",
"font": 8,
"wrap": "None"
}
]
},
{
"x": 190,
"y": 1500,
"width": 100,
"height": 500,
"direction": 3,
"printing": [
{
"type": "text",
"alignment": "left",
"place": "Before",
"text": "ВЗРОСЛЫЙ",
"font": 8,
"wrap": "None"
}
]
},
{
"x": 225,
"y": 1500,
"width": 100,
"height": 500,
"direction": 3,
"printing": [
{
"type": "text",
"alignment": "left",
"place": "Before",
"text": "Гуамка",
"font": 0,
"wrap": "None"
}
]
},
{
"x": 265,
"y": 1200,
"width": 100,
"height": 500,
"direction": 3,
"printing": [
{
"type": "text",
"alignment": "left",
"place": "Before",
"text": "СЕГОДНЯ",
"font": 8,
"wrap": "None"
}
]
},
{
"x": 305,
"y": 1650,
"width": 100,
"height": 500,
"direction": 3,
"printing": [
{
"type": "text",
"alignment": "left",
"place": "Before",
"text": "100 руб",
"font": 8,
"wrap": "None"
}
]
},
{
"x": 305,
"y": 750,
"width": 100,
"height": 500,
"direction": 3,
"printing": [
{
"type": "text",
"alignment": "left",
"place": "Before",
"text": "КАССА1",
"font": 8,
"wrap": "None"
}
]
},
{
"x": 340,
"y": 1200,
"width": 100,
"height": 500,
"direction": 3,
"printing": [
{
"type": "text",
"alignment": "left",
"place": "Before",
"text": "провоз багажа",
"font": 8,
"wrap": "None"
}
]
}
]
}
]
}, `
</details>