Skip to content

Business Management (1.0.0)

Full-featured B2B API for business operations.

Base URL: https://api.alteg.io/api

⚠️ Version Status

V1 will be gradually deprecated. We recommend using V2 API for new integrations. V1 endpoints are maintained for backward compatibility, but new features will be released in V2 only.

Authentication

Requires both partner and user authorization:

Authorization: Bearer <partner_token>, User <user_token>
Download OpenAPI description
Languages
Servers
Mock server
https://developer.alteg.io/_mock/en/b2b-v1/openapi/
Production
https://api.alteg.io/api/v1/

Authentication B2B

User authentication and session management for B2B integrations

Operations

Locations

Manage business locations (salons, clinics, etc.)

Operations

Services

Service catalog management including categories and team member assignments

Operations

Team Members

Staff management including positions and scheduling

Operations

Clients

Client database management with comments, files, and visit history

Operations

Users & Permissions

User account management and role-based access control

Operations

Appointments

Booking records and visit management

Operations

Events

Group events and class management

Operations

Schedule & Resources

Timetables, schedules, and resource allocation

Operations

Products

Product catalog and categories

Operations

Inventory

Stock management, storage operations, and tech cards

Operations

Sales

Sales transactions and document management

Operations

Payments

Payment processing, accounts, and KKM transactions

Operations

Notifications

SMS and email notifications to clients

Operations

Online Booking Settings

Configure online booking behavior and forms

Operations

Analytics & Reports

Business analytics, charts, and Z-reports

Operations

Tags

Label management for categorizing entities (deprecated, use v2)

Operations

Deposits

Client deposit accounts and operations

Operations

Loyalty Cards

Loyalty card types, issuance, and manual transactions

Operations

Subscriptions & Certificates

Membership subscriptions and gift certificates

Operations

Loyalty Programs

Discount programs, referral programs, and loyalty transactions

Operations

Salary

Staff salary calculations, payroll, and schemes

Operations

Notification Settings

Configure notification types and user preferences

Custom Fields

Custom field definitions for various entities

Operations

Chain Management

Multi-location chain operations and clients

Operations

Chain Loyalty Programs

Chain-level loyalty programs and transactions

Operations

Create a Chain Promotion

Request

Security
BearerPartnerUser
Path
chain_idintegerrequired

Chain ID

Query
includestring

Include additional resources in the answer

Enum"applicable_items""rules""companies""loyalty_card_types""on_changed_notification_template""on_expiration_notification_template"
Headers
Acceptstringrequired

application/vnd.api.v2+json

Content-Typestringrequired

application/json

Authorizationstringrequired

Bearer partner_token, User user_token

Bodyapplication/jsonrequired
company_idsArray of integers(int32)required

Identifiers of locations where the promotion is valid

Example: [49]
good_item_typestringrequired

Type of application to products

Enum"any_allowed""not_allowed""custom_allowed"
Example: "not_allowed"
rulesArray of objects(loyalty_program_rule_request)required

Rules for determining the value of the bonus or discount (only one rule is allowed for fixed promotions)

Example: [{"parameter":10,"value":2.5,"service_id":0},{"parameter":30,"value":7.5,"service_id":0}]
rules[].​parameterinteger(int32)

Rule Threshold (0 for Fixed Stock Types)

Example: 10
rules[].​valuenumber(double)

The value of the discount or bonus

Example: 2.5
rules[].​service_idinteger(int32)

Service ID (only for "Discount by condition" promotion)

service_item_typestringrequired

Type of application to services

Enum"any_allowed""not_allowed""custom_allowed"
Example: "custom_allowed"
titlestringrequired

Share name

Example: "Cumulative discount for some services and not for goods"
typestringrequired

Promotion type

Enum"discount_static""discount_accumulative_visits""discount_accumulative_sold""discount_accumulative_paid""cashback_static_sold""cashback_static_paid""cashback_accumulative_paid""cashback_accumulative_sold""cashback_accumulative_paid_visits""cashback_accumulative_sold_visits"
Example: "discount_accumulative_paid"
value_unitstringrequired

Bonus or discount measurement unit (percentage, fixed amount)

Enum"percent""amount"
Example: "percent"
usage_limitinteger(int32)

Limit on the number of applications (only for cashback)

visit_multiplicityinteger(int32)

Multiplicity of application by visits (only for cashback)

sold_items_multiplicityinteger(int32)

How many services you need to pay to get a discount on promotional services (only for the promotion type "Discount by condition")

expiration_timeoutinteger(int32)

Expiration date of bonuses or discounts

Example: 6
expiration_timeout_unitstring

The unit of measurement for the expiration date of bonuses or discounts

Enum"day""week""month""year"
Example: "month"
expiration_notification_timeoutinteger(int32)

How many days before the bonus or discount expires, a notification must be sent to the client

Example: 7
params_source_typestring

Where to get the client's history to calculate the size of the bonus or discount (for accumulation promotions or conditional discounts)

Enum"loyalty_card""active_companies""chain"
Example: "chain"
history_start_datestring(date)

From what date to take into account the client's history to calculate the size of the bonus or discount (for accumulative promotions or conditional discounts)

Example: "2026-09-21"
loyalty_card_type_idsArray of integers(int32)

Identifiers of types of cards for which the promotion is valid

Example: [51,29]
on_changed_notification_templateobject(loyalty_notification_message_template_request)

Body of the request to bind the loyalty notification template

Example: {"type":"custom","body":"Your discount has changed"}
on_expiration_notification_templateobject(loyalty_notification_message_template_request)

Body of the request to bind the loyalty notification template

Example: {"type":"big"}
allowed_service_idsArray of integers(int32)

Service and service category identifiers (if application type is set for some services)

Example: [53,92]
allowed_good_idsArray of integers(int32)

Item IDs (if application type is set for some items)

Example: []
allowed_good_category_idsArray of integers(int32)

Product category identifiers (if application type is set for some products)

Example: []
curl -i -X POST \
  'https://developer.alteg.io/_mock/en/b2b-v1/openapi/chain/{chain_id}/loyalty/programs?include=applicable_items' \
  -H 'Accept: string' \
  -H 'Authorization: Bearer <YOUR_Bearer {PartnerToken}, User {UserToken}_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "title": "Cumulative discount for some services and not for goods",
    "type": "discount_accumulative_paid",
    "service_item_type": "custom_allowed",
    "good_item_type": "not_allowed",
    "allowed_service_ids": [
      53,
      92
    ],
    "allowed_good_ids": [],
    "allowed_good_category_ids": [],
    "value_unit": "percent",
    "usage_limit": 0,
    "visit_multiplicity": 0,
    "sold_items_multiplicity": 0,
    "expiration_timeout": 6,
    "expiration_timeout_unit": "month",
    "expiration_notification_timeout": 7,
    "params_source_type": "chain",
    "history_start_date": "2026-09-21",
    "loyalty_card_type_ids": [
      51,
      29
    ],
    "on_changed_notification_template": {
      "type": "custom",
      "body": "Your discount has changed"
    },
    "on_expiration_notification_template": {
      "type": "big"
    },
    "rules": [
      {
        "parameter": 10,
        "value": 2.5,
        "service_id": 0
      },
      {
        "parameter": 30,
        "value": 7.5,
        "service_id": 0
      }
    ],
    "company_ids": [
      49
    ]
  }'

Responses

OK

Bodyapplication/json
idinteger(int32)

Stock ID

Example: 34
titlestring

Share name

Example: "Cumulative discount for some services and not for goods"
typestring

Promotion type

Enum"discount_static""discount_accumulative_visits""discount_accumulative_sold""discount_accumulative_paid""cashback_static_sold""cashback_static_paid""cashback_accumulative_paid""cashback_accumulative_sold""cashback_accumulative_paid_visits""cashback_accumulative_sold_visits"
Example: "discount_accumulative_paid"
service_item_typestring

Type of application to services

Enum"any_allowed""not_allowed""custom_allowed"
Example: "custom_allowed"
good_item_typestring

Type of application to products

Enum"any_allowed""not_allowed""custom_allowed"
Example: "not_allowed"
value_unitstring

Bonus or discount measurement unit (percentage, fixed amount)

Enum"percent""amount"
Example: "percent"
usage_limitinteger(int32)

Limit on the number of applications (only for cashback)

visit_multiplicityinteger(int32)

Multiplicity of application by visits (only for cashback)

sold_items_multiplicityinteger(int32)

How many services you need to pay to get a discount on promotional services (only for the type of promotion "Discount by condition")

expiration_timeoutinteger(int32)

Expiration date of bonuses or discounts

Example: 6
expiration_timeout_unitstring

The unit of measurement for the expiration date of bonuses or discounts

Enum"day""week""month""year"
Example: "month"
expiration_notification_timeoutinteger(int32)

How many days before the bonus or discount expires, a notification must be sent to the client

Example: 7
params_source_typestring

Where to get the client's history to calculate the size of the bonus or discount (for accumulation promotions or conditional discounts)

Enum"loyalty_card""active_companies""chain"
Example: "chain"
history_start_datestring(date)

From what date to take into account the client's history to calculate the size of the bonus or discount (for accumulative promotions or conditional discounts)

Example: "2026-09-21"
on_changed_notification_template_idinteger(int32)

Notification template ID when changing bonus or discount

Example: 55
on_expiration_notification_template_idinteger(int32)

Identifier of the notification template when a bonus or discount burns

Example: 84
loyalty_card_typesArray of objects(loyalty_card_type)

Type of cards for which the promotion is valid (on request)

Example: [{"id":51,"title":"Card type 1"},{"id":29,"title":"Card type 2"}]
on_changed_notification_templateobject(loyalty_notification_message_template)

Loyalty notification template

Example: {"id":55,"type":"custom","body":"Your discount has changed","message_type":"loyalty_discount_changed"}
on_expiration_notification_templateobject(loyalty_notification_message_template)

Loyalty notification template

Example: {"id":84,"type":"big","body":"Detailed text about discount burning","message_type":"loyalty_discount_expiration"}
rulesArray of objects(loyalty_program_rule)

Rules for determining the value of the bonus or discount (only one rule is allowed for fixed promotions) (on request)

Example: [{"id":94,"parameter":10,"value":2.5,"loyalty_program_id":34,"loyalty_type_id":3,"service_id":0},{"id":74,"parameter":30,"value":7.5,"loyalty_program_id":34,"loyalty_type_id":3,"service_id":0}]
companiesArray of objects(company)

Locations where the promotion is valid (on request)

Example: [{"id":49,"title":"Location","country":"United States","country_id":5,"city":"New York","city_id":83,"phone":"+13155550175","timezone":"America/New_York","address":"Location address","coordinate_lat":40.73061,"coordinate_lng":18.63}]
applicable_itemsArray of objects(loyalty_entity_attendance_item)

Related entities for selective application of the promotion (on request)

Example: [{"id":53,"title":"Service category 1","is_service":true,"is_category":true},{"id":92,"title":"Service category 2","is_service":true,"is_category":true}]
Response
application/json
{ "id": 34, "title": "Cumulative discount for some services and not for goods", "type": "discount_accumulative_paid", "service_item_type": "custom_allowed", "good_item_type": "not_allowed", "value_unit": "percent", "usage_limit": 0, "visit_multiplicity": 0, "sold_items_multiplicity": 0, "expiration_timeout": 6, "expiration_timeout_unit": "month", "expiration_notification_timeout": 7, "params_source_type": "chain", "history_start_date": "2026-09-21", "on_changed_notification_template_id": 55, "on_expiration_notification_template_id": 84, "loyalty_card_types": [ {}, {} ], "on_changed_notification_template": { "id": 55, "type": "custom", "body": "Your discount has changed", "message_type": "loyalty_discount_changed" }, "on_expiration_notification_template": { "id": 84, "type": "big", "body": "Detailed text about discount burning", "message_type": "loyalty_discount_expiration" }, "rules": [ {}, {} ], "companies": [ {} ], "applicable_items": [ {}, {} ] }

Get a Chain Promotion

Request

Security
BearerPartnerUser
Path
chain_idintegerrequired

Chain ID

loyalty_program_idintegerrequired

Promotion ID

Query
includestring

Include additional resources in the answer

Enum"applicable_items""rules""companies""loyalty_card_types""on_changed_notification_template""on_expiration_notification_template"
Headers
Acceptstringrequired

application/vnd.api.v2+json

Content-Typestringrequired

application/json

Authorizationstringrequired

Bearer partner_token, User user_token

curl -i -X GET \
  'https://developer.alteg.io/_mock/en/b2b-v1/openapi/chain/{chain_id}/loyalty/programs/{loyalty_program_id}?include=applicable_items' \
  -H 'Accept: string' \
  -H 'Authorization: Bearer <YOUR_Bearer {PartnerToken}, User {UserToken}_HERE>' \
  -H 'Content-Type: string'

Responses

OK

Bodyapplication/json
idinteger(int32)

Stock ID

Example: 34
titlestring

Share name

Example: "Cumulative discount for some services and not for goods"
typestring

Promotion type

Enum"discount_static""discount_accumulative_visits""discount_accumulative_sold""discount_accumulative_paid""cashback_static_sold""cashback_static_paid""cashback_accumulative_paid""cashback_accumulative_sold""cashback_accumulative_paid_visits""cashback_accumulative_sold_visits"
Example: "discount_accumulative_paid"
service_item_typestring

Type of application to services

Enum"any_allowed""not_allowed""custom_allowed"
Example: "custom_allowed"
good_item_typestring

Type of application to products

Enum"any_allowed""not_allowed""custom_allowed"
Example: "not_allowed"
value_unitstring

Bonus or discount measurement unit (percentage, fixed amount)

Enum"percent""amount"
Example: "percent"
usage_limitinteger(int32)

Limit on the number of applications (only for cashback)

visit_multiplicityinteger(int32)

Multiplicity of application by visits (only for cashback)

sold_items_multiplicityinteger(int32)

How many services you need to pay to get a discount on promotional services (only for the type of promotion "Discount by condition")

expiration_timeoutinteger(int32)

Expiration date of bonuses or discounts

Example: 6
expiration_timeout_unitstring

The unit of measurement for the expiration date of bonuses or discounts

Enum"day""week""month""year"
Example: "month"
expiration_notification_timeoutinteger(int32)

How many days before the bonus or discount expires, a notification must be sent to the client

Example: 7
params_source_typestring

Where to get the client's history to calculate the size of the bonus or discount (for accumulation promotions or conditional discounts)

Enum"loyalty_card""active_companies""chain"
Example: "chain"
history_start_datestring(date)

From what date to take into account the client's history to calculate the size of the bonus or discount (for accumulative promotions or conditional discounts)

Example: "2026-09-21"
on_changed_notification_template_idinteger(int32)

Notification template ID when changing bonus or discount

Example: 55
on_expiration_notification_template_idinteger(int32)

Identifier of the notification template when a bonus or discount burns

Example: 84
loyalty_card_typesArray of objects(loyalty_card_type)

Type of cards for which the promotion is valid (on request)

Example: [{"id":51,"title":"Card type 1"},{"id":29,"title":"Card type 2"}]
on_changed_notification_templateobject(loyalty_notification_message_template)

Loyalty notification template

Example: {"id":55,"type":"custom","body":"Your discount has changed","message_type":"loyalty_discount_changed"}
on_expiration_notification_templateobject(loyalty_notification_message_template)

Loyalty notification template

Example: {"id":84,"type":"big","body":"Detailed text about discount burning","message_type":"loyalty_discount_expiration"}
rulesArray of objects(loyalty_program_rule)

Rules for determining the value of the bonus or discount (only one rule is allowed for fixed promotions) (on request)

Example: [{"id":94,"parameter":10,"value":2.5,"loyalty_program_id":34,"loyalty_type_id":3,"service_id":0},{"id":74,"parameter":30,"value":7.5,"loyalty_program_id":34,"loyalty_type_id":3,"service_id":0}]
companiesArray of objects(company)

Locations where the promotion is valid (on request)

Example: [{"id":49,"title":"Location","country":"United States","country_id":5,"city":"New York","city_id":83,"phone":"+13155550175","timezone":"America/New_York","address":"Location address","coordinate_lat":40.73061,"coordinate_lng":18.63}]
applicable_itemsArray of objects(loyalty_entity_attendance_item)

Related entities for selective application of the promotion (on request)

Example: [{"id":53,"title":"Service category 1","is_service":true,"is_category":true},{"id":92,"title":"Service category 2","is_service":true,"is_category":true}]
Response
application/json
{ "id": 34, "title": "Cumulative discount for some services and not for goods", "type": "discount_accumulative_paid", "service_item_type": "custom_allowed", "good_item_type": "not_allowed", "value_unit": "percent", "usage_limit": 0, "visit_multiplicity": 0, "sold_items_multiplicity": 0, "expiration_timeout": 6, "expiration_timeout_unit": "month", "expiration_notification_timeout": 7, "params_source_type": "chain", "history_start_date": "2026-09-21", "on_changed_notification_template_id": 55, "on_expiration_notification_template_id": 84, "loyalty_card_types": [ {}, {} ], "on_changed_notification_template": { "id": 55, "type": "custom", "body": "Your discount has changed", "message_type": "loyalty_discount_changed" }, "on_expiration_notification_template": { "id": 84, "type": "big", "body": "Detailed text about discount burning", "message_type": "loyalty_discount_expiration" }, "rules": [ {}, {} ], "companies": [ {} ], "applicable_items": [ {}, {} ] }

Edit Chain Promotion

Request

Security
BearerPartnerUser
Path
chain_idintegerrequired

Chain ID

loyalty_program_idintegerrequired

Promotion ID

Query
includestring

Include additional resources in the answer

Enum"applicable_items""rules""companies""loyalty_card_types""on_changed_notification_template""on_expiration_notification_template"
Bodyapplication/jsonrequired
titlestring

Share name

Example: "Cumulative discount for some services and not for goods"
usage_limitinteger(int32)

Limit on the number of applications (only for cashback)

expiration_timeoutinteger(int32)

Expiration date of bonuses or discounts

Example: 6
expiration_timeout_unitstring

The unit of measurement for the expiration date of bonuses or discounts

Enum"day""week""month""year"
Example: "month"
expiration_notification_timeoutinteger(int32)

How many days before the bonus or discount expires, a notification must be sent to the client

Example: 7
loyalty_card_type_idsArray of integers(int32)

Identifiers of types of cards for which the promotion is valid

Example: [51,29]
on_changed_notification_templateobject(loyalty_notification_message_template_request)

Body of the request to bind the loyalty notification template

Example: {"type":"custom","body":"Your discount has changed"}
on_expiration_notification_templateobject(loyalty_notification_message_template_request)

Body of the request to bind the loyalty notification template

Example: {"type":"big"}
rulesArray of objects(loyalty_program_rule_request)

Rules for determining the value of the bonus or discount (only one rule is allowed for fixed promotions)

Example: [{"parameter":10,"value":2.5,"service_id":0},{"parameter":30,"value":7.5,"service_id":0}]
company_idsArray of integers(int32)

Identifiers of locations where the promotion is valid

Example: [49]
allowed_service_idsArray of integers(int32)

Service and service category identifiers (if application type is set for some services)

Example: [53,92]
allowed_good_idsArray of integers(int32)

Item IDs (if application type is set for some items)

Example: []
allowed_good_category_idsArray of integers(int32)

Product category identifiers (if application type is set for some products)

Example: []
curl -i -X PUT \
  'https://developer.alteg.io/_mock/en/b2b-v1/openapi/chain/{chain_id}/loyalty/programs/{loyalty_program_id}?include=applicable_items' \
  -H 'Authorization: Bearer <YOUR_Bearer {PartnerToken}, User {UserToken}_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "title": "Cumulative discount for some services and not for goods",
    "allowed_service_ids": [
      53,
      92
    ],
    "allowed_good_ids": [],
    "allowed_good_category_ids": [],
    "usage_limit": 0,
    "expiration_timeout": 6,
    "expiration_timeout_unit": "month",
    "expiration_notification_timeout": 7,
    "loyalty_card_type_ids": [
      51,
      29
    ],
    "on_changed_notification_template": {
      "type": "custom",
      "body": "Your discount has changed"
    },
    "on_expiration_notification_template": {
      "type": "big"
    },
    "rules": [
      {
        "parameter": 10,
        "value": 2.5,
        "service_id": 0
      },
      {
        "parameter": 30,
        "value": 7.5,
        "service_id": 0
      }
    ],
    "company_ids": [
      49
    ]
  }'

Responses

OK

Bodyapplication/json
idinteger(int32)

Stock ID

Example: 34
titlestring

Share name

Example: "Cumulative discount for some services and not for goods"
typestring

Promotion type

Enum"discount_static""discount_accumulative_visits""discount_accumulative_sold""discount_accumulative_paid""cashback_static_sold""cashback_static_paid""cashback_accumulative_paid""cashback_accumulative_sold""cashback_accumulative_paid_visits""cashback_accumulative_sold_visits"
Example: "discount_accumulative_paid"
service_item_typestring

Type of application to services

Enum"any_allowed""not_allowed""custom_allowed"
Example: "custom_allowed"
good_item_typestring

Type of application to products

Enum"any_allowed""not_allowed""custom_allowed"
Example: "not_allowed"
value_unitstring

Bonus or discount measurement unit (percentage, fixed amount)

Enum"percent""amount"
Example: "percent"
usage_limitinteger(int32)

Limit on the number of applications (only for cashback)

visit_multiplicityinteger(int32)

Multiplicity of application by visits (only for cashback)

sold_items_multiplicityinteger(int32)

How many services you need to pay to get a discount on promotional services (only for the type of promotion "Discount by condition")

expiration_timeoutinteger(int32)

Expiration date of bonuses or discounts

Example: 6
expiration_timeout_unitstring

The unit of measurement for the expiration date of bonuses or discounts

Enum"day""week""month""year"
Example: "month"
expiration_notification_timeoutinteger(int32)

How many days before the bonus or discount expires, a notification must be sent to the client

Example: 7
params_source_typestring

Where to get the client's history to calculate the size of the bonus or discount (for accumulation promotions or conditional discounts)

Enum"loyalty_card""active_companies""chain"
Example: "chain"
history_start_datestring(date)

From what date to take into account the client's history to calculate the size of the bonus or discount (for accumulative promotions or conditional discounts)

Example: "2026-09-21"
on_changed_notification_template_idinteger(int32)

Notification template ID when changing bonus or discount

Example: 55
on_expiration_notification_template_idinteger(int32)

Identifier of the notification template when a bonus or discount burns

Example: 84
loyalty_card_typesArray of objects(loyalty_card_type)

Type of cards for which the promotion is valid (on request)

Example: [{"id":51,"title":"Card type 1"},{"id":29,"title":"Card type 2"}]
on_changed_notification_templateobject(loyalty_notification_message_template)

Loyalty notification template

Example: {"id":55,"type":"custom","body":"Your discount has changed","message_type":"loyalty_discount_changed"}
on_expiration_notification_templateobject(loyalty_notification_message_template)

Loyalty notification template

Example: {"id":84,"type":"big","body":"Detailed text about discount burning","message_type":"loyalty_discount_expiration"}
rulesArray of objects(loyalty_program_rule)

Rules for determining the value of the bonus or discount (only one rule is allowed for fixed promotions) (on request)

Example: [{"id":94,"parameter":10,"value":2.5,"loyalty_program_id":34,"loyalty_type_id":3,"service_id":0},{"id":74,"parameter":30,"value":7.5,"loyalty_program_id":34,"loyalty_type_id":3,"service_id":0}]
companiesArray of objects(company)

Locations where the promotion is valid (on request)

Example: [{"id":49,"title":"Location","country":"United States","country_id":5,"city":"New York","city_id":83,"phone":"+13155550175","timezone":"America/New_York","address":"Location address","coordinate_lat":40.73061,"coordinate_lng":18.63}]
applicable_itemsArray of objects(loyalty_entity_attendance_item)

Related entities for selective application of the promotion (on request)

Example: [{"id":53,"title":"Service category 1","is_service":true,"is_category":true},{"id":92,"title":"Service category 2","is_service":true,"is_category":true}]
Response
application/json
{ "id": 34, "title": "Cumulative discount for some services and not for goods", "type": "discount_accumulative_paid", "service_item_type": "custom_allowed", "good_item_type": "not_allowed", "value_unit": "percent", "usage_limit": 0, "visit_multiplicity": 0, "sold_items_multiplicity": 0, "expiration_timeout": 6, "expiration_timeout_unit": "month", "expiration_notification_timeout": 7, "params_source_type": "chain", "history_start_date": "2026-09-21", "on_changed_notification_template_id": 55, "on_expiration_notification_template_id": 84, "loyalty_card_types": [ {}, {} ], "on_changed_notification_template": { "id": 55, "type": "custom", "body": "Your discount has changed", "message_type": "loyalty_discount_changed" }, "on_expiration_notification_template": { "id": 84, "type": "big", "body": "Detailed text about discount burning", "message_type": "loyalty_discount_expiration" }, "rules": [ {}, {} ], "companies": [ {} ], "applicable_items": [ {}, {} ] }

Fiscalization

Tax system integration and KKM callbacks

Operations

Utilities

License info, phone validation, images, and tips

Operations