# Data models

The property type convention in this context follows the notation of C# (.NET). The presence of a quotation mark (`?`) indicates the nullability of a value. For example, a `string` property cannot be null, whereas a property of type `string?` can have a null value.

## Additive

Enumeration with the following values:

| Value                   | English Term                   | Slovak Term                    |
| ----------------------- | ------------------------------ | ------------------------------ |
| `colorant`              | Colorants                      | Farbivá                        |
| `colorantAdverseEffect` | Colorants with adverse effects | Farbivá s nežiaducimi účinkami |
| `preservatives`         | Preservatives                  | Konzervanty                    |
| `antioxidant`           | Antioxidants                   | Antioxidanty                   |
| `flavorEnhancer`        | Flavor enhancers               | Zvýrazňovače chuti             |
| `sulfites`              | Sulfites                       | Siričitany                     |
| `blackened`             | Blackened/carbon coloring      | Uhlíkové zafarbenie (černenie) |
| `waxed`                 | Waxed                          | Voskované                      |
| `phosphate`             | Phosphate                      | Fosfát                         |
| `sweetener`             | Sweeteners                     | Sladidlá                       |
| `caffeine`              | Caffeine                       | Kofeín                         |
| `quinine`               | Quinine                        | Chinín                         |
| `geneticallymodified`   | Genetically modified           | Geneticky modifikované         |
| `acidifiers`            | Acidifiers                     | Okysľovadlá                    |
| `stabilisers`           | Stabilisers                    | Stabilizátory                  |
| `protein`               | Protein                        | Bielkoviny                     |

## Allergen

Enumeration with the following values:

| Value                     | English Term              | Slovak Term                                                                                                                                  |
| ------------------------- | ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
| `celery`                  | Celery                    | Zeler a výrobky z neho                                                                                                                       |
| `cereal`                  | Cereal grains             | Obilniny obsahujúce lepok (pšenica, raž, jačmeň, ovos, špalda, kamut alebo ich hybridné odrody)                                              |
| `crustaceans`             | Crustaceans               | Kôrovce a výrobky z nich (napr. krevety, kraby)                                                                                              |
| `eggs`                    | Eggs                      | Vajcia a výrobky z nich                                                                                                                      |
| `fish`                    | Fish                      | Ryby a výrobky z nich                                                                                                                        |
| `lupin`                   | Lupin                     | Vlčí bôb (lupina) a výrobky z neho                                                                                                           |
| `milk`                    | Milk                      | Mlieko a výrobky z neho (vrátane laktózy)                                                                                                    |
| `molluscs`                | Molluscs                  | Mäkkýše a výrobky z nich (napr. mušle, slávky)                                                                                               |
| `mustard`                 | Mustard                   | Horčica a výrobky z nej                                                                                                                      |
| `peanuts`                 | Peanuts                   | Arašidy a výrobky z nich                                                                                                                     |
| `sesameSeeds`             | Sesame seeds              | Sezamové semená a výrobky z nich                                                                                                             |
| `soybeans`                | Soybeans                  | Sójové zrná a výrobky z nich                                                                                                                 |
| `sulphurDioxideSulphites` | Sulphur dioxide/sulphites | Oxid siričitý a siričitany (v koncentráciách vyšších ako 10 mg/kg alebo 10 mg/l)                                                             |
| `nuts`                    | Nuts                      | Orechy (mandle, lieskové orechy, vlašské orechy, kešu, pekanové orechy, para orechy, pistácie, makadamové orechy alebo queenslandské orechy) |

## Address

<table><thead><tr><th width="232">Property name</th><th width="222.99999999999997">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>street</code></td><td><code>string?</code></td><td>Street name, office number and/or building number.</td></tr><tr><td><code>city</code></td><td><code>string?</code></td><td>City</td></tr><tr><td><code>zipCode</code></td><td><code>string?</code></td><td>Postal code</td></tr><tr><td><code>country</code></td><td><code>string?</code></td><td>Country</td></tr></tbody></table>

## ApiKey

<table><thead><tr><th width="232">Property name</th><th width="231.99999999999997">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>id</code></td><td><code>string</code></td><td>Unique identifier.</td></tr><tr><td><code>clientId</code></td><td><code>string</code></td><td>Public API key.</td></tr><tr><td><code>clientSecret</code></td><td><code>string</code></td><td>API secret key, used to hash request payload.</td></tr><tr><td><code>isActive</code></td><td><code>bool</code></td><td>Indicates whether given API key can be used.</td></tr><tr><td><code>createdAt</code></td><td><code>DateTime</code></td><td>Date and time, when the API key was created.</td></tr><tr><td><code>name</code></td><td><code>string</code></td><td>Something users will recognize and trust.</td></tr><tr><td><code>description</code></td><td><code>string?</code></td><td>This is displayed to all potential users of your application.</td></tr><tr><td><code>userName</code></td><td><code>string</code></td><td>User identifier associated with given API key.</td></tr><tr><td><code>deviceName</code></td><td><code>string</code></td><td>Device name associated with given API key.</td></tr><tr><td><code>permissions</code></td><td><code>string[]</code></td><td>Collection of permissions associated with given API key.</td></tr><tr><td><code>_v</code></td><td><code>int</code></td><td>Resource version. This property is tracked and updated by API.</td></tr></tbody></table>

## ArticleCategory

Each product or service within the PORTOS system is linked to a specific category, which is referred to as the article category. This categorization helps in organizing and classifying items, allowing for efficient management and navigation within the system.

<table><thead><tr><th width="232">Property name</th><th width="195.99999999999997">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>label</code></td><td><code>string</code></td><td>Unique abbreviation of article category description, which may contain up to 3 characters.</td></tr><tr><td><code>description</code></td><td><code>string</code></td><td>Full name (descripition) of article category, visible for cashiers.</td></tr><tr><td><code>customerDescription</code></td><td><code>string?</code></td><td>Full description for customer (used mostly in menus)</td></tr><tr><td><code>courseNumber</code></td><td><code>int?</code></td><td>Optional course number that will be initially applied to product associated with given article category.</td></tr><tr><td><code>color</code></td><td><code>string?</code></td><td>Color in RGB format, including leading <code>#</code> symbol. E.g. <code>#fff</code> or <code>#aabbcc</code>.</td></tr><tr><td><code>sortHint</code></td><td><code>int?</code></td><td>Optional sort hint (to order article categories in cash register application)</td></tr><tr><td><code>tags</code></td><td><code>string[]?</code></td><td>Optional collection of tags (used in statistics).</td></tr><tr><td><code>ordering</code></td><td><a href="#articlecategoryorderingitem"><code>ArticleCategoryOrderingItem</code></a><code>[]</code></td><td>Ordering settings for article category.</td></tr><tr><td><code>_v</code></td><td><code>int</code></td><td>Resource version. This property is tracked and updated by API.</td></tr></tbody></table>

`SortHint` property is used to achieve user defined article categories sorting in cash register application(s). This optional property is of nullable integer type. Article categories with lowest value are displayed first, `null` have lowest priority. Categories with same `SortHint` value are sorted alphabetically.

Example:

<table><thead><tr><th width="266.5">SortHint</th><th>Description</th></tr></thead><tbody><tr><td>0</td><td>Beers</td></tr><tr><td>0</td><td>Drinks</td></tr><tr><td>1</td><td>Pizza</td></tr><tr><td>2</td><td>Wine</td></tr><tr><td>null</td><td>Beverages</td></tr><tr><td>null</td><td>Specials</td></tr></tbody></table>

## ArticleCategoryOrderingItem

Settings for article category ([`ArticleCategory`](#articlecategory)) ordering related to specific [`OrderOrigin`](#orderorigin).

<table><thead><tr><th width="231.99999999999997">Property name</th><th width="232">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>orderOrigin</code></td><td><a href="#orderorigin"><code>OrderOrigin</code></a></td><td>Order origin associated with this item.</td></tr><tr><td><code>enabled</code></td><td><code>bool</code></td><td>Determines whether given type of <a href="#orderorigin">order origin</a> is enabled for associated <a href="#articlecategory">Article category</a>.</td></tr><tr><td><code>weeklySchedule</code></td><td><a href="#weeklyscheduleitem"><code>WeeklyScheduleItem</code></a><code>[]</code></td><td>Gets ordering weekly schedule. If value is <code>null</code> or empty collection, schedule is not limited and article category is available 24/7. Otherwise, schedule is specified by items in collection. Empty collection means no time slots restrictions.</td></tr></tbody></table>

## PluPackaging

## AuthResult

<table><thead><tr><th width="180.66666666666666">Name</th><th width="232">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>tokenId</code></td><td><code>string</code></td><td>The JWT token using for authenticating requests.</td></tr><tr><td><code>refreshToken</code></td><td><code>string</code></td><td>The refresh token.</td></tr><tr><td><code>user</code></td><td><a href="#userprofilecontext"><code>UserProfileContext</code></a></td><td>The user profile consists of information about the user themselves and the settings of the device they are logged onto. Depending on the device type, the structure of <code>settings</code> and <code>preferences</code> may vary.</td></tr></tbody></table>

## BackOfficeDeviceSettings

No properties are currently defined. Settings are managed directly in PORTOS BackOffice application.

## BankAccount

<table><thead><tr><th width="232">Property name</th><th width="222.99999999999997">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>bankCountry</code></td><td><code>string?</code></td><td>The country where the bank associated with the account is located. It represents the jurisdiction and regulatory framework under which the bank operates.</td></tr><tr><td><code>bankName</code></td><td><code>string?</code></td><td>The name of the bank where the account is held.</td></tr><tr><td><code>iban</code></td><td><code>string?</code></td><td>International Bank Account Number. A standardized numerical code used to identify a specific bank account internationally.</td></tr><tr><td><code>number</code></td><td><code>string?</code></td><td>Bank account number in older (non international) format.</td></tr><tr><td><code>swift</code></td><td><code>string?</code></td><td>SWIFT code (also known as BIC - Bank Identifier Code) is a unique identification code assigned to each bank globally.</td></tr></tbody></table>

## CashRegisterDeviceSettings

<table><thead><tr><th width="247">Name</th><th width="129">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>MaxQuantity</code></td><td><code>decimal?</code></td><td>Maximal quantity user can specify in single ticket item.</td></tr><tr><td><code>DefaultFiscalName</code></td><td><code>string?</code></td><td>Determines name of fiscal device associated with cash register. Usage of different fiscal device may be conditioned by rights of authorized user.</td></tr><tr><td><code>OpenedPrices</code></td><td><code>bool</code></td><td>Determines whether user can specify unit price of ticket item different than product's unit price.</td></tr><tr><td><code>NoticeOnNegativeSale</code></td><td><code>bool</code></td><td>Determines whether insufficient PLU stock quantity would be indicated to authorized user.</td></tr><tr><td><code>VisibleQuantities</code></td><td><code>bool</code></td><td>Determines whether PLU stock quantities can be visible for authorized user. Otherwise, application must not display such information.</td></tr><tr><td><code>DefaultOrderEndpointName</code></td><td><code>string?</code></td><td>Determines name of order endpoint device associated with cash register. Usage of different order endpoint may be conditioned by rights of authorized user.</td></tr><tr><td><code>DefaultStockName</code></td><td><code>string?</code></td><td>Determines name of stock associated with cash register. Usage of different stock may be conditioned by rights of authorized user.</td></tr></tbody></table>

All other settings are managed directly in the PORTOS Cash register application (PORTOS Pokladňa).

## CashTransfer

<table><thead><tr><th width="232">Property name</th><th width="222.99999999999997">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>amount</code></td><td><a href="#price"><code>Price</code></a></td><td>Cash transfer operation amount. Positive for deposit or negative for withdrawal.</td></tr><tr><td><code>date</code></td><td><code>DateTime</code></td><td>Date and time of cash transfer operation</td></tr><tr><td><code>employee</code></td><td><a href="#userinfo"><code>UserInfo</code></a></td><td>Employee who performed cash transfer operation.</td></tr></tbody></table>

## Company

<table><thead><tr><th width="194.66666666666666">Name</th><th width="225">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>id</code></td><td><code>string</code></td><td>Unique company identifier. If not specified, ID is generated by API.</td></tr><tr><td><code>isActive</code></td><td><code>bool</code></td><td>Gets whether this company is active and can be used (e.g. paired with stock transfers).</td></tr><tr><td><code>name</code></td><td><code>string</code></td><td>Company name.</td></tr><tr><td><code>crn</code></td><td><code>string</code></td><td>Company registration number (known as IČO, in Slovak Republic)</td></tr><tr><td><code>vatId</code></td><td><code>string</code></td><td>VAT ID (known as IČ DPH, in Slovak Republic)</td></tr><tr><td><code>taxId</code></td><td><code>string</code></td><td>TAX ID (known as DIČ, in Slovak Republic)</td></tr><tr><td><code>isTaxPayer</code></td><td><code>bool</code></td><td>Gets whether this company is tax payer.</td></tr><tr><td><code>register</code></td><td><code>string?</code></td><td>The company's entry in the business register</td></tr><tr><td><code>dueDays</code></td><td><code>int?</code></td><td>The number of days given to a company for payment after issuing an invoice.</td></tr><tr><td><code>type</code></td><td><a href="#companytype"><code>CompanyType</code></a></td><td>The company categorization.</td></tr><tr><td><code>discountRate</code></td><td><code>decimal</code></td><td>Discount rate percentage, with value between 0 and 100, with precision up to two decimal places, that is automatically assigned to invoice associated with given company. </td></tr><tr><td><code>isDefault</code></td><td><code>bool</code></td><td>When <code>true</code>, this record represents merchant (owner of cash register system).</td></tr><tr><td><code>addresses</code></td><td><a href="#companyaddress"><code>CompanyAddress</code></a><code>[]</code></td><td>The addresses associated with company.</td></tr><tr><td><code>bankAccounts</code></td><td><a href="#companybankaccount"><code>CompanyBankAccount</code></a><code>[]</code></td><td>The bank accounts associated with company.</td></tr><tr><td><code>contacts</code></td><td><a href="#companycontact"><code>CompanyContact</code></a><code>[]</code></td><td>The contacts associated with company.</td></tr><tr><td><code>_v</code></td><td><code>int</code></td><td>Resource version. This property is tracked and updated by API.</td></tr></tbody></table>

## CompanyType

Enumeration with the following values:

<table><thead><tr><th width="192.99999999999997">Value</th><th>Description</th></tr></thead><tbody><tr><td><code>unknown</code></td><td>Type used when company is not exclusively supplier nor purchaser.</td></tr><tr><td><code>supplier</code></td><td>Company that is responsible for producing or delivering the products.</td></tr><tr><td><code>purchaser</code></td><td>Also known as a buyer, is a company acquires goods or services from a merchant.</td></tr></tbody></table>

## CompanyAddress

<table><thead><tr><th width="232">Property name</th><th width="222.99999999999997">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>street</code></td><td><code>string?</code></td><td>Street name, office number and/or building number.</td></tr><tr><td><code>city</code></td><td><code>string?</code></td><td>City</td></tr><tr><td><code>zipCode</code></td><td><code>string?</code></td><td>Postal code</td></tr><tr><td><code>country</code></td><td><code>string?</code></td><td>Country</td></tr><tr><td><code>type</code></td><td><a href="#companyaddresstype"><code>CompanyAddressType</code></a></td><td>Specifies purpose of address.</td></tr></tbody></table>

## CompanyAddressType

Enumeration with the following values:

<table><thead><tr><th width="192.99999999999997">Value</th><th>Description</th></tr></thead><tbody><tr><td><code>unknown</code></td><td>The specific purpose or nature of the address is not known or specified. It might be used when the address information is incomplete or when there is a lack of information about the purpose of the address.</td></tr><tr><td><code>office</code></td><td>An office address refers to the physical location where a company or organization conducts its business operations.</td></tr><tr><td><code>billing</code></td><td>The address to which invoices, bills, or payment requests are sent.</td></tr><tr><td><code>shipping</code></td><td>Tthe destination address where goods or products are to be delivered.</td></tr><tr><td><code>other</code></td><td>Any address that does not fit into the predefined types mentioned above.</td></tr></tbody></table>

## CompanyBankAccount

<table><thead><tr><th width="232">Property name</th><th width="222.99999999999997">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>bankCountry</code></td><td><code>string?</code></td><td>The country where the bank associated with the account is located. It represents the jurisdiction and regulatory framework under which the bank operates.</td></tr><tr><td><code>bankName</code></td><td><code>string?</code></td><td>The name of the bank where the account is held.</td></tr><tr><td><code>iban</code></td><td><code>string?</code></td><td>International Bank Account Number. A standardized numerical code used to identify a specific bank account internationally.</td></tr><tr><td><code>number</code></td><td><code>string?</code></td><td>Bank account number in older (non international) format.</td></tr><tr><td><code>swift</code></td><td><code>string?</code></td><td>SWIFT code (also known as BIC - Bank Identifier Code) is a unique identification code assigned to each bank globally.</td></tr><tr><td><code>isDefault</code></td><td><code>bool</code></td><td>Indicates whether the bank account is set as the primary account for company.</td></tr></tbody></table>

## Contact

<table><thead><tr><th width="232">Property name</th><th width="222.99999999999997">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>fax</code></td><td><code>string?</code></td><td>Fax number associated with a person.</td></tr><tr><td><code>phone</code></td><td><code>string?</code></td><td>Telephone number associated with a person's landline or fixed-line phone.</td></tr><tr><td><code>mobile</code></td><td><code>string?</code></td><td>Telephone number associated with a person's mobile device.</td></tr><tr><td><code>email</code></td><td><code>string?</code></td><td>Person's email address.</td></tr></tbody></table>

## CompanyContact

<table><thead><tr><th width="232">Property name</th><th width="222.99999999999997">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>name</code></td><td><code>string?</code></td><td>Given or first name of an individual.</td></tr><tr><td><code>surname</code></td><td><code>string?</code></td><td>The inherited or family name of an individual.</td></tr><tr><td><code>email</code></td><td><code>string?</code></td><td>Person's email address.</td></tr><tr><td><code>mobile</code></td><td><code>string?</code></td><td>Telephone number associated with a person's mobile device.</td></tr><tr><td><code>phone</code></td><td><code>string?</code></td><td>Telephone number associated with a person's landline or fixed-line phone.</td></tr><tr><td><code>fax</code></td><td><code>string?</code></td><td>Fax number associated with a person.</td></tr><tr><td><code>isDefault</code></td><td><code>string?</code></td><td>Indicates whether a particular contact is primary contact for associated company.</td></tr><tr><td><code>note</code></td><td><code>string?</code></td><td>Helds any relevant additional information or comments about the contact. It can be used to include any specific details or instructions related to the contact or communication with the person.</td></tr></tbody></table>

## CountQueryResult

This model is returned for all GET collection routes when `$count` query parameter is set to `true`. Opposing to [`QueryResult`](#queryresult), This model is used to retrieve only count of elements, not elements themself.

<table><thead><tr><th width="232">Property name</th><th width="231.99999999999997">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>count</code></td><td><code>int</code></td><td>Number of elements matching the query.</td></tr><tr><td><code>totalCount</code></td><td><code>int</code></td><td>Number of total resources available. Value may differ from <code>count</code>, when pagination or filtering is applied.</td></tr></tbody></table>

## Currency

<table><thead><tr><th width="232">Property name</th><th width="231.99999999999997">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>label</code></td><td><code>string</code></td><td>The three-letter currency code ISO4217 standard.</td></tr><tr><td><code>sign</code></td><td><code>string?</code></td><td>Visual representation used to denote a specific currency in written or printed form. For example, the symbol for the United States Dollar is $, while the Euro is represented by €.</td></tr><tr><td><code>isDomestic</code></td><td><code>bool</code></td><td>Indicates whether a currency is considered the domestic currency of a particular country or region.</td></tr><tr><td><code>exchangeRate</code></td><td><code>decimal</code></td><td>Represents the rate at which one currency can be exchanged for another. Domestic currency's exchange rate is equal to 1.</td></tr><tr><td><code>description</code></td><td><code>string</code></td><td>Currency's full name.</td></tr><tr><td><code>_v</code></td><td><code>int</code></td><td>Resource version. This property is tracked and updated by API.</td></tr></tbody></table>

## Customer

<table><thead><tr><th width="251.66666666666666">Name</th><th width="237">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>id</code></td><td><code>string</code></td><td>Unique customer identifier. If not specified, ID is generated by API.</td></tr><tr><td><code>externalId</code></td><td><code>string?</code></td><td>Unique identifier provided by external system.</td></tr><tr><td><code>isActive</code></td><td><code>bool</code></td><td>Gets whether this customer is active and can be used (e.g. paired with tickets).</td></tr><tr><td><code>status</code></td><td><code>string</code></td><td>Customer state. One of following: <code>valid</code>, <code>notYetValid</code>, <code>expired</code>.</td></tr><tr><td><code>activationTime</code></td><td><code>DateTime?</code></td><td>Date and time since customer is active.</td></tr><tr><td><code>expirationTime</code></td><td><code>DateTime?</code></td><td>Date and time until customer is acive.</td></tr><tr><td><code>firstName</code></td><td><code>string?</code></td><td>First name.</td></tr><tr><td><code>lastName</code></td><td><code>string?</code></td><td>Second name.</td></tr><tr><td><code>fullName</code></td><td><code>string?</code></td><td>Full or display name (if not provided, combination of <code>firstName</code> and <code>lastName</code> is used.</td></tr><tr><td><code>gender</code></td><td><code>string?</code></td><td><code>male</code>, <code>female</code> or <code>null</code> for other/unspecified.</td></tr><tr><td><code>birthDate</code></td><td><code>DateTime?</code></td><td>Birth date.</td></tr><tr><td><code>email</code></td><td><code>string?</code></td><td>Customer email.</td></tr><tr><td><code>phone</code></td><td><code>string?</code></td><td>Phone number.</td></tr><tr><td><code>isCompany</code></td><td><code>bool</code></td><td>Specifies wheter customer is associated with company.</td></tr><tr><td><code>company</code></td><td><a href="#customercompany"><code>CustomerCompany?</code></a></td><td>Information about company associated with customer.</td></tr><tr><td><code>address</code></td><td><a href="#customeraddress"><code>CustomerAddress?</code></a></td><td>Customer address.</td></tr><tr><td><code>deliveryAddress</code></td><td><a href="#customeraddress"><code>CustomerAddress?</code></a></td><td>Customer delivery address.</td></tr><tr><td><code>credit</code></td><td><a href="#price"><code>Price</code></a></td><td>Cash balance on customer account.</td></tr><tr><td><code>creditTransaction</code></td><td><a href="#customercredittransaction"><code>CustomerCreditTransaction[]</code></a></td><td>History of financial operations that affects <code>credit</code>.</td></tr><tr><td><code>cards</code></td><td><a href="#customercard"><code>CustomerCard[]</code></a></td><td>Collection of cards associated with customer.</td></tr><tr><td><code>creditRate</code></td><td><code>decimal</code></td><td>Cashback coeficient. If set to <code>0.01</code>, for every spent unit of currency, one cent is returned as cash back to credit balance. Must be positive number or zero.</td></tr><tr><td><code>discountRate</code></td><td><code>decimal</code></td><td>Discount rate with value between 0 and 100. Up to 2 decimal places.</td></tr><tr><td><code>note</code></td><td><code>string?</code></td><td>Optional note.</td></tr><tr><td>meta</td><td><a href="#meta"><code>Meta</code></a></td><td>Object that holds additional data (usually supplied by external system).</td></tr><tr><td><code>_v</code></td><td><code>int</code></td><td>Resource version. This property is tracked and updated by API.</td></tr></tbody></table>

## CustomerAddress

<table><thead><tr><th width="231.99999999999997">Name</th><th width="232">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>street</code></td><td><code>string</code></td><td>Street name and building number</td></tr><tr><td><code>city</code></td><td><code>string</code></td><td>City</td></tr><tr><td><code>postalCode</code></td><td><code>string?</code></td><td>Postal code</td></tr><tr><td><code>country</code></td><td><code>string</code></td><td>Country</td></tr><tr><td><code>coordinates</code></td><td><a href="#geocoordinates"><code>GeoCoordinates?</code></a></td><td>GPS coordinates</td></tr><tr><td><code>note</code></td><td><code>string?</code></td><td>Note related to customer address</td></tr></tbody></table>

## CustomerCard

<table><thead><tr><th width="231.99999999999997">Name</th><th width="283">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>externalId</code></td><td><code>string?</code></td><td></td></tr><tr><td><code>isActive</code></td><td><code>bool</code></td><td>Specifies whether this card is active and can be used.</td></tr><tr><td><code>isVirtual</code></td><td><code>bool</code></td><td>Specifies whether this card has physical representation.</td></tr><tr><td><code>serialNumber</code></td><td><code>string</code></td><td>Unique serial number. This value is unique across all customers stored in system.</td></tr><tr><td><code>processor</code></td><td><code>string</code></td><td><code>P</code> for physical cards, <code>G</code> as general for other card types.</td></tr><tr><td><code>status</code></td><td><a href="#customercardstatus"><code>CustomerCardStatus</code></a></td><td>Card status.</td></tr><tr><td><code>statusTime</code></td><td><code>DateTime?</code></td><td>Date and time of last status change.</td></tr><tr><td><code>statusReason</code></td><td><code>string?</code></td><td>Status change reason.</td></tr><tr><td><code>activationTime</code></td><td><code>DateTime</code></td><td>The date and time from which the card will be valid.</td></tr><tr><td><code>expirationTime</code></td><td><code>DateTime?</code></td><td>The date and time until which the card will be valid.</td></tr><tr><td><code>note</code></td><td><code>string?</code></td><td>Optional note related to this customer card.</td></tr><tr><td><code>meta</code></td><td><a href="#meta"><code>Meta</code></a></td><td>Object that holds additional data (usually supplied by external system).</td></tr><tr><td><code>_v</code></td><td><code>int</code></td><td>Resource version. This property is tracked and updated by API.</td></tr></tbody></table>

## CustomerCardStatus

Enumeration with the following values:

* `NotIssued`: the card is created in system, but not issued yet.
* `IssueFailed`: card issuing failed.
* `IssueCanceled`: card issuing has been canceled.&#x20;
* `IssueSkipped`: card issuing has been skipped, as one or more conditions were not met.
* `ReissueRequested`: a reissue was requested.
* `Valid`: card is issued and valid (active already and not yet expired)
* `NotYetValid`: Card is issued but not yet valid (`activationTime` has not been reached yet).
* `Expired`: card is expired (`expirationTime` has been reached).
* `Blocked`: card is blocked (e.g. has been lost or compromised)
* `DisposeRequested`: card disposal has been requested.
* `Disposed`: card has been disposed.

## CustomerCompany

<table><thead><tr><th width="231.99999999999997">Name</th><th width="232">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>name</code></td><td><code>string?</code></td><td>Company name.</td></tr><tr><td><code>crn</code></td><td><code>string?</code></td><td>Company registration number (IČO).</td></tr><tr><td><code>vatId</code></td><td><code>string?</code></td><td>Company VAT identifier (IČ DPH)</td></tr><tr><td><code>taxId</code></td><td><code>string?</code></td><td>Company TAX identifier (DIČ)</td></tr></tbody></table>

## CustomerCreditTransaction

<table><thead><tr><th width="231.99999999999997">Name</th><th width="232">Type</th><th width="232">Description</th></tr></thead><tbody><tr><td><code>id</code></td><td><code>string</code></td><td>Unique transaction identifier.</td></tr><tr><td><code>externalId</code></td><td><code>string?</code></td><td>External identifier supplied by client-side or external system.</td></tr><tr><td><code>sequenceNumber</code></td><td><code>int</code></td><td>Transactions sequence number. Value is supplied by API.</td></tr><tr><td><code>amount</code></td><td><a href="#price"><code>Price</code></a></td><td>Transaction amount. Can be positive or negative number.</td></tr><tr><td><code>type</code></td><td><a href="#customercredittransactiontype"><code>CustomerCreditTransactionType</code></a></td><td>Type of transaction.</td></tr><tr><td><code>endingCreditBalanceAmount</code></td><td><a href="#price"><code>Price</code></a></td><td>Resulting credit balance after transaction.</td></tr><tr><td><code>creationTime</code></td><td><code>DateTime</code></td><td>Date and time of transaction.</td></tr><tr><td><code>note</code></td><td><code>string?</code></td><td>Optional note related to transaction.</td></tr><tr><td><code>meta</code></td><td><a href="#meta"><code>Meta</code></a></td><td>Object that holds additional data (usually supplied by external system).</td></tr></tbody></table>

## CustomerCreditTransactionType

Enumeration with the following values:

* `adjustment`: credit consumption or cash-back
* `deposit`: credit top up
* `withdrawal`: funds withdrawal
* `correction`: manual balance correction
* `other`: none of above

## DailySalesReport

<table><thead><tr><th width="231.99999999999997">Name</th><th width="283">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>id</code></td><td><code>string</code></td><td>Unique identifier. If not specified, ID is generated by API.</td></tr><tr><td><code>fiscalName</code></td><td><code>bool</code></td><td>Name of fiscal device associated with given daily sales report.</td></tr><tr><td><code>number</code></td><td><code>bool</code></td><td>Daily sales report sequence number, unique within specific <code>fiscalName</code> an <code>fiscalMemorySerialNumber</code>.</td></tr><tr><td><code>fiscalMemorySerialNumber</code></td><td><code>string</code></td><td>Serial number of fiscal memory inserted in fiscal device.</td></tr><tr><td><code>openDate</code></td><td><code>DateTime</code></td><td>Date and time of daily sales report creation (related to first ticket closure or first cash transfer since previous daily sales report).</td></tr><tr><td><code>closeDate</code></td><td><code>DateTime?</code></td><td>Date and time of daily sales report closure.</td></tr><tr><td><code>currencyLabel</code></td><td><code>string</code></td><td>Label of currency, in which all money information is stored for this daily sales report</td></tr><tr><td><code>cashTransfers</code></td><td><a href="#cashtransfer"><code>CashTransfer</code></a><code>[]</code></td><td>Collection of cash transfers.</td></tr><tr><td><code>fiscalInfo</code></td><td><a href="#dailysalesreportfiscalinfo"><code>DailySalesReportFiscalInfo?</code></a></td><td>Information determined during fiscal daily sales report closing procedure. Is null when <code>state</code> is <code>open</code> or <code>manuallyClosed</code>. Is not null, when <code>state</code> is <code>closed</code>.</td></tr><tr><td><code>state</code></td><td><a href="#dailysalesreportstatus"><code>DailySalesReportStatus</code></a></td><td></td></tr><tr><td><code>_v</code></td><td><code>int</code></td><td>Resource version. This property is tracked and updated by API.</td></tr></tbody></table>

## DailySalesReportCopyContext

This model is used to specify the daily sales report for which a copy is going to be printed. The daily sales report can be identified by either its number (`dailySalesReportNumber` property) or the closing date of the report (`dailySalesReportDate` properties).

<table><thead><tr><th width="231.99999999999997">Name</th><th width="232">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>dailySalesReportNumber</code></td><td><code>int?</code></td><td>Daily sales report number.</td></tr><tr><td><code>dailySalesReportDate</code></td><td><code>DateTime?</code></td><td>Daily sales report close date.</td></tr></tbody></table>

## DailySalesReportFiscalInfo

<table><thead><tr><th width="285">Property name</th><th width="133">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>ticketsCount</code></td><td><code>int</code></td><td>Number of <a href="#ticket">tickets</a> with <code>cashRegister</code> <a href="#tickettype">type</a> associated with given daily sales report.</td></tr><tr><td><code>ticketsAmountIncludingVat</code></td><td><a href="#price"><code>Price</code></a></td><td>Total amount (including VAT) of all associated <a href="#ticket">tickets</a> with <code>cashRegister</code> <a href="#tickettype">type</a>.</td></tr><tr><td><code>invalidTicketsCount</code></td><td><code>int</code></td><td>Number of <a href="#ticket">tickets</a> with <code>invalid</code> <a href="#tickettype">type</a> associated with given daily sales report.</td></tr><tr><td><code>invalidTicketsAmountIncludingVat</code></td><td><a href="#price"><code>Price</code></a></td><td>Total amount (including VAT) of all associated <a href="#ticket">tickets</a> with <code>invalid</code> <a href="#tickettype">type</a>.</td></tr><tr><td><code>invoiceTicketsCount</code></td><td><code>int</code></td><td>Number of <a href="#ticket">tickets</a> with <code>invoice</code> <a href="#tickettype">type</a> associated with given daily sales report.</td></tr><tr><td><code>invoiceTicketsAmountIncludingVat</code></td><td><a href="#price"><code>Price</code></a></td><td>Total amount (including VAT) of all associated <a href="#ticket">tickets</a> with <code>invoice</code> <a href="#tickettype">type</a>.</td></tr><tr><td><code>positiveTicketItemsCount</code></td><td><code>int</code></td><td>Number of ticket items with <code>positive</code> <a href="#ticketitemtype">type</a> in associated tickets.</td></tr><tr><td><code>positiveTicketItemsAmountIncludingVat</code></td><td><a href="#price"><code>Price</code></a></td><td>Total amount of ticket items with <code>positive</code> <a href="#ticketitemtype">type</a> in associated tickets.</td></tr><tr><td><code>tipTicketItemsCount</code></td><td><code>int</code></td><td>Number of ticket items with <code>tip</code> <a href="#ticketitemtype">type</a> in associated tickets.</td></tr><tr><td><code>tipTicketItemsAmountIncludingVat</code></td><td><a href="#price"><code>Price</code></a></td><td>Total amount of ticket items with <code>tip</code> <a href="#ticketitemtype">type</a> in associated tickets.</td></tr><tr><td><code>returnedContainerTicketItemsCount</code></td><td><code>int</code></td><td>Number of ticket items with <code>returnedContainer</code> <a href="#ticketitemtype">type</a> in associated tickets.</td></tr><tr><td><code>returnedContainerTicketItemsAmountIncludingVat</code></td><td><a href="#price"><code>Price</code></a></td><td>Total amount of ticket items with <code>returnedContainer</code> <a href="#ticketitemtype">type</a> in associated tickets.</td></tr><tr><td><code>returnedTicketItemsCount</code> </td><td><code>int</code></td><td>Number of ticket items with <code>returned</code> <a href="#ticketitemtype">type</a> in associated tickets.</td></tr><tr><td><code>returnedTicketItemsAmountIncludingVat</code> </td><td><a href="#price"><code>Price</code></a></td><td>Total amount of ticket items with <code>returned</code> <a href="#ticketitemtype">type</a> in associated tickets.</td></tr><tr><td><code>correctionTicketItemsCount</code> </td><td><code>int</code></td><td>Number of ticket items with <code>correction</code> <a href="#ticketitemtype">type</a> in associated tickets.</td></tr><tr><td><code>correctionTicketItemsAmountIncludingVat</code> </td><td><a href="#price"><code>Price</code></a></td><td>Total amount of ticket items with <code>correction</code> <a href="#ticketitemtype">type</a> in associated tickets.</td></tr><tr><td><code>discountTicketItemsCount</code> </td><td><code>int</code></td><td>Number of ticket items with <code>discount</code> <a href="#ticketitemtype">type</a> in associated tickets.</td></tr><tr><td><code>discountTicketItemsAmountIncludingVat</code> </td><td><a href="#price"><code>Price</code></a></td><td>Total amount of ticket items with <code>discount</code> <a href="#ticketitemtype">type</a> in associated tickets.</td></tr><tr><td><code>advanceTicketItemsCount</code> </td><td><code>int</code></td><td>Number of ticket items with <code>advance</code> <a href="#ticketitemtype">type</a> in associated tickets.</td></tr><tr><td><code>advanceTicketItemsAmountIncludingVat</code> </td><td><a href="#price"><code>Price</code></a></td><td>Total amount of ticket items with <code>advance</code> <a href="#ticketitemtype">type</a> in associated tickets.</td></tr><tr><td><code>creditTicketItemsCount</code> </td><td><code>int</code></td><td>Number of ticket items with <code>credit</code> <a href="#ticketitemtype">type</a> in associated tickets.</td></tr><tr><td><code>creditTicketItemsAmountIncludingVat</code> </td><td><a href="#price"><code>Price</code></a></td><td>Total amount of ticket items with <code>credit</code> <a href="#ticketitemtype">type</a> in associated tickets.</td></tr><tr><td><code>voucherTicketItemsCount</code> </td><td><code>int</code></td><td>Number of ticket items with <code>voucher</code> in associated tickets.</td></tr><tr><td><code>voucherTicketItemsAmountIncludingVat</code></td><td><a href="#price"><code>Price</code></a></td><td>Total amount of ticket items with <code>voucher</code> <a href="#ticketitemtype">type</a> in associated tickets.</td></tr><tr><td><code>vatIncomes</code></td><td><a href="#vatincome"><code>VatIncome</code></a><code>[]</code></td><td>Total turnovers grouped by VAT category and rate.</td></tr><tr><td>grandTotalAmountIncludingVat</td><td><a href="#price"><code>Price</code></a></td><td>Cumulative total turnover across all daily sales reports for given fiscal device and fical memory serial number.</td></tr><tr><td>roundingDown</td><td><a href="#price"><code>Price</code></a></td><td>Sum of roundings towards zero.</td></tr><tr><td>roundingUp</td><td><a href="#price"><code>Price</code></a></td><td>Sum of roundings away from zero.</td></tr></tbody></table>

## DailySalesReportStatus

Enumeration with the following values:

<table><thead><tr><th width="192.99999999999997">Value</th><th>Description</th></tr></thead><tbody><tr><td><code>open</code></td><td>Daily sales report is opened. Additional tickets and cash transfers can be associated with given daily sales report.</td></tr><tr><td><code>manuallyClosed</code></td><td>Associated daily sales report is marked as closed (value of <code>fiscalInfo</code> property may remain <code>null</code>)</td></tr><tr><td><code>closed</code></td><td>Daily sales report is closed. <code>fiscalInfo</code> property contains summary information containing all realated tickets and cash transfers.</td></tr></tbody></table>

## DayOfWeek

Specifies the day of the week. Enumeration with the following values:

<table><thead><tr><th width="192.99999999999997">Value</th><th>Description</th></tr></thead><tbody><tr><td><code>Sunday</code></td><td>Indicates Sunday.</td></tr><tr><td><code>Monday</code></td><td>Indicates Monday.</td></tr><tr><td><code>Tuesday</code></td><td>Indicates Tuesday.</td></tr><tr><td><code>Wednesday</code></td><td>Indicates Wednesday.</td></tr><tr><td><code>Thursday</code></td><td>Indicates Thursday.</td></tr><tr><td><code>Friday</code></td><td>Indicates Friday.</td></tr><tr><td><code>Saturday</code></td><td>Indicates Saturday.</td></tr></tbody></table>

## Device

<table><thead><tr><th width="232">Property name</th><th width="231.99999999999997">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>name</code></td><td><code>string</code></td><td>Unique device name.</td></tr><tr><td><code>isActive</code></td><td><code>bool</code></td><td>Indicates whether a device is active and can be associated with user session.</td></tr><tr><td><code>envName</code></td><td><code>string</code></td><td>Name of the <a href="device-environments">device environment</a>.</td></tr><tr><td><code>description</code></td><td><code>string</code></td><td>Human readable device description (e.g. "Cash register 1").</td></tr><tr><td><code>roles</code></td><td><code>string[]</code></td><td>Collection of <a href="user-rights">user rights</a> that are initially associated to user, when user is given access to this device. Roles collection can be adjusted for every user.</td></tr><tr><td><code>preferences</code></td><td><code>object</code></td><td>Object containing user-specific preferences for this device. Reserved for future use.</td></tr><tr><td><code>settings</code></td><td><a href="#backofficedevicesettings"><code>BackOfficeDeviceSettings</code></a> | <a href="#cashregisterdevicesettings"><code>CashRegisterDeviceSettings</code></a> | <a href="#pdadevicesettings"><code>PDADeviceSettings</code></a> | <a href="#tooldevicesettings"><code>ToolDeviceSettings</code></a></td><td>An object with string properties, that is used to store device settings. The value of each property within the object corresponds to a specific type based on the <code>envName</code> (device environment name).</td></tr><tr><td><code>_v</code></td><td><code>int</code></td><td>Resource version. This property is tracked and updated by API.</td></tr></tbody></table>

## EmailTicketFormOptions

<table><thead><tr><th width="85.33333333333331">Name</th><th width="144">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>To</code></td><td><code>string</code></td><td>The e-mail address of the recipient (customer) to whom the e-receipt is sent.</td></tr><tr><td><code>FooterText</code></td><td><code>string</code></td><td>The optional text that is displayed on end of receipt. Only non-control characters are allowed (and CR + LF).</td></tr></tbody></table>

## EnergyUnit

Represents the unit of energy measurement.

| Name   | Description   |
| ------ | ------------- |
| `Kcal` | Kilocalories. |
| `Kj`   | Kilojoules.   |

## EnergyValue

| Property Name | Type                        | Description                         |
| ------------- | --------------------------- | ----------------------------------- |
| `Amount`      | `decimal`                   | The amount of energy.               |
| `Unit`        | [`EnergyUnit`](#energyunit) | The unit of the energy measurement. |

## Fiscal

<table><thead><tr><th width="273">Property name</th><th width="124">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>name</code></td><td><code>string</code></td><td>Unique fiscal device name.</td></tr><tr><td><code>isActive</code></td><td><code>bool</code></td><td>Indicates whether given fiscal device can be used in ticket closing procedure.</td></tr><tr><td><code>type</code></td><td><code>string</code></td><td>Type of hardware device.</td></tr><tr><td><code>version</code></td><td><code>string?</code></td><td>Reserved for future use.</td></tr><tr><td><code>dkp</code></td><td><code>string</code></td><td>Unique cash register code (also known as DKP in Slovak republic).</td></tr><tr><td><code>settings</code></td><td><code>object</code></td><td>Settings related to given fiscal device. Object may vary based on <code>type</code> property.</td></tr><tr><td><code>_v</code></td><td><code>int</code></td><td>Resource version. This property is tracked and updated by API.</td></tr></tbody></table>

## ForeignPrice

Similiar to [`Price`](#price), however this model can hold information about non-domestic currency.

<table><thead><tr><th width="273">Property name</th><th width="124">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>amount</code></td><td><code>decimal</code></td><td>Up to 2 decimal places.</td></tr><tr><td><code>currencyLabel</code></td><td><code>string</code></td><td>3-characters long foreign currency label (ISO 4217).</td></tr><tr><td><code>domesticCurrencyLabel</code></td><td><code>string</code></td><td>3-characters long domestic currency label (ISO 4217).</td></tr><tr><td><code>exchangeRate</code></td><td><code>decimal</code></td><td>Conversion rate between foreign and domestic currency. When currency is equal to domestic currency, exchange rate is equal to 1.</td></tr></tbody></table>

## GeoCoordinates

Represents GPS coordinates.

<table><thead><tr><th width="231.99999999999997">Property name</th><th width="232">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>longitude</code></td><td><code>decimal</code></td><td>Value in range of -180 to 180.</td></tr><tr><td><code>latitude</code></td><td><code>decimal</code></td><td>Value in range of -90 to 90.</td></tr></tbody></table>

## IntervalSalesReportContext

This model is used to specify the interval of daily sales reports, for which a interval sales report is going to be printed. The interval can be defined either by specifying a range of daily sales report numbers (`dsrNumberFrom` and `dsrNumberTo` properties) or by indicating the closing dates of the daily sales reports (`dsrDateFrom` and `dsrDateTo` properties).

<table><thead><tr><th width="194.33333333333331">Name</th><th width="149">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>dsrDateFrom</code></td><td><code>DateTime?</code></td><td>Close date of first daily sales report in selected interval.</td></tr><tr><td><code>dsrDateTo</code></td><td><code>DateTime?</code></td><td>Close date of last daily sales report in selected interval.</td></tr><tr><td><code>dsrNumberFrom</code></td><td><code>int?</code></td><td>Number of first daily sales report in selected interval.</td></tr><tr><td><code>dsrNumberTo</code></td><td><code>int?</code></td><td>Number of last daily sales report in selected interval.</td></tr></tbody></table>

## License

<table><thead><tr><th width="194.33333333333331">Name</th><th width="214">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>shopId</code></td><td><code>int</code></td><td>Unique identifier of venue, issued by PORTOS reseller.</td></tr><tr><td><code>activationTime</code></td><td><code>DateTime</code></td><td>Activation date and time.</td></tr><tr><td><code>expirationTime</code></td><td><code>DateTime</code></td><td>Expiration date and time.</td></tr><tr><td><code>verificationTime</code></td><td><code>DateTime?</code></td><td>Date and time of last verification.</td></tr><tr><td><code>verificationInterval</code></td><td><code>TimeSpan</code></td><td>Verification interval.</td></tr><tr><td><code>features</code></td><td><a href="#licensefeature"><code>LicenseFeature</code></a><code>[]</code></td><td>Collection of features associated with license.</td></tr><tr><td><code>remainingDays</code></td><td><code>int</code></td><td>Number of remaining days before license expiration.</td></tr><tr><td><code>isExpired</code></td><td><code>bool</code></td><td>Indicates whether license is expired.</td></tr></tbody></table>

## LicenseFeature

<table><thead><tr><th width="194.33333333333331">Name</th><th width="149">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>productSku</code></td><td><code>string</code></td><td>The feature identifier.</td></tr><tr><td><code>rawValue</code></td><td><code>string?</code></td><td>Value associated with feature.</td></tr><tr><td><code>name</code></td><td><code>string</code></td><td>Feature display name.</td></tr><tr><td><code>activationTime</code></td><td><code>DateTime</code></td><td>Activation date and time.</td></tr><tr><td><code>expirationTime</code></td><td><code>DateTime?</code></td><td>Expiration date and time.</td></tr></tbody></table>

## MeasureQuantity

Unlike the [`Quantity`](#quantity) type, this model has a known [unit of measure](#measureunit).

<table><thead><tr><th width="231.99999999999997">Property name</th><th width="232">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>amount</code></td><td><code>decimal</code></td><td>Quantity amount.</td></tr><tr><td><code>unit</code></td><td><a href="#measureunit"><code>MeasureUnit</code></a></td><td>Measurement unit.</td></tr></tbody></table>

## MeasureUnit

&#x20;Enumeration with the following values:

<table><thead><tr><th width="192.99999999999997">Value</th><th>Description</th><th>Dimension</th></tr></thead><tbody><tr><td><code>mg</code></td><td>Milligram</td><td>Weight (Mass)</td></tr><tr><td><code>g</code></td><td>Gram</td><td>Weight (Mass)</td></tr><tr><td><code>dag</code></td><td>Decagram</td><td>Weight (Mass)</td></tr><tr><td><code>kg</code></td><td>Kilogram</td><td>Weight (Mass)</td></tr><tr><td><code>ml</code></td><td>Milliliter</td><td>Volume</td></tr><tr><td><code>dl</code></td><td>Deciliter</td><td>Volume</td></tr><tr><td><code>l</code></td><td>Liter</td><td>Volume</td></tr><tr><td><code>mm</code></td><td>Millimeter</td><td>Length</td></tr><tr><td><code>cm</code></td><td>Centimeter</td><td>Length</td></tr><tr><td><code>dm</code></td><td>Decimeter</td><td>Length</td></tr><tr><td><code>m</code></td><td>Meter</td><td>Length</td></tr></tbody></table>

## Meta

Meta is an object with dynamic properties of string type. Can be parsed to  `Dictionary<string, string>` instance.

Is used to hold additional data, usually supplied by external system.

## Modifier

<table><thead><tr><th width="194.33333333333331">Name</th><th width="149">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>id</code></td><td><code>string</code></td><td>Unique identifier</td></tr><tr><td><code>name</code></td><td><code>string</code></td><td>Name of modifier. Eg. "Steak doneness"</td></tr><tr><td><code>displayName</code></td><td><code>string?</code></td><td>Name to be displayed for customer. Eg. "Pick steak doneness". If not provided, <code>name</code> is displayed in digital menu.</td></tr><tr><td><code>minimumSelectedOptionsCount</code></td><td><code>int</code></td><td>Minimum count of selected unique options. This value is greater than zero if modifier is required.</td></tr><tr><td><code>maximumSelectedOptionsCount</code></td><td><code>int?</code></td><td>Maximum count of selected unique options. If set to <code>null</code>, then options count is unlimited.</td></tr><tr><td><code>maximumSelectedOptionsTotalQuantity</code></td><td><code>int</code></td><td>The maximum number of all selected options in total that the customer can choose.</td></tr><tr><td><code>options</code></td><td><a href="#modifieroption"><code>ModifierOption[]</code></a></td><td>Options collection.</td></tr></tbody></table>

## ModifierOption

<table><thead><tr><th width="194.33333333333331">Name</th><th width="149">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>id</code></td><td><code>string</code></td><td>Option identifier, unique within associated modifier options collection.</td></tr><tr><td><code>name</code></td><td><code>string</code></td><td>Modifier option name, e.g. "medium rare".</td></tr><tr><td><code>unitPrice</code></td><td><a href="#unitprice"><code>UnitPrice?</code></a></td><td>Optional unit price. If not specified, price of referenced <a href="#plu">product</a> is used. Otherwise, modifier does not modify the price of associated <a href="#ticketitem">ticket item</a>.</td></tr><tr><td><code>isUnitPriceIncludingVat</code></td><td><code>bool</code></td><td>Specifies whether <code>unitPrice</code> includes VAT.</td></tr><tr><td><code>pluId</code></td><td><a href="#pluid"><code>PluId?</code></a></td><td>Optional <a href="#plu">PLU</a> reference.</td></tr><tr><td><code>defaultSelectedQuantity</code></td><td><code>int</code></td><td>Default selected quantity.</td></tr><tr><td><code>maximumSelectedQuantity</code></td><td><code>int?</code></td><td>Maximum number of selections for this option. If set to <code>null</code>, then quantity is not limited.</td></tr></tbody></table>

## NonfiscalRecordContentFlags

Enumeration with the following values:

<table><thead><tr><th width="192.99999999999997">Value</th><th>Description</th></tr></thead><tbody><tr><td><code>none</code></td><td>The document does not contain any data that would require special processing.</td></tr><tr><td><code>priceInformation</code></td><td>The document contains information about the price of goods or the price of a service. Added in version <code>4.3</code>.</td></tr></tbody></table>

If this flag is set, in some implementations of the printing service the text “NEPLATNÝ DOKLAD” will be printed on every third line of the document in order to comply with [§5(3)(t) of the Act on the Registration of Sales](https://www.slov-lex.sk/ezbierky-fe/pravne-predpisy/SK/ZZ/2025/384/20260101#paragraf-5.odsek-3.pismeno-t).

## NonfiscalRecordContext

<table><thead><tr><th width="154.37630208333331">Name</th><th width="141.34765625">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>recordBody</code></td><td><code>string</code></td><td>Body of nonfiscal record.</td></tr><tr><td><code>contentFlags</code></td><td><a href="#nonfiscalrecordcontentflags"><code>NonfiscalRecordContentFlags</code></a><code>[]?</code></td><td>Specifies additional characteristics of the content.<br>Indicates whether the record contains data that requires special processing (for example, price information that may trigger regulatory printing rules). If value is not provided, fallback value (<code>[ "priceInformation" ]</code> is used.</td></tr></tbody></table>

## NumberingPeriodUnit

Enumeration with the following values:

<table><thead><tr><th width="192.99999999999997">Value</th><th>Description</th></tr></thead><tbody><tr><td><code>day</code></td><td>Day</td></tr><tr><td><code>month</code></td><td>Month</td></tr><tr><td><code>year</code></td><td>year</td></tr></tbody></table>

## Order

<table><thead><tr><th width="194.33333333333331">Name</th><th width="149">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>id</code></td><td><code>string</code></td><td>Unique identifier</td></tr><tr><td><code>number</code></td><td><code>int</code></td><td>Sequence number generated by API. This number may serve as pickup code for customer.</td></tr><tr><td><code>deviceName</code></td><td><code>string</code></td><td>Name of device, from which the order processing request has been invoked.</td></tr><tr><td><code>user</code></td><td><a href="#userinfo"><code>UserInfo</code></a></td><td>User that invoked order processing request.</td></tr><tr><td><code>ticket</code></td><td><a href="#orderticketinfo"><code>OrderTicketInfo</code></a></td><td>Information about ticket that is associated with given order.</td></tr><tr><td><code>items</code></td><td><a href="#orderitem"><code>OrderItem[]</code></a></td><td>Order items collection.</td></tr></tbody></table>

## OrderEndpoint

<table><thead><tr><th width="194.33333333333331">Name</th><th width="149">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>name</code></td><td><code>string</code></td><td>Unique name.</td></tr><tr><td><code>isActive</code></td><td><code>bool</code></td><td>Indicates whether order endpoint is used to accept orders.</td></tr><tr><td><code>address</code></td><td><code>string?</code></td><td>Order endpoint address (e.g. location of network printer). </td></tr><tr><td><code>type</code></td><td><code>string</code></td><td>Type of order endpoint (e.g. printer manufacturer and/or printer model, or kitchen tablet application/driver name).</td></tr><tr><td><code>settings</code></td><td><code>object</code></td><td>Based on <code>type</code>, properties of settings object may vary.</td></tr></tbody></table>

## OrderItem

<table><thead><tr><th width="194.33333333333331">Name</th><th width="149">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>id</code></td><td><code>int?</code></td><td>Unique item identifier within order.</td></tr><tr><td><code>plu</code></td><td><a href="#orderitemplu"><code>OrderItemPlu</code></a></td><td>Information related to product.</td></tr><tr><td><code>quantity</code></td><td><a href="#quantity"><code>Quantity</code></a></td><td>Ordered product quantity.</td></tr><tr><td><code>comment</code></td><td><code>string?</code></td><td>Optional comment/note from cashier.</td></tr><tr><td><code>courseNumber</code></td><td><code>int?</code></td><td>This optional property serves as an indicator for the sequential delivery of food to the table. It allows for the organization and coordination of food service by assigning a specific order or sequence to each dish. This number provides valuable information to ensure that dishes are delivered to the table in the desired order, optimizing the dining experience for the customers.</td></tr><tr><td><code>endpoints</code></td><td><a href="#orderitemendpoint"><code>OrderItemEndpoint[]</code></a></td><td>Contains collection of state changes related to each oder endpoint this order is being processed on.</td></tr></tbody></table>

## OrderItemEndpoint

<table><thead><tr><th width="194.33333333333331">Name</th><th width="149">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>name</code></td><td><code>string</code></td><td>Name of associated order endpoint device.</td></tr><tr><td><code>statusChanges</code></td><td><a href="#orderitemendpointstatuschange"><code>OrderItemEndpointStatusChange[]</code></a></td><td>History of order state changes related to associated order endpoint.</td></tr><tr><td><code>orderItemStatus</code></td><td><a href="#orderstatus"><code>OrderStatus</code></a></td><td>Current status of order related to associated order endpoint.</td></tr><tr><td><code>isProcessed</code></td><td><code>bool</code></td><td>Indicates whether the order is already processed on given order endpoint.</td></tr><tr><td><code>isProcessable</code></td><td><code>bool</code></td><td>Indiates whether the order is processable on given order endpoint (is not in terminal state).</td></tr></tbody></table>

## OrderItemEndpointStatusChange

<table><thead><tr><th width="194.33333333333331">Name</th><th width="149">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>status</code></td><td><a href="#orderstatus"><code>OrderStatus</code></a></td><td>Status of order at the time of change.</td></tr><tr><td><code>date</code></td><td><code>DateTime</code></td><td>Date and time of status change.</td></tr></tbody></table>

## OrderItemPlu

<table><thead><tr><th width="194.33333333333331">Name</th><th width="149">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>name</code></td><td><code>string</code></td><td>Name of product (PLU).</td></tr><tr><td><code>code</code></td><td><code>int</code></td><td>Product code (unique within given stock)</td></tr><tr><td><code>stockName</code></td><td><code>string</code></td><td>Name of the stock to which the product is associated</td></tr></tbody></table>

## OrderOrigin

Describes the origin of the order.

<table><thead><tr><th width="192.99999999999997">Value</th><th>Description</th></tr></thead><tbody><tr><td><code>cashier</code></td><td>Order is taken in store by cashier (personnel)</td></tr><tr><td><code>online</code></td><td>Order is placed online by customer (e.g. e-shop, delivery platform, etc.)</td></tr></tbody></table>

## OrderTicketInfo

<table><thead><tr><th width="194.33333333333331">Name</th><th width="149">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>id</code></td><td><code>string</code></td><td>Ticket identifier.</td></tr><tr><td><code>name</code></td><td><code>string</code></td><td>Ticket name.</td></tr><tr><td><code>location</code></td><td><a href="#ticketlocation"><code>TicketLocation?</code></a></td><td>Ticket location.</td></tr><tr><td><code>purchaseType</code></td><td><a href="#ticketpurchasetype"><code>PurchaseType</code></a></td><td>Ticket purchase type.</td></tr><tr><td><code>customer</code></td><td><a href="#ticketcustomerinfo"><code>TicketCustomerInfo</code></a><code>?</code></td><td>Information about customer associated with ticket.</td></tr><tr><td><code>version</code></td><td><code>int</code></td><td>Version of ticket at time of order creation.</td></tr></tbody></table>

## OrderStatus

These are the various states that an [order](#order) can go through during its processing and fulfillment. Each state provides valuable insights into the current status of the [order](#order), ensuring transparency and effective communication throughout the process. Please find below the detailed descriptions for each order state:

<table><thead><tr><th width="192.99999999999997">Value</th><th>Description</th></tr></thead><tbody><tr><td><code>unknown</code></td><td>The default state. It indicates that the <a href="#order">order</a> processing status is currently unknown and/or has not been initiated.</td></tr><tr><td><code>created</code></td><td>The initial state when the <a href="#order">order</a> is created, but no further processing has taken place. At this stage, the <a href="#order">order</a> is in the system, awaiting further actions.</td></tr><tr><td><code>sent</code></td><td>The <a href="#order">order</a> has been successfully sent to the designated <a href="#orderendpoint">order endpoint</a> for processing.</td></tr><tr><td><code>delivered</code></td><td>The <a href="#order">order</a> has been successfully delivered to the designated <a href="#orderendpoint">order endpoint</a>. However, at this point, the endpoint may either accept or refuse the <a href="#order">order</a>.</td></tr><tr><td><code>refused</code></td><td>The <a href="#order">order</a> was refused by the <a href="#orderendpoint">order endpoint</a>, indicating that the <a href="#orderendpoint">order endpoint</a> has declined to accept and process the <a href="#order">order</a>. This refusal could be caused by various reasons, such as a shortage of food supplies or a failure of the coffee machine, so it is unable to fulfill the <a href="#order">order</a> at that specific moment.</td></tr><tr><td><code>failed</code></td><td>There was an attempt to send or deliver the <a href="#order">order</a> to the <a href="#orderendpoint">order endpoint</a>, but it could not be completed due to an error. This could be due to technical issues or other factors preventing successful delivery.</td></tr><tr><td><code>accepted</code></td><td>The <a href="#order">order</a> was successfully delivered to the <a href="#orderendpoint">order endpoint</a>, displayed, and accepted by the recipient (e.g., a chef received the order and acknowledged it). This state indicates that the recipient is ready to proceed with the fulfillment of the <a href="#order">order</a>.</td></tr><tr><td><code>processSkipped</code></td><td>The processing of the <a href="#order">order</a> was intentionally skipped. This could occur when the <a href="#orderendpoint">order endpoint</a> device was marked as inactive during the processing attempt.</td></tr><tr><td><code>processed</code></td><td>The <a href="#order">order</a> has been marked as completed by the <a href="#orderendpoint">order endpoint</a>, signifying the successful execution of all necessary processing steps, and confirming that the <a href="#order">order</a> is now fulfilled and the goods are ready for pickup.</td></tr></tbody></table>

Please see the state transition diagram below. The arrows between the states indicate the allowed transitions that the order can take.

{% @mermaid/diagram content="stateDiagram-v2
\[\*] --> Unknown
Unknown --> Created
Unknown --> Failed
Created --> Sent
Created --> Failed
Created --> ProcessSkipped
Created --> Processed
Sent --> Delivered
Sent --> Refused
Delivered --> Accepted
Delivered --> Refused
Delivered --> Failed
Delivered --> Processed
Failed --> Failed
Failed --> Processed
Failed --> ProcessSkipped
Accepted --> Failed
Accepted --> Processed

Processed --> \[*]
ProcessSkipped --> \[*]
Refused --> \[\*]

" %}

Order is **processable** if state is `created` or `failed`.

The order reaches its **final state** when it is either `refused,` `processed` or `processSkipped` and no further state transitions are permitted beyond this point.

## OrderStatusContext

<table><thead><tr><th width="194.33333333333331">Name</th><th width="149">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>status</code></td><td><a href="#orderstatus"><code>OrderStatus</code></a></td><td>Desired order status. Please note that only specific order staus transitions are allowed. See <a href="#orderstatus"><code>OrderStatus</code></a> for more information.</td></tr></tbody></table>

## PaymentType

<table><thead><tr><th width="237.66666666666666">Property name</th><th width="237">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>number</code></td><td><code>int</code></td><td>Unique payment type number. Value must be in range from 1 to 10.</td></tr><tr><td><code>category</code></td><td><a href="#paymenttypecategory"><code>PaymentTypeCategory</code></a></td><td>Category of payment type.  Based on payment type category, different ticket rounding rules may apply.</td></tr><tr><td><code>isActive</code></td><td><code>bool</code></td><td>Gets or sets whether payment type can be used.</td></tr><tr><td><code>description</code></td><td><code>string</code></td><td>Payment type description (name).</td></tr><tr><td><del><code>isChangeable</code></del></td><td><code>bool</code></td><td><p>Determines whether it is possible to issue from the payment when the amount to pay is overpaid.</p><p><em>Note: not used in current version.</em></p></td></tr></tbody></table>

## PaymentTypeCategory

Enumeration with the following values:

<table><thead><tr><th width="192.99999999999997">Value</th><th>Description</th></tr></thead><tbody><tr><td><code>cash</code></td><td>Cash payment type.</td></tr><tr><td><code>creditCard</code></td><td>Cashless payment type.</td></tr><tr><td><code>qrPayment</code></td><td>QR payment type. Used in Slovak "QR Platby" project.</td></tr><tr><td><code>other</code></td><td>Other, non-cash payment type.</td></tr></tbody></table>

## PDADeviceSettings

<table><thead><tr><th width="174.66666666666666">Name</th><th width="142">Type</th><th width="116" data-type="checkbox">Is required</th><th>Description</th></tr></thead><tbody><tr><td><code>MaxQuantity</code></td><td><code>decimal</code></td><td>false</td><td>Maximal quantity user can specify in single ticket item.</td></tr><tr><td><code>DefaultFiscalName</code></td><td><code>string</code></td><td>false</td><td>Determines name of fiscal device associated with cash register. Usage of different fiscal device may be conditioned by rights of authorized user.</td></tr><tr><td><code>OpenedPrices</code></td><td><code>bool</code></td><td>true</td><td>Determines whether user can specify unit price of ticket item different than product's unit price.</td></tr><tr><td><code>SecretCustomersCardId</code></td><td><code>bool</code></td><td>true</td><td>Determines mode of customer account lookup. If set to <code>false</code>, user can select customer accounts from list. If set to <code>true</code>, user can only scan bar code/QR code with device builtin camera.</td></tr><tr><td><code>DefaultOrderEndpointName</code></td><td><code>string</code></td><td>false</td><td>Determines name of order endpoint device associated with cash register. Usage of different order endpoint may be conditioned by rights of authorized user.</td></tr><tr><td><code>DefaultStockName</code></td><td><code>string</code></td><td>false</td><td>Determines name of stock associated with cash register. Usage of different stock may be conditioned by rights of authorized user.</td></tr></tbody></table>

All other settings are managed directly in the application (PORTOS Mobilný čašník).

## Plu

<table><thead><tr><th width="231.99999999999997">Property name</th><th width="232">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>id</code></td><td><code>string</code></td><td>Unique identifier.</td></tr><tr><td><code>stockName</code></td><td><code>string</code></td><td>Name of associated <a href="#stock"><code>Stock</code></a>.</td></tr><tr><td><code>code</code></td><td><code>int</code></td><td>Product's PLU code. Unique within associated <a href="#stock"><code>Stock</code></a>. Therefore, a combination of the <code>code</code> and <code>stockName</code> can be used to uniquely identify the PLU.</td></tr><tr><td><code>codes</code></td><td><code>string[]</code></td><td>Collection of alternative product codes, barcodes or external system identifiers.</td></tr><tr><td><code>name</code></td><td><code>string</code></td><td>Product name. E.g. "<em>Coffee</em>".</td></tr><tr><td><code>description</code></td><td><code>string?</code></td><td>Optional full product name. If this value is provided, it is used as display name instead of <code>name</code> property. E.g. "<em>Signature Brewed Coffee Blend</em>".</td></tr><tr><td><code>customerDescription</code></td><td><code>string?</code></td><td>Full description for customer, containing one or more sentences. Used mostly in menus. E.g. "<em>Indulge in the rich and aromatic essence of our meticulously brewed coffee, a harmonious blend of carefully selected beans for a truly invigorating experience.</em>".</td></tr><tr><td><code>retailPriceIncludingVat</code></td><td><a href="#unitprice"><code>UnitPrice</code></a></td><td>The unit price including VAT.<br><br>Must be positive or zero for <a href="#plutype"><code>container</code> plu type</a>.</td></tr><tr><td><code>vatCategory</code></td><td><code>int</code></td><td>The category of associated <a href="#vat">VAT</a> rate.</td></tr><tr><td><code>articleCategoryLabel</code></td><td><code>string</code></td><td>The label of associated <a href="#articlecategory">article category</a>.</td></tr><tr><td><code>orderEndpointNames</code></td><td><code>string[]</code></td><td>The collection of <a href="#orderendpoint">order endpoint</a> names. When product is ordered by customer, order is sent to all order endpoints listed in this collection that are marked as active.</td></tr><tr><td><code>courseNumber</code></td><td><code>int?</code></td><td>Specifies default course number for given product. Used to determine the order of food and drinks brought to the table.</td></tr><tr><td><code>unit</code></td><td><code>string</code></td><td>Up to three characters long measurement unit. </td></tr><tr><td><code>type</code></td><td><a href="#plutype"><code>PluType</code></a></td><td>Type of product.</td></tr><tr><td><code>stockQuantity</code></td><td><a href="#quantity"><code>Quantity</code></a><code>?</code></td><td>This field indicates the total count of physical units currently available in inventory. Exclusively for PLUs categorized as material <a href="#plutype">type</a>.</td></tr><tr><td><code>minStockQuantity</code></td><td><a href="#quantity"><code>Quantity</code></a><code>?</code></td><td>Minimal stock quantity treshold. Defines the minimum acceptable quantity of physical units. When the available inventory falls below this threshold, users can receive notifications to take necessary actions. Exclusively for PLUs categorized as material <a href="#plutype">type</a>.</td></tr><tr><td><code>stockValue</code></td><td><a href="#unitprice"><code>UnitPrice</code></a><code>?</code></td><td>The stock value excluding VAT. Exclusively for PLUs categorized as material <a href="#plutype">type</a>.</td></tr><tr><td><code>lastPurchasePrice</code></td><td><a href="#unitprice"><code>UnitPrice</code></a><code>?</code></td><td>Last purchase price excluding VAT. Exclusively for PLUs categorized as material <a href="#plutype">type</a>. This value is automatically updated by server after each product purchase (based on created <a href="#stocktransfer">StockTransfer</a>). </td></tr><tr><td><code>receipt</code></td><td><a href="#plureceiptitem"><code>PluReceiptItem</code></a><code>[]</code></td><td>Items of PLU recipe. Exclusively for PLUs categorized as <code>Recipe</code> <a href="#plutype">type</a>.</td></tr><tr><td><code>pluPriceHistory</code></td><td><a href="#plupricehistoryitem"><code>PluPriceHistoryItem</code></a><code>[]</code></td><td>Collection that tracks retail price changes.</td></tr><tr><td><code>color</code></td><td><code>string?</code></td><td>The RGB color code associated with this PLU, which is displayed within the cash register application. This feature aids in convenient visual identification, facilitating efficient lookups.</td></tr><tr><td><code>isSplittable</code></td><td><code>bool</code></td><td>If set to <code>false</code>, this PLU can only be sold in whole integer quantities, without the option for fractional or partial units.</td></tr><tr><td><code>isDiscountAllowed</code></td><td><code>bool</code></td><td>Determines whether discount can be placed on ticket item associated with this PLU.<br><br>Must be false for <a href="#plutype"><code>container</code> plu type</a>.</td></tr><tr><td><code>isActive</code></td><td><code>bool</code></td><td>Determines whether this PLU is accessible in cash register. If given product or service is not available, associated PLU can be marked as inactive. This is alternative approach to PLU deletion.</td></tr><tr><td><code>isPriceFixed</code></td><td><code>bool</code></td><td>Determines whether unit price for <a href="#ticketitem">ticket items</a> associated with this PLU can be adjusted. Howewer, price change must be allowed in device settings as well.</td></tr><tr><td><code>isCashbackAllowed</code></td><td><code>bool</code></td><td>Determines whether cashback can be provided for purchase of this PLU. When enabled, customers may receive cashback as part of their purchase. The purchase must be associated with <a href="#customer">Customer</a> with positive, non-zero <code>creditRate</code> (cashback rate). </td></tr><tr><td><code>isFavorite</code></td><td><code>bool</code></td><td>This attribute indicates whether the given product is registered as a favorite, enabling easier retrieval within the cash register system.</td></tr><tr><td><code>sortHint</code></td><td><code>int?</code></td><td>This optional attribute serves as a hint for sorting articles within the cash register application, aiding in the organization and arrangement of items.</td></tr><tr><td><code>specialRegulation</code></td><td><a href="#taxfreereason"><code>TaxFreeReason</code></a><code>?</code></td><td>This attribute signifies the justification for applying a zero VAT rate to this PLU, if the rationale matches with one of the reasons defined in <code>TaxFreeReason</code> enumeration. <code>null</code> otherwise.</td></tr><tr><td><code>packaging</code></td><td><a href="#plupackaging"><code>PluPackaging</code></a><code>?</code></td><td>Information related to PLU packaging.</td></tr><tr><td><code>images</code></td><td><a href="#pluimage"><code>PluImage</code></a><code>[]</code>?</td><td>Optional PLU images.</td></tr><tr><td><code>purchaseTypes</code></td><td><a href="#plupurchasetype"><code>PluPurchaseType</code></a><code>[]?</code></td><td>Purchase types settings for this product.</td></tr><tr><td><code>ordering</code></td><td><a href="#pluorderingitem"><code>PluOrderingItem</code></a><code>[]?</code></td><td>Information related to PLU ordering, based on  <a href="#orderorigin"><code>OrderOrigin</code></a>.</td></tr><tr><td><code>modifiers</code></td><td><a href="#plumodifier"><code>PluModifier</code></a><code>[]?</code></td><td>Collection of <a href="#modifier">Modifier</a> references associated with given PLU.</td></tr><tr><td><code>allergens</code></td><td><a href="#allergen"><code>Allergen</code></a><code>[]?</code></td><td>A list of potential allergenic substances included in the product, helping users identify allergy risks.</td></tr><tr><td><code>additives</code></td><td><a href="#additive"><code>Additive</code></a><code>[]?</code></td><td>A collection of chemicals or substances added to preserve or enhance flavor, appearance, or other qualities.</td></tr><tr><td><code>ingredients</code></td><td><a href="#pluingredient"><code>PluIngredient</code></a><code>[]?</code></td><td>Detailed list of components used in the product, providing transparency for consumers about what the product contains.</td></tr><tr><td><code>nutritionalInfo</code></td><td><a href="#plunutritionalinfo"><code>PluNutritionalInfo</code></a><code>?</code></td><td>Data about the nutritional content of the product.</td></tr><tr><td><code>manufacturer</code></td><td><a href="#plumanufacturer"><code>PluManufacturer</code></a><code>?</code></td><td>The information related to the company that produces the product.</td></tr><tr><td><code>_v</code></td><td><code>int</code></td><td>Resource version. This property is tracked and updated by API.</td></tr></tbody></table>

## PluId

Plu can be uniquely identified using either `id` or combination of `code` and `stockName`.

<table><thead><tr><th width="231.99999999999997">Property name</th><th width="232">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>code</code></td><td><code>int</code></td><td>Plu's <code>code</code> property.</td></tr><tr><td><code>stockName</code></td><td><code>string</code></td><td>Plu's <code>stockName</code> property.</td></tr></tbody></table>

## PluImage

<table><thead><tr><th width="231.99999999999997">Property name</th><th width="232">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>url</code></td><td><code>string</code></td><td>String which identifies one or more image candidate strings, separated using commas (,) each specifying image resources to use under given circumstances. Each image candidate string contains an image URL and an optional width or pixel density descriptor that indicates the conditions under which that candidate should be used. Please refer to <a href="https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/srcset">https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/srcset</a> for more information.</td></tr><tr><td><code>alt</code></td><td><code>string?</code></td><td>Optional field. Provides fallback (alternate) text to display when the image is not loaded. Please refer to <a href="https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/alt">https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/alt</a> for more information.</td></tr></tbody></table>

## PluIngredient

<table><thead><tr><th width="231.99999999999997">Property name</th><th width="232">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>Name</code></td><td><code>string</code></td><td>Represents the name of the ingredient.</td></tr></tbody></table>

## PluManufacturer

<table><thead><tr><th width="231.99999999999997">Property name</th><th width="232">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>Name</code></td><td><code>string?</code></td><td>The name of the manufacturer.</td></tr><tr><td><code>Brand</code></td><td><code>string?</code></td><td>The name of the brand.</td></tr><tr><td><code>CountryOfOrigin</code></td><td><code>string?</code></td><td>Where the item originated from.</td></tr></tbody></table>

## PluModifier

<table><thead><tr><th width="231.99999999999997">Property name</th><th width="232">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>id</code></td><td><code>string</code></td><td>Unique <a href="#modifier">modifier</a> identifier.</td></tr></tbody></table>

## PluNutritionalInfo

<table><thead><tr><th width="231.99999999999997">Property name</th><th width="232">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>alcoholPercentage</code></td><td><code>decimal?</code></td><td>Represents alcohol by volume (ABV). Water has an alcoholic strength of 0% ABV, while pure alcohol is 100% ABV. For example, 5.0 for 5%.</td></tr><tr><td><code>caffeine</code></td><td><a href="#measurequantity"><code>MeasureQuantity</code></a><code>?</code></td><td>Caffeine content (per 100ml).</td></tr><tr><td><code>Energy</code></td><td><a href="#energyvalue"><code>EnergyValue</code></a><code>?</code></td><td>Represents the energy value.</td></tr></tbody></table>

## PluOrderingItem

Settings for product ([`PLU`](#plu)) ordering related to specific [`OrderOrigin`](#orderorigin).

<table><thead><tr><th width="231.99999999999997">Property name</th><th width="232">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>orderOrigin</code></td><td><a href="#orderorigin"><code>OrderOrigin</code></a></td><td>Order origin associated with this item.</td></tr><tr><td><code>enabled</code></td><td><code>bool</code></td><td>Determines whether given type of <a href="#orderorigin">order origin</a> is enabled for associated <a href="#plu">PLU</a>.</td></tr><tr><td><code>paused</code></td><td><code>bool</code></td><td>Determines whether given type of <a href="#orderorigin">order origin</a> is temporarily paused (e.g. due to high demand or due to machine failure).</td></tr></tbody></table>

## PluPackaging

<table><thead><tr><th width="231.99999999999997">Property name</th><th width="232">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>volume</code></td><td><a href="#measurequantity"><code>MeasureQuantity</code></a><code>?</code></td><td>Specifies the volume of the product within its packaging. Value must have positive, non-zero amount.</td></tr><tr><td><code>weight</code></td><td><a href="#measurequantity"><code>MeasureQuantity</code></a><code>?</code></td><td>Specifies the weight of the product packaging. Value must have positive, non-zero amount and weight unit (<code>g</code>, <code>dag</code> or <code>kg</code>).</td></tr><tr><td><code>packagePluId</code></td><td><a href="#pluid"><code>PluId</code></a><code>?</code></td><td>When provided, this attribute specifies the <a href="#plu">PLU</a> that represents the packaging of associated product.</td></tr><tr><td><code>usePackagePluOnSale</code></td><td><code>bool</code></td><td>Enabling this option by setting it to <code>true</code> allows the cash register application to automatically include the packaging PLU (determined by <code>packagePluId</code> when the associated product is sold.</td></tr><tr><td><code>storageTemperatureCondition</code></td><td><a href="#plupackagingstoragetemperaturecondition">PluPackagingStorageTemperatureCondition</a></td><td>The storage temperature condition.</td></tr></tbody></table>

## PluPackagingStorageTemperatureCondition

This table describes the different storage temperature conditions applicable to products.

| Temperature Condition | Description                                                                                         | Slovak Term    |
| --------------------- | --------------------------------------------------------------------------------------------------- | -------------- |
| `frozen`              | The product must be kept at or below freezing temperatures (0°C or 32°F).                           | Mrazené        |
| `refrigerated`        | The product needs to be kept cool, typically between 0°C and 4°C (32°F and 39°F).                   | Chladené       |
| `ambient`             | The product can be safely stored at room temperature, typically around 20°C to 25°C (68°F to 77°F). | Izbová teplota |
| `warm`                | The product should be kept warm to maintain its quality and prevent degradation.                    | Teplé          |

## PluPriceHistoryItem

<table><thead><tr><th width="231.99999999999997">Property name</th><th width="232">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>date</code></td><td><code>DateTime</code></td><td>The date and time of retail price change.</td></tr><tr><td><code>retailPriceIncldingVat</code></td><td><a href="#unitprice"><code>UnitPrice</code></a></td><td>The new product retail unit price (including VAT).</td></tr></tbody></table>

## PluPurchaseType

Settings for product ([`PLU`](#plu)) related to specific [`PurchaseType`](#ticketpurchasetype).

<table><thead><tr><th width="231.99999999999997">Property name</th><th width="232">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>purchaseType</code></td><td><a href="#ticketpurchasetype"><code>PurchaseType</code></a></td><td>The purchase type associated with this item.</td></tr><tr><td><code>enabled</code></td><td><code>bool</code></td><td>Determines whether given type of purchase type is enabled for product.</td></tr><tr><td><code>vatCategory</code></td><td><code>int</code></td><td>VAT category that is used for given <a href="#purchasetype">PurchaseType</a>. Retail price excluding VAT is adjusted, so retail price including VAT is preserved, after given VAT category is applied.</td></tr></tbody></table>

## PluReceiptItem

<table><thead><tr><th width="231.99999999999997">Property name</th><th width="232">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>quantity</code></td><td><a href="#quantity"><code>Quantity</code></a></td><td>The quantity that should be subtracted from the stock when a single unit of the parent PLU is sold.</td></tr><tr><td><code>pluId</code></td><td><a href="#pluid"><code>PluId</code></a></td><td>Identifier of PLU to be subtracted.</td></tr><tr><td><code>plu</code></td><td><a href="#plu"><code>Plu</code></a><code>?</code></td><td>The PLU referenced by <code>pluId</code> property. This property is only present if <code>$include=ReceiptPlu</code> is specified in GET plus API endpoint.</td></tr></tbody></table>

## PluType

Enumeration with the following values:

<table><thead><tr><th width="192.99999999999997">Value</th><th data-type="checkbox">Is material</th><th>Description</th></tr></thead><tbody><tr><td><code>stockItem</code></td><td>true</td><td>Stock item (e.g. ingredient or material). A cover that can be the subject of a deposit and can be repurchased by a trader.<br><br>This is an material product that has physical representation and associated stock quantity and can be processed in stock takings.</td></tr><tr><td><code>recipe</code></td><td>false</td><td>Recipe (e.g. meal or complex product) that can reference other recipes, stock items or containers in recipe list. Stock quantity is not tracked for this type of product.</td></tr><tr><td><code>service</code></td><td>false</td><td>Service that has no physical form and thus stock quantity is not tracked for this type of product.</td></tr><tr><td><code>container</code></td><td>true</td><td><p>A container (cover) that can be the subject of a deposit and can be repurchased by a trader.</p><p><br>This is an material product that has physical representation and associated stock quantity and can be processed in stock takings.</p></td></tr></tbody></table>

## Price

Used also as an multiplication result of [`Quantity`](#quantity) and [`UnitPrice`](#unitprice) instances.

<table><thead><tr><th width="231.99999999999997">Property name</th><th width="232">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>amount</code></td><td><code>decimal</code></td><td>Up to 2 decimal places.</td></tr><tr><td><code>currencyLabel</code></td><td><code>string</code></td><td>3-characters long currency label (ISO 4217).</td></tr></tbody></table>

## PrintPreliminaryTicketContext

<table><thead><tr><th width="240.33333333333331">Name</th><th width="149">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>orderEndpointName</code></td><td><code>string</code></td><td>The name of the order endpoint where the preliminary receipt will be printed.</td></tr></tbody></table>

## PrintTicketFormOptions

<table><thead><tr><th width="154.33333333333331">Name</th><th width="149">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>footerText</code></td><td><code>string</code></td><td>The optional text that is displayed on end of receipt. Only non-control characters are allowed (and CR + LF).</td></tr></tbody></table>

## ProcessOrdersContext

<table><thead><tr><th width="231.99999999999997">Property name</th><th width="232">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>ticketIds</code></td><td><code>string[]</code></td><td>Collection of ticket identifiers. All orders associated with given tickets will be processed.</td></tr></tbody></table>

## ProductLicenseActivation

<table><thead><tr><th width="231.99999999999997">Property name</th><th width="232">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>code</code></td><td><code>string</code></td><td>Activation code.</td></tr><tr><td><code>license</code></td><td><a href="#productlicenserequest"><code>ProductLicenseRequest</code></a></td><td>License to be activated.</td></tr></tbody></table>

## ProductLicenseRequest

<table><thead><tr><th width="231.99999999999997">Property name</th><th width="232">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>shopId</code></td><td><code>int</code></td><td>Unique venue identifier.</td></tr><tr><td><code>features</code></td><td><a href="#productlicenserequestfeature"><code>ProductLicenseRequestFeature</code></a><code>[]</code></td><td>List of features.</td></tr></tbody></table>

## ProductLicenseRequestFeature

<table><thead><tr><th width="194.33333333333331">Name</th><th width="149">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>productSku</code></td><td><code>string</code></td><td>The feature identifier.</td></tr><tr><td><code>rawValue</code></td><td><code>string?</code></td><td>Value associated with feature.</td></tr><tr><td><code>name</code></td><td><code>string</code></td><td>Feature display name.</td></tr><tr><td><code>activationTime</code></td><td><code>DateTime?</code></td><td>Activation date and time.</td></tr><tr><td><code>expirationTime</code></td><td><code>DateTime?</code></td><td>Expiration date and time.</td></tr></tbody></table>

## PurchaseType

Enumeration with the following values:

<table><thead><tr><th width="147.99999999999997">Value</th><th>Description</th></tr></thead><tbody><tr><td><code>unknown</code></td><td>Purchase type is not specified.</td></tr><tr><td><code>walkIn</code></td><td>The purchase is being held at the venue.</td></tr><tr><td><code>takeAway</code></td><td>The purchase is being picked up at the venue by customer.</td></tr><tr><td><code>delivery</code></td><td>The purchase will be delivered to customer.</td></tr></tbody></table>

## Quantity

<table><thead><tr><th width="231.99999999999997">Property name</th><th width="232">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>amount</code></td><td><code>decimal</code></td><td>Up to 3 decimal places.</td></tr><tr><td><code>unit</code></td><td><code>string</code></td><td>Up to 3-characters measurement unit.</td></tr></tbody></table>

## QueryResult

This models represents generic response from all API routes that returns collection of resources.

<table><thead><tr><th width="237.66666666666666">Property name</th><th width="237">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>items</code></td><td><code>object[]</code></td><td>Collection of resources that met query criteria.</td></tr><tr><td><code>count</code></td><td><code>int</code></td><td>Number of elements in <code>items</code> property.</td></tr><tr><td><code>totalCount</code></td><td><code>int</code></td><td>Number of total resources available. Value may differ from <code>count</code>, when pagination or filtering is applied.</td></tr></tbody></table>

## RecordCopyContext

This model is used to specify the ticket for which a copy is going to be printed. The ticket can be specified by providing either its ticket number and daily sales report number (`ticketNumber` and `dailySalesReportNumber` properties), or its ticket number along with the close date of the daily sales report (`ticketNumber` and `dailySalesReportDate` properties).

<table><thead><tr><th width="194.33333333333331">Name</th><th width="149">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>ticketNumber</code></td><td><code>int</code></td><td>Ticket sequence number, unique within associated daily sales report. This value can be found in <code>ticket.closeInfo.number</code>.</td></tr><tr><td><code>dailySalesReportNumber</code></td><td><code>int?</code></td><td>The number of daily sales report. This value can be found in <code>ticket.closeInfo.dailySalesReportNumber</code>.</td></tr><tr><td><code>dailySalesReportDate</code></td><td><code>DateTime?</code></td><td>The close date of daily sales report.</td></tr></tbody></table>

## RefreshTokenResult

<table><thead><tr><th width="232">Name</th><th width="232.66666666666666">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>tokenId</code></td><td><code>string</code></td><td>The JWT token using for authenticating requests.</td></tr><tr><td><code>refreshToken</code></td><td><code>string</code></td><td>The refresh token.</td></tr></tbody></table>

## Role

<table><thead><tr><th width="232">Name</th><th width="232.66666666666666">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>name</code></td><td><code>string</code></td><td>Unique role identifier.</td></tr><tr><td><code>label</code></td><td><code>string</code></td><td>Short label (title).</td></tr><tr><td><code>description</code></td><td><code>string?</code></td><td>Optional role description.</td></tr><tr><td><code>rights</code></td><td><code>string[]</code></td><td>Collection of <a href="user-rights">user rights </a>associated with given role.</td></tr><tr><td><code>envNames</code></td><td><code>string[]</code></td><td>Collection of <a href="device-environments">device environments</a>, for which given role can be associated to user.</td></tr><tr><td><code>_v</code></td><td><code>int</code></td><td>Resource version. This property is tracked and updated by API.</td></tr></tbody></table>

## Session

<table><thead><tr><th width="232">Name</th><th width="232.66666666666666">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>sessionId</code></td><td><code>string</code></td><td>Unique session identifier.</td></tr><tr><td><code>identity</code></td><td><a href="#sessionidentity"><code>SessionIdentity</code></a></td><td>Information about user associated with given session.</td></tr><tr><td><code>startedAt</code></td><td><code>DateTime?</code></td><td>Date and time when session was issued.</td></tr><tr><td><code>expiresAt</code></td><td><code>DateTime?</code></td><td>Date and time when session expires.</td></tr><tr><td><code>lastAccessAt</code></td><td><code>DateTime?</code></td><td>Date and time of the most recent use of the session to perform an API method.</td></tr><tr><td><code>_v</code></td><td><code>int</code></td><td>Resource version. This property is tracked and updated by API.</td></tr></tbody></table>

## SessionIdentity

<table><thead><tr><th width="232">Name</th><th width="232.66666666666666">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>userName</code></td><td><code>string</code></td><td>Unique user name.</td></tr><tr><td><code>deviceName</code></td><td><code>string</code></td><td>Name of <a href="#device">device</a> user is operating on.</td></tr><tr><td><code>envName</code></td><td><code>string</code></td><td>Name of <a href="device-environments">device </a><a href="device-environments">environment</a>.</td></tr><tr><td><code>authenticationType</code></td><td><code>string</code></td><td>Name of <a href="authentication/authentication-schemes">authentication scheme</a>.</td></tr></tbody></table>

## Settings

This model has no predefined properties. Value of each property may be some primitive type, such as string, bool, integer, decimal, etc. Collection or object values are not allowed.

Note: In current version, property names starts with capital letter.

## Stock

<table><thead><tr><th width="232">Name</th><th width="232.66666666666666">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>name</code></td><td><code>string</code></td><td>Unique stock name (abbreviation).</td></tr><tr><td><code>description</code></td><td><code>string</code></td><td>Full stock name.</td></tr><tr><td><code>_v</code></td><td><code>int</code></td><td>Resource version. This property is tracked and updated by API.</td></tr></tbody></table>

## StockTaking

<table><thead><tr><th width="232">Name</th><th width="232.66666666666666">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>id</code></td><td><code>string</code></td><td>Unique identifier.</td></tr><tr><td><code>createdAt</code></td><td><code>DateTime</code></td><td>Date and time of stock taking creation.</td></tr><tr><td><code>closedAt</code></td><td><code>DateTime?</code></td><td>Date and time of stock taking closure. If value is <code>null</code>, stock taking is not closed and can be edited or deleted. When value is not <code>null</code>, the <code>closedBy</code> property must be provided as well.</td></tr><tr><td>createdBy</td><td><a href="#userinfo"><code>UserInfo</code></a></td><td>Information about user who created this stock taking.</td></tr><tr><td><code>closedBy</code></td><td><a href="#userinfo"><code>UserInfo?</code></a></td><td>Information about user who closed this stock taking. If value is <code>null</code>, stock taking is not closed and can be edited or deleted. When value is not <code>null</code>, the <code>closedAt</code> property must be provided as well.</td></tr><tr><td><code>currencyLabel</code></td><td><code>string</code></td><td>Label of <a href="#currency">currency</a> in which stock taking financial operations are calculated.</td></tr><tr><td>items</td><td><a href="#stocktakingitem"><code>StockTakingItem[]</code></a></td><td>This collection includes products on which stock quantity corrections are performed</td></tr><tr><td><code>_v</code></td><td><code>int</code></td><td>Resource version. This property is tracked and updated by API.</td></tr></tbody></table>

## StockTakingItem

<table><thead><tr><th width="232">Name</th><th width="232.66666666666666">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>expectedQuantity</code> </td><td><a href="#quantity"><code>Quantity</code></a></td><td>The expected stock quantity of product.</td></tr><tr><td><code>actualQuantity</code> </td><td><a href="#quantity"><code>Quantity?</code></a></td><td>The actual stock quantity determined by stock taking.</td></tr><tr><td><code>plu</code></td><td><a href="#stocktakingitemplu"><code>StockTakingItemPlu</code></a></td><td>The information about associated product (<a href="#plu"><code>Plu</code></a>).</td></tr></tbody></table>

## StockTakingItemPlu

<table><thead><tr><th width="232">Name</th><th width="232.66666666666666">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>name</code></td><td><code>string</code></td><td>Product's name</td></tr><tr><td><code>code</code></td><td><code>int</code></td><td>Product's code</td></tr><tr><td><code>codes</code></td><td><code>string[]</code></td><td>Collection of alternative product codes.</td></tr><tr><td><code>stockName</code></td><td><code>string</code></td><td>Name of <a href="#stock"><code>Stock</code></a> associated with product (<a href="#plu"><code>Plu</code></a>).</td></tr><tr><td><code>articleCategoryLabel</code></td><td><code>string</code></td><td>Label of <a href="#articlecategory">article category</a> associated with product (<a href="#plu"><code>Plu</code></a>).</td></tr><tr><td><code>vat</code></td><td><a href="#vatinfo"><code>VatInfo</code></a></td><td><a href="#vat">Vat</a> information associated with product (<a href="#plu"><code>Plu</code></a>).</td></tr><tr><td><code>unitPurchasePrice</code></td><td><a href="#unitprice"><code>UnitPrice</code></a></td><td>Product's unit purchase price.</td></tr><tr><td><code>unitRetailPrice</code> </td><td><a href="#unitprice"><code>UnitPrice</code></a></td><td>Product's unit retail price.</td></tr></tbody></table>

## StockTransfer

<table><thead><tr><th width="193">Name</th><th width="274.66666666666663">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>id</code></td><td><code>string</code></td><td>Unique identifier.</td></tr><tr><td><code>type</code></td><td><a href="#stocktransfertype"><code>StockTransferType</code></a></td><td>Type of stock transfer.</td></tr><tr><td><code>items</code></td><td><a href="#stocktransferitem"><code>StockTransferItem</code></a><code>[]</code></td><td>Items collection.</td></tr><tr><td><code>payments</code></td><td><a href="#stocktransferpayment"><code>StockTransferPayment</code></a><code>[]</code></td><td>Payments collection.</td></tr><tr><td><code>company?</code></td><td><a href="#stocktransfercompanyinfo"><code>StockTransferCompanyInfo</code></a></td><td>Stock transfer issuer.</td></tr><tr><td><code>partner?</code></td><td><a href="#stocktransfercompanyinfo"><code>StockTransferCompanyInfo</code></a></td><td>The company that supplies  (for <code>income</code> <a href="#stocktransfertype">type</a>) or purchases (<code>outcome</code>, <code>sale</code> and <code>invoice</code> <a href="#stocktransfertype">type</a>) the goods or services.</td></tr><tr><td><code>createdBy</code></td><td><a href="#userinfo"><code>UserInfo</code></a></td><td>User that creates this stock transfer.</td></tr><tr><td><code>createdAt</code></td><td><code>DateTime</code></td><td>Date and time of stock transfer creation in system.</td></tr><tr><td><code>closedBy</code></td><td><a href="#userinfo"><code>UserInfo</code></a><code>?</code></td><td>Contains information about user who closed this stock transfer. If stock transfer is not closed, value is <code>null</code>.</td></tr><tr><td><code>closedAt</code></td><td><code>DateTime?</code></td><td>Date and time of stock transfer closing. If stock transfer is not closed, value is <code>null</code>.</td></tr><tr><td><code>dueDate</code></td><td><code>DateTime?</code></td><td>The date and time when the payment is due.</td></tr><tr><td><code>documentNumber</code></td><td><code>string?</code></td><td>The document number. Usually generated by system using format defined by <a href="#stocktransfernumbering">stock transfer numbering</a> associated with <a href="#stocktransfertype">stock transfer type</a>.</td></tr><tr><td><code>documentDate</code></td><td><code>DateTime</code></td><td>The official document issue date.</td></tr><tr><td><code>deliveryDate</code></td><td><code>DateTime?</code></td><td>Delivery date.</td></tr><tr><td><code>variableSymbol</code></td><td><code>string?</code></td><td>The reference number that helps automated payment linking.</td></tr><tr><td><code>constantSymbol</code></td><td><code>string?</code></td><td>The constant symbol.</td></tr><tr><td><code>specificSymbol</code></td><td><code>string?</code></td><td>The specific symbol.</td></tr><tr><td><code>note</code></td><td><code>string?</code></td><td>The optional note that is printed on document.</td></tr><tr><td><code>deliveryType</code></td><td><a href="#stocktransferdeliverytype"><code>StockTransferDeliveryType</code></a></td><td>The type of delivery.</td></tr><tr><td><code>paymentType</code></td><td><a href="#stocktransferpaymenttype"><code>StockTransferPaymentType</code></a></td><td>The payment method.</td></tr><tr><td><code>discountRate</code></td><td><code>decimal</code></td><td>Discount rate. Numeric value between 0 and 100 with precision up to 2 decimal places.</td></tr><tr><td><code>currencyLabel</code></td><td><code>string</code></td><td>The currency label.</td></tr><tr><td><code>meta</code></td><td><a href="#meta"><code>Meta</code></a></td><td>Object that holds additional information related to stock transfer.</td></tr><tr><td><code>_v</code></td><td><code>int</code></td><td>Resource version. This property is tracked and updated by API.</td></tr></tbody></table>

## StockTransferCompanyInfo

<table><thead><tr><th width="232">Name</th><th width="232.66666666666666">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>name</code></td><td><code>string</code></td><td>Company name.</td></tr><tr><td><code>crn</code></td><td><code>string</code></td><td>Company registration number (known as IČO, in Slovak Republic).</td></tr><tr><td><code>vatId</code></td><td><code>string?</code></td><td>VAT ID (known as IČ DPH, in Slovak Republic).</td></tr><tr><td><code>taxId</code></td><td><code>string?</code></td><td>TAX ID (known as DIČ, in Slovak Republic).</td></tr><tr><td><code>isTaxPayer</code></td><td><code>bool</code></td><td>Gets whether this company is tax payer.</td></tr><tr><td><code>register</code></td><td><code>string?</code></td><td>The company's entry in the business register.</td></tr><tr><td><code>contact</code></td><td><a href="#contact"><code>Contact</code></a><code>?</code></td><td>Contact associated with company.</td></tr><tr><td><code>address</code></td><td><a href="#address"><code>Address</code></a><code>?</code></td><td>Company invoice address.</td></tr><tr><td><code>shippingAddress</code></td><td><a href="#address"><code>Address</code></a><code>?</code></td><td>Optional company shipping address (if is different than address).</td></tr><tr><td><code>bankAccount</code></td><td><a href="#bankaccount"><code>BankAccount</code></a><code>?</code></td><td>Company bank account.</td></tr></tbody></table>

## StockTransferDeliveryType

Enumeration with the following values:

<table><thead><tr><th width="278">Value</th><th>Description</th></tr></thead><tbody><tr><td><code>Unknown</code></td><td>The method of delivery is currently unidentified or unspecified.</td></tr><tr><td><code>None</code></td><td>No formal delivery method is associated with the shipment. This could imply that the items might be collected virtually (e.g. software products).</td></tr><tr><td><code>Cartage</code></td><td>Delivery transportation method of goods, typically within a localized area. It's often used for short-distance deliveries.</td></tr><tr><td><code>PostOffice</code></td><td>The items will be sent via the postal service.</td></tr><tr><td><code>Courier</code></td><td>Specialized courier service will be utilized for the shipment.</td></tr><tr><td><code>PickUp</code></td><td>The recipient will personally collect the items from a designated location.</td></tr></tbody></table>

## StockTransferItem

<table><thead><tr><th width="200">Name</th><th width="259.66666666666663">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>id</code></td><td><code>int</code></td><td>Identifier of item, unique within stock transfer.</td></tr><tr><td><code>sourcePlu</code></td><td><a href="#stocktransferitemplu"><code>StockTransferItemPlu</code></a><code>?</code></td><td>The information about source PLU. Used in <code>outcome</code>, <code>transfer</code>, <code>sale</code>, <code>invoice</code> and <code>correction</code> <a href="#stocktransfertype">stock transfer types</a>.</td></tr><tr><td><code>destinationPlu</code></td><td><a href="#stocktransferitemplu"><code>StockTransferItemPlu</code></a><code>?</code></td><td>The information about destination PLU. Used in <code>income</code>, <code>transfer</code> and <code>correction</code> <a href="#stocktransfertype">stock transfer types</a>.</td></tr><tr><td><code>note</code></td><td><code>string?</code></td><td>The optional note related to stock given stock transfer item.</td></tr></tbody></table>

## StockTransferItemPlu

<table><thead><tr><th width="231.99999999999997">Property name</th><th width="232">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>code</code></td><td><code>int</code></td><td>Product's PLU code.</td></tr><tr><td><code>stockName</code></td><td><code>string</code></td><td>Name of associated <a href="#stock"><code>Stock</code></a>.</td></tr><tr><td><code>name</code></td><td><code>string</code></td><td>Product name. E.g. "<em>Coffee</em>".</td></tr><tr><td><code>quantity</code></td><td><a href="#quantity"><code>Quantity</code></a></td><td>Positive or negative non-zero quantity.</td></tr><tr><td><code>discountRate</code></td><td><code>decimal</code></td><td>Discount rate. Numeric value between 0 and 100 with precision up to 2 decimal places.</td></tr><tr><td><code>isDiscountAllowed</code></td><td><code>bool</code></td><td>Determines whether discount can be placed on stock transfer item associated with this PLU.</td></tr><tr><td><code>note</code></td><td><code>string?</code></td><td>The optional note related to stock given stock transfer item plu.</td></tr><tr><td><code>receipt</code></td><td><a href="#stocktransferitemplu"><code>StockTransferItemPlu</code></a><code>[]</code></td><td>Items of PLU recipe. Exclusively for PLUs categorized as <code>Recipe</code> <a href="#plutype">type</a>.</td></tr><tr><td><code>type</code></td><td><a href="#plutype"><code>PluType</code></a></td><td>Type of product.</td></tr><tr><td><code>unitPurchasePrice</code></td><td><a href="#unitprice"><code>UnitPrice</code></a><code>?</code></td><td>The unit purchase price excluding VAT.</td></tr><tr><td><code>unitRetailPrice</code></td><td><a href="#unitprice"><code>UnitPrice</code></a></td><td>The unit retail price excluding VAT.</td></tr><tr><td><code>vat</code></td><td><a href="#vatinfo"><code>VatInfo</code></a></td><td>The VAT category and VAT rate.</td></tr></tbody></table>

## StockTransferNumbering

<table><thead><tr><th width="232">Name</th><th width="232.66666666666666">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>id</code></td><td><code>string</code></td><td>The unique identifier.</td></tr><tr><td><code>isActive</code></td><td><code>bool</code></td><td>Determines whether this numbering can be used to generate <a href="#stocktransfer">stock transfer</a> document numbers.</td></tr><tr><td><code>type</code></td><td><a href="#stocktransfertype"><code>StockTransferType</code></a></td><td>Type of stock transfer associated with this numbering.</td></tr><tr><td><code>format</code></td><td><code>string</code></td><td><p>The document number format, e.g. "<em>FA-{yyyy}{i4}</em>". The placeholders enclosed within curly braces (<code>{</code> and <code>}</code>) are known as "wildcards", dynamically substituted with real values derived from the current sequence number and date.</p><p></p><p>Supported wildcards: </p><ul><li><code>yyyy</code>: 4 digits year, e.g. <em>2023</em>.</li><li><code>yy</code>: 2 digits year, e.g. <em>23</em></li><li><code>MM</code>: month number, e.g. <code>08</code>.</li><li><code>DD</code>: number of day, e.g. <em>30</em>.</li><li><code>i4</code>: 4 digits long sequence number, e.g. <em>0001</em>.</li><li><code>i6</code>: 6 digits long sequence number, e.g. <em>000001</em>.</li><li><code>i8</code>: 8 digits long sequence number, e.g. <em>00000001</em>.</li></ul></td></tr><tr><td><code>repeat</code></td><td><code>bool</code></td><td>Determines whehter new numbering intervals can be generated, based on previously active one.</td></tr><tr><td><code>numberings</code></td><td><a href="#stocktransfernumberinginterval"><code>StockTransferNumberingInterval</code></a></td><td>Stores last used number related to specific time interval.</td></tr><tr><td><code>_v</code></td><td><code>int</code></td><td>Resource version. This property is tracked and updated by API.</td></tr></tbody></table>

## StockTransferNumberingInterval

<table><thead><tr><th width="232">Name</th><th width="232.66666666666666">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>isActive</code></td><td><code>bool</code></td><td>Determines whether this interval is active and can be used to generate number.</td></tr><tr><td><code>createdAt</code></td><td><code>DateTime</code></td><td>Date and time of interval creation.</td></tr><tr><td><code>startAt</code></td><td><code>DateTime</code></td><td>Date and time of interval start.</td></tr><tr><td><code>period</code></td><td><a href="#stocktransfernumberingintervalperiod"><code>StockTransferNumberingIntervalPeriod</code></a></td><td>Defines the specific duration for which this interval remains valid.</td></tr><tr><td><code>currentNumber</code></td><td><code>int</code></td><td>The next number to be used.</td></tr></tbody></table>

## StockTransferNumberingIntervalPeriod

<table><thead><tr><th width="232">Name</th><th width="232.66666666666666">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>unit</code></td><td><a href="#numberingperiodunit"><code>NumberingPeriodUnit</code></a></td><td>The time unit.</td></tr><tr><td><code>amount</code></td><td><code>int</code></td><td>The quantity.</td></tr></tbody></table>

## StockTransferPayment

<table><thead><tr><th width="232">Name</th><th width="232.66666666666666">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>paymentType</code></td><td><a href="#stocktransferpaymenttype"><code>StockTransferPaymentType</code></a></td><td>The payment method used.</td></tr><tr><td><code>amount</code></td><td><a href="#foreignprice"><code>ForeignPrice</code></a></td><td>The payment amount.</td></tr><tr><td><code>paidAt</code></td><td><code>DateTime?</code></td><td>The date and time of payment, if already settled.</td></tr><tr><td><code>note</code></td><td><code>string?</code></td><td>The optional note related to the payment.</td></tr><tr><td><code>createdAt</code></td><td><code>DateTime</code></td><td>Date and time of payment creation.</td></tr><tr><td><code>createdBy</code></td><td><code>UserInfo</code></td><td>User who created the payment.</td></tr></tbody></table>

## StockTransferPaymentType

Enumeration with the following values:

<table><thead><tr><th width="278">Value</th><th>Description</th></tr></thead><tbody><tr><td><code>Unknown</code></td><td>The specific method of payment is currently unidentified or not provided.</td></tr><tr><td><code>Cash</code></td><td>Customer is providing physical currency as the form of payment for the goods or services received.</td></tr><tr><td><code>BankTransfer</code></td><td>The electronic transfer of funds directly from the customer's bank account to the recipient's bank account.</td></tr><tr><td><code>POSTerminal</code></td><td>Payments made through a point-of-sale (POS) terminal. This could involve debit or credit card transactions, where the customer's card is swiped, inserted, or tapped to process the payment.</td></tr><tr><td><code>MoneyOrder</code></td><td>Prepaid payment method where the customer purchases a money order from a financial institution or postal service and then sends it to the recipient.</td></tr><tr><td><code>CashOnDelivery</code></td><td>The payment will be made in cash directly to the delivery person upon receipt of the ordered items.</td></tr><tr><td><code>Coupon</code></td><td>Refers to using a discount coupon, voucher, or promotional code to cover total cost of the purchase.</td></tr><tr><td><code>Other</code></td><td>Payment method that does not fit into the defined categories.</td></tr></tbody></table>

## StockTransferType

Enumeration with the following values:

<table><thead><tr><th width="278">Value</th><th>Description</th></tr></thead><tbody><tr><td><code>income</code></td><td>Income.</td></tr><tr><td><code>outcome</code></td><td>Outcome.</td></tr><tr><td><code>transfer</code></td><td>Transfer.</td></tr><tr><td><code>sale</code></td><td>Sale stock transfer created by system after <a href="#ticket">ticket</a> is closed (similar to outcome).</td></tr><tr><td><code>invoice</code></td><td>Invoice (similar to outcome).</td></tr><tr><td><code>correction</code></td><td>Sale stock transfer created by system after <a href="#stocktaking">stock taking</a> is closed.</td></tr></tbody></table>

## TaxFreeReason

Describes the reason for assigning zero VAT rate to the product, according to Slovak legislation. Enumeration with the following values:

<table><thead><tr><th width="278">Value</th><th>Description</th></tr></thead><tbody><tr><td><code>vatReverseCharge</code></td><td>VAT reverse charge.</td></tr><tr><td><code>vatExemptionGood</code></td><td>VAT exemption.</td></tr><tr><td><code>travelAgency</code></td><td>Special regulation of tax application for travel agencies.</td></tr><tr><td><code>usedGood</code></td><td>Special regulation of tax application for used goods.</td></tr><tr><td><code>artwork</code></td><td>Special regulation of tax application for works of art.</td></tr><tr><td><code>collectiblesAndAntiques</code></td><td>Special regulation of tax application for collectibles and antiques.</td></tr></tbody></table>

## Ticket

<table><thead><tr><th width="226.99999999999997">Name</th><th width="232">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>id</code></td><td><code>string</code></td><td>Unique ticket identifier. If not specified, ID is generated by API.</td></tr><tr><td><code>externalId</code></td><td><code>string?</code></td><td>Unique identifier provided by external system.</td></tr><tr><td><code>state</code></td><td><a href="#ticketstatus"><code>TicketStatus</code></a></td><td>State of ticket.</td></tr><tr><td><code>type</code></td><td><a href="#tickettype"><code>TicketType</code></a></td><td>Type of ticket.</td></tr><tr><td><code>name</code></td><td><code>string</code></td><td>Ticket name (may be given by cashier, and is usually printed on receipt).</td></tr><tr><td><code>openDate</code></td><td><code>DateTime</code></td><td>Date and time of ticket creation.</td></tr><tr><td><code>issueDate</code></td><td><code>DateTime?</code></td><td>Original date and time of paragon creation, based on which ticket is later created. Required, when <code>isParagon</code> is true.</td></tr><tr><td><code>closeDate</code></td><td><code>DateTime?</code></td><td>Date and time of ticket closing (receipt printing).</td></tr><tr><td><code>closeInfo</code></td><td><a href="#ticketcloseinfo"><code>TicketCloseInfo?</code></a></td><td>Information about ticket closing. Available only when <code>state</code> is <code>closed</code>.</td></tr><tr><td><code>purchaseType</code></td><td><a href="#purchasetype"><code>PurchaseType</code></a></td><td>The type of purchase.</td></tr><tr><td><code>location</code></td><td><a href="#ticketlocation"><code>TicketLocation?</code></a></td><td>Contains information about ticket location, which refers to specific <code>Table</code> in <code>Zone</code>. May be <code>null</code>, if ticket is not associated with any table, or cashier do not use floor plan in cash register application.</td></tr><tr><td><code>customer</code></td><td><a href="#ticketcustomerinfo"><code>TicketCustomerInfo?</code></a></td><td>Information about associated <a href="api-reference/customers">customer</a>.</td></tr><tr><td><code>originDeviceName</code></td><td><code>string?</code></td><td>Name of device on which ticket was created.</td></tr><tr><td><code>employee</code></td><td><a href="#userinfo"><code>UserInfo</code></a></td><td>Cashier assigned to ticket.</td></tr><tr><td><code>items</code></td><td><a href="#ticketitem"><code>TicketItem[]</code></a></td><td>Collection of products.</td></tr><tr><td><code>payments</code></td><td><a href="#ticketpayment"><code>TicketPayment</code></a><code>[]</code></td><td>Collection of paments used to pay the purchase.</td></tr><tr><td><code>currencyLabel</code></td><td><code>string</code></td><td>Currency label.</td></tr><tr><td><code>discountRate</code></td><td><code>decimal</code></td><td>Value between 0 and 100. Up to 2 decimal places.</td></tr><tr><td><code>roundingAmount</code></td><td><a href="#price"><code>Price?</code></a></td><td>Rounding amount.</td></tr><tr><td><code>invoiceNumber</code></td><td><code>string?</code></td><td>Invoice number. Value is required, if <code>type</code> is <code>invoice</code>.</td></tr><tr><td><code>paragonNumber</code></td><td><code>int?</code></td><td>Sequence number of the paragon based on which the ticket was created. Required, when <code>isParagon</code> is <code>true</code>.</td></tr><tr><td><code>isParagon</code></td><td><code>bool</code></td><td>Specifies whether this ticket represents paragon registration.</td></tr><tr><td><code>_v</code></td><td><code>int</code></td><td>Resource version. This property is tracked and updated by API.</td></tr></tbody></table>

## TicketCloseContext

<table><thead><tr><th width="230.99999999999997">Name</th><th width="253">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>fiscal</code></td><td><a href="#ticketclosecontextfiscal"><code>TicketCloseContextFiscal</code></a></td><td><a href="#fiscal">Fiscal printer</a> options for generating receipt as an result of ticket closing procedure. </td></tr><tr><td><code>employee</code></td><td><a href="#userinfo"><code>UserInfo</code></a><code>?</code></td><td>If an employee is specified, the ticket's closure information will reflect this employee instead of the authenticated user. To specify a user other than the authenticated user, the authenticated user must have the <code>TicketCloseAs</code> <a href="user-rights">user right</a>.</td></tr></tbody></table>

## TicketCloseContextFiscal

<table><thead><tr><th width="230.99999999999997">Name</th><th width="253">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>name</code></td><td><code>string</code></td><td>Name of <a href="#fiscal">fiscal printer</a> which will perform the ticket closing procedure. </td></tr><tr><td><code>ticket</code></td><td><a href="#ticketclosecontextfiscalticket"><code>TicketCloseContextFiscalTicket</code></a><code>?</code></td><td>Ticket closing options.</td></tr><tr><td><del><code>options</code></del></td><td><a href="#settings"><code>Settings</code></a></td><td>The additional options. Not used in current version.</td></tr></tbody></table>

## TicketCloseContextFiscalTicket

<table><thead><tr><th width="230.99999999999997">Name</th><th width="253">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>form</code></td><td><a href="#ticketform"><code>TicketForm</code></a></td><td>The receipt form, which can be either <code>print</code> or <code>email</code>.</td></tr><tr><td><code>formOptions</code></td><td><a href="#emailticketformoptions"><code>EmailTicketFormOptions</code></a> | <a href="#printticketformoptions"><code>PrintTicketFormOptions</code></a></td><td>When the <code>form</code> is set to <code>print</code>, the type of this property is <a href="#printticketformoptions"><code>PrintTicketFormOptions</code></a>. When the <code>form</code> is set to <code>email</code>, the type of this property is <a href="#emailticketformoptions"><code>EmailTicketFormOptions</code></a>.</td></tr></tbody></table>

## TicketCloseInfo

<table><thead><tr><th width="230.99999999999997">Name</th><th width="253">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>eKasa</code></td><td><a href="#ticketcloseinfoekasa"><code>TicketCloseInfoEKasa?</code></a></td><td>Information related to receipt registration in eKasa system. May be null, if used fiscal device do not support eKasa legislation.</td></tr><tr><td><code>dailySalesReportNumber</code></td><td><code>int</code></td><td>Number of the daily sales report, which the ticket is associated to.</td></tr><tr><td><code>number</code></td><td><code>int</code></td><td>Ticket sequence number, unique within associated daily sales report.</td></tr><tr><td><code>fiscalMemorySerialNumber</code></td><td><code>string</code></td><td>Serial number of fiscal memory used in fiscal device. Same fiscal device may have various memories over time (when one fills up).</td></tr><tr><td><code>fiscalName</code></td><td><code>string</code></td><td>Unique name of fiscal device used to issue receipt.</td></tr><tr><td><code>deviceName</code></td><td><code>string</code></td><td>Unique name of device from which ticket closing was initiated.</td></tr></tbody></table>

## TicketCloseInfoEKasa

<table><thead><tr><th width="192.99999999999997">Name</th><th width="253">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>ticketId</code></td><td><code>string</code></td><td>Unique ticket identifier given by eKasa system.</td></tr><tr><td><code>ticketForm</code></td><td><a href="#ticketform"><code>TicketForm</code></a></td><td>Form of receipt.</td></tr><tr><td><code>ticketFormOptions</code></td><td><a href="#emailticketformoptions"><code>EmailTicketFormOptions</code></a> | <a href="#printticketformoptions"><code>PrintTicketFormOptions</code></a></td><td><p>Object with string properties containing additional information about ticket form used when creating receipt. </p><p></p><p>When the <code>ticketForm</code> is set to <code>print</code>, the type of this property is <a href="#printticketformoptions"><code>PrintTicketFormOptions</code></a>. When the <code>form</code> is set to <code>email</code>, the type of this property is <a href="#emailticketformoptions"><code>EmailTicketFormOptions</code></a>.</p></td></tr><tr><td><code>ticketIsOnline</code></td><td><code>bool</code></td><td>Specifies whether ticket was registered in eKasa system in online mode (<code>true</code>) or offline mode (<code>false</code>). Offline mode means that internet connectivity was broken at time of receipt registration.</td></tr></tbody></table>

## TicketCustomerInfo

<table><thead><tr><th width="222.99999999999997">Name</th><th width="253">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>id</code></td><td><code>string?</code></td><td></td></tr><tr><td><code>externalId</code></td><td><code>string?</code></td><td></td></tr><tr><td><code>cardSerialNumber</code></td><td><code>string?</code></td><td></td></tr><tr><td><code>firstName</code></td><td><code>string?</code></td><td></td></tr><tr><td><code>lastName</code></td><td><code>string?</code></td><td></td></tr><tr><td><code>fullName</code></td><td><code>string?</code></td><td></td></tr><tr><td><code>gender</code></td><td><code>Gender?</code></td><td></td></tr><tr><td><code>birthDate</code></td><td><code>DateTime?</code></td><td></td></tr><tr><td><code>address</code></td><td><a href="../api-reference/customers#customeraddress"><code>CustomerAddress</code></a></td><td></td></tr><tr><td><code>deliveryAddress</code></td><td><a href="../api-reference/customers#customeraddress"><code>CustomerAddress</code></a></td><td></td></tr><tr><td><code>isCompany</code></td><td><code>bool</code></td><td></td></tr><tr><td><code>company</code></td><td><a href="../api-reference/customers#customercompany"><code>CustomerCompany</code></a></td><td></td></tr><tr><td><code>phone</code></td><td><code>string?</code></td><td></td></tr><tr><td><code>email</code></td><td><code>string?</code></td><td></td></tr><tr><td><code>creditRate</code></td><td><code>decimal?</code></td><td></td></tr><tr><td><code>meta</code></td><td><a href="#meta"><code>Meta</code></a><code>?</code></td><td></td></tr></tbody></table>

## TicketForm

Enumeration with the following values:

<table><thead><tr><th width="231.99999999999997">Value</th><th>Description</th></tr></thead><tbody><tr><td><code>print</code></td><td>Paper receipt. This is default ticket form.</td></tr><tr><td><code>email</code></td><td>Email receipt, also known as "e-receipt".</td></tr></tbody></table>

## TicketItem

This class derives from [`TicketItemBase`](#ticketitembase).

<table><thead><tr><th width="236.99999999999997">Name</th><th width="153">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>subItems</code></td><td><a href="#ticketsubitem"><code>TicketSubItem</code></a><code>[]?</code></td><td>Optional collection of ticket sub items. This property is available from Portos version 4.2.</td></tr><tr><td><code>referenceFiscalTicketId</code></td><td><code>string?</code></td><td>Reference to external (fiscal) Ticket identifier. Must have value when <code>type</code> is <code>correction</code> or <code>returned</code>. Must be <code>null</code> otherwise. This value can be found in <code>ticket.closeInfo.eKasa.ticketId</code>.</td></tr><tr><td><code>courseNumber</code></td><td><code>int?</code></td><td>Specifies course number. Can be specified by the cashier to determine the order of food and drinks brought to the table.</td></tr></tbody></table>

**Note:** Remaining properties are documented in the [TicketItemBase](#ticketitembase) section.

## TicketItemBase

Base class for [TicketItem](#ticketitem) and TicketSubItem models.

<table><thead><tr><th width="236.99999999999997">Name</th><th width="153">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>id</code></td><td><code>uint?</code></td><td>Ticket item identifier, unique within given ticket.</td></tr><tr><td><code>externalId</code></td><td><code>string?</code></td><td>Ticket item external identifier. Supplied by external system.</td></tr><tr><td><code>type</code></td><td><a href="#ticketitemtype"><code>TicketItemType</code></a></td><td>Ticket item type. Based on type, restrictions for <code>quantity</code> and <code>unitPrice</code> are applied.</td></tr><tr><td><code>plu</code></td><td><a href="#ticketitemplu"><code>TicketItemPlu</code></a></td><td>Information about associated product.</td></tr><tr><td><code>comment</code></td><td><code>string?</code></td><td>Optional comment from cashier.</td></tr><tr><td><code>unitPrice</code></td><td><a href="#unitprice"><code>UnitPrice</code></a></td><td>Unit price excluding VAT.</td></tr><tr><td><code>quantity</code></td><td><a href="#quantity"><code>Quantity</code></a></td><td>Quantity</td></tr><tr><td><code>discountRate</code></td><td><code>decimal</code></td><td>Discount rate with value between 0 and 100, with precision up to 2 decimal places.</td></tr><tr><td><code>voucherNumber</code></td><td><code>string?</code></td><td>Number of voucher. Must have value when <code>type</code> is <code>voucher</code>. Must be <code>null</code> otherwise.</td></tr><tr><td><code>isQuantityFixed</code></td><td><code>bool?</code></td><td>Specifies whether <code>quantity</code> of this instance can be modified.</td></tr></tbody></table>

## TicketItemPlu

<table><thead><tr><th width="335">Name</th><th width="181">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>name</code></td><td><code>string</code></td><td>Name of product. Displayed in cash register application.</td></tr><tr><td><code>description</code></td><td><code>string?</code></td><td>Optional product description. If specified, this value is printed on receipt. Otherwise, <code>name</code> is printed on receipt.</td></tr><tr><td><code>stockName</code></td><td><code>string?</code></td><td>Stock of product associated with this item. </td></tr><tr><td><code>code</code></td><td></td><td>Code of product associated with this item.</td></tr><tr><td><code>articleCategoryLabel</code></td><td><code>string</code></td><td>Label of article category, to which the product associated with this item belongs.</td></tr><tr><td><code>vatInfo</code></td><td><a href="#vatinfo"><code>VatInfo</code></a></td><td>VAT rate and VAT category..</td></tr><tr><td><code>isDiscountAllowed</code></td><td><code>bool</code></td><td>Determines whether discount can be applied to this product.</td></tr><tr><td><code>isPriceFixed</code></td><td><code>bool</code></td><td>Determines whether unit price can be changed by cashier (cashier must operate on device which has allowed price change in its settings).</td></tr><tr><td><code>isSplittable</code></td><td><code>bool</code></td><td>If set to <code>false</code>, product can be sold only in integer quantities. <code>true</code> value means that any quantity can be used.</td></tr><tr><td><code>orderEndpointNames</code></td><td><code>string[]</code></td><td>Collection of order endpoints on which each product order is processed.</td></tr><tr><td><code>type</code></td><td><a href="#plutype"><code>PluType</code></a></td><td>Type of product.</td></tr><tr><td><code>specialRegulation</code></td><td><a href="#taxfreereason"><code>TaxFreeReason?</code></a></td><td>The reason of associating zero VAT rate. Value is only provided if one of enumeration option does apply for given product.</td></tr><tr><td><code>isCashbackAllowed</code></td><td><code>bool</code></td><td>Determines whether the customer is eligible for a "cash back" for the purchase of this product. Set to <code>false</code>, if no cash back should be given or the purchase of this product, <code>true</code> otherwise.</td></tr></tbody></table>

## TicketItemType

Enumeration with the following values:

<table><thead><tr><th width="147.99999999999997">Value</th><th>Description</th></tr></thead><tbody><tr><td><code>positive</code></td><td>Ticket item with positive total price (multiplication of unit price and quantity should result to positive or zero value).</td></tr><tr><td><code>returnedContainer</code></td><td>Returned product packaging.</td></tr><tr><td><code>returned</code></td><td>Returned products.</td></tr><tr><td><code>correction</code></td><td>Correction, e.g. after cashier mistake.</td></tr><tr><td><code>discount</code></td><td>Discount expressed in absolute value. For relative discounts, use <code>discountRate</code> propety of <a href="#ticket"><code>Ticket</code></a> or <a href="#ticketitem"><code>TicketItem</code></a> models.</td></tr><tr><td><code>advance</code></td><td>Deducted advance that was previously paid by purchaser.</td></tr><tr><td><code>voucher</code></td><td>Represents deduction of voucher value, when single-purpose voucher is exchanged for provided goods or services.</td></tr><tr><td><code>credit</code></td><td>Consumption or top-up of customer credit.</td></tr><tr><td><code>tip</code></td><td>Represents a tip given by the customer.</td></tr></tbody></table>

## TicketLocation

<table><thead><tr><th width="192.99999999999997">Name</th><th width="253">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>zoneName</code></td><td><code>string</code></td><td>References unique <a href="#zone"><code>Zone</code></a> name.</td></tr><tr><td><code>tableName</code></td><td><code>string</code></td><td>References table by it's unique name within zone specified by <code>zoneName</code> property. </td></tr></tbody></table>

## TicketPayment

<table><thead><tr><th width="192.99999999999997">Name</th><th width="253">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>amount</code></td><td><a href="#foreignprice"><code>ForeignPrice</code></a></td><td>Payment amount.</td></tr><tr><td><code>paymentType</code></td><td><a href="#ticketpaymenttype"><code>TicketPaymentType</code></a></td><td>Information about payment type.</td></tr></tbody></table>

## TicketPaymentType

<table><thead><tr><th width="192.99999999999997">Name</th><th width="253">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>number</code></td><td><code>int</code></td><td>Unique payment type number.</td></tr><tr><td><code>description</code></td><td><code>string</code></td><td>Payment type human readable description.</td></tr><tr><td><code>isChangeable</code></td><td><code>bool</code></td><td>(reserved for future use)</td></tr><tr><td><code>category</code></td><td><a href="#paymenttypecategory"><code>PaymentTypeCategory</code></a></td><td>Specifies category of payment type.</td></tr></tbody></table>

## TicketStatus

Enumeration with the following values:

<table><thead><tr><th width="231.99999999999997">Value</th><th>Description</th></tr></thead><tbody><tr><td><code>open</code></td><td>Ticket is open and available for modification.</td></tr><tr><td><code>closed</code></td><td>Receipt is issued for ticket. Ticket can no longer be modified. This is the final state, as ticket can not be re-opened.</td></tr></tbody></table>

## TicketSubItem

Represents a sub-item within a [ticket item](#ticketitem) and derives from [`TicketItemBase`](#ticketitembase).

| Property   | Type                                                      | Description                                                                           |
| ---------- | --------------------------------------------------------- | ------------------------------------------------------------------------------------- |
| `OptionId` | [`TicketSubItemModifierInfo`](#ticketsubitemmodifierinfo) | Data related to modifier, available when given subitem represents modifier selection. |

**Note:** Remaining properties are documented in the [TicketItemBase](#ticketitembase) section.

## TicketSubItemModifierInfo

Information related to [`Modifier`](#modifier), based on which [`TicketSubItem`](#ticketsubitem) was created.

| Property   | Type     | Description                                           |
| ---------- | -------- | ----------------------------------------------------- |
| `Id`       | `string` | Unique identifier of the [modifier](#modifier).       |
| `OptionId` | `string` | Identifier of the [modifier option](#modifieroption). |

## TicketsUpdateAction

Specifies update mode for tickets batch update.

Enumeration with the following values:

<table><thead><tr><th width="231.99999999999997">Value</th><th>Description</th></tr></thead><tbody><tr><td><code>default</code></td><td>Default mode.</td></tr><tr><td><code>move</code></td><td>Mode, when ticket items are transfered from one ticket to another. Sum of all transfered quantites must equalto zero.</td></tr></tbody></table>

## TicketType

Enumeration with the following values:

<table><thead><tr><th width="231.99999999999997">Value</th><th>Description</th></tr></thead><tbody><tr><td><code>cashRegister</code></td><td>Basic cash register receipt. This is the most common type.</td></tr><tr><td><code>invalid</code></td><td>Same as cash register receipt, however this type is used for cashier training. Tax liability does not arise from invalid receipts, when registered in eKasa system.</td></tr><tr><td><code>invoice</code></td><td>Represents invoice payment. Ticket of this type must have empty <code>items</code> collection. </td></tr></tbody></table>

## TimeOnly

The [.NET builtin type](https://learn.microsoft.com/en-us/dotnet/api/system.timeonly). Represents a time of day, as would be read from a clock, within the range 00:00:00 to 23:59:59.9999999.

## TimeOnlyRange

<table><thead><tr><th width="165.99999999999997">Property name</th><th width="177">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>from</code></td><td><a href="#timeonly"><code>TimeOnly</code></a><code>?</code></td><td>Optional interval start. If value is null, interval starts at 00:00:00.</td></tr><tr><td><code>to</code></td><td><a href="#timeonly"><code>TimeOnly</code></a><code>?</code></td><td>Optional interval start. If value is null, interval ends at 23:59:9999999.</td></tr></tbody></table>

## ToolDeviceSettings

No properties are currently defined. Settings are managed directly in PORTOS Link application.

## UnitPrice

Similiar to [`Price`](#price), however precision of unit price is up to 6 decimal places.

<table><thead><tr><th width="231.99999999999997">Property name</th><th width="135">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>amount</code></td><td><code>decimal</code></td><td>Up to 6 decimal places.</td></tr><tr><td><code>currencyLabel</code></td><td><code>string</code></td><td>3-characters long currency label (ISO 4217).</td></tr></tbody></table>

## UserCreateUpdateContext

The context used to create new or update existing [user profile](#userprofile).

<table><thead><tr><th width="192.66666666666666">Name</th><th width="292">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>id</code></td><td><code>string</code></td><td>Unique user ID</td></tr><tr><td><code>isActive</code></td><td><code>bool</code></td><td>Determines whether this user profile is active and can be used during authentication. </td></tr><tr><td><code>isVirtual</code></td><td><code>bool</code></td><td>Determines whether this user is "virtual user" (virtual users are related to API extensions, and can not be used for authentication).</td></tr><tr><td><code>name</code></td><td><code>string</code></td><td>Display name of user.</td></tr><tr><td><code>userName</code></td><td><code>string</code></td><td>Unique user name used to log in.</td></tr><tr><td><code>featureName</code></td><td><code>string?</code></td><td>Name of "feature" (has value only for virtual users).</td></tr><tr><td><code>password</code></td><td><code>string?</code></td><td>The password.</td></tr><tr><td><code>confirmPassword</code></td><td><code>string?</code></td><td>The password.</td></tr><tr><td><code>devices</code></td><td><a href="#userdevice"><code>UserDevice</code></a><code>[]</code></td><td>Devices on which the user can be authorized.</td></tr></tbody></table>

## UserDevice

<table><thead><tr><th width="235">Name</th><th width="135.66666666666663">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>isActive</code></td><td><code>bool</code></td><td>Indicates whether user can be authorized on a given device.</td></tr><tr><td><code>name</code></td><td><code>string</code></td><td>Unique name of the device on which the user is logged in.</td></tr><tr><td><code>envName</code></td><td><code>string</code></td><td>Name of the <a href="device-environments">device environment</a>.</td></tr><tr><td><code>roles</code></td><td><code>string[]</code></td><td>Collection of <a href="user-rights">user rights</a> granted when authorized on a given device.</td></tr><tr><td><code>description</code></td><td><code>string?</code></td><td>Human readable device description (e.g. "Cash register 1").</td></tr><tr><td><code>preferences</code></td><td><code>object</code></td><td>Object containing user-specific preferences for this device. Reserved for future use.</td></tr></tbody></table>

## UserInfo

<table><thead><tr><th width="231.99999999999997">Property name</th><th width="146">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>userName</code></td><td><code>string</code></td><td>Unique user identifier.</td></tr><tr><td><code>name</code></td><td><code>string</code></td><td>User display name.</td></tr></tbody></table>

## UserProfile

<table><thead><tr><th width="192.66666666666666">Name</th><th width="292">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>id</code></td><td><code>string</code></td><td>Unique user ID</td></tr><tr><td><code>isActive</code></td><td><code>bool</code></td><td>Determines whether this user profile is active and can be used during authentication. </td></tr><tr><td><code>isVirtual</code></td><td><code>bool</code></td><td>Determines whether this user is "virtual user" (virtual users are related to API extensions, and can not be used for authentication).</td></tr><tr><td><code>name</code></td><td><code>string</code></td><td>Display name of user.</td></tr><tr><td><code>userName</code></td><td><code>string</code></td><td>Unique user name used to log in.</td></tr><tr><td><code>featureName</code></td><td><code>string?</code></td><td>Name of "feature" (has value only for virtual users).</td></tr><tr><td><code>hasPassword</code></td><td><code>bool</code></td><td>Indicates if the given user profile is linked to a password.</td></tr><tr><td><code>devices</code></td><td><a href="#userdevice"><code>UserDevice</code></a><code>[]</code></td><td>Devices on which the user can be authorized.</td></tr></tbody></table>

## UserProfileContext

<table><thead><tr><th width="192.66666666666666">Name</th><th width="292">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>id</code></td><td><code>string</code></td><td>Unique user ID</td></tr><tr><td><code>isVirtual</code></td><td><code>bool</code></td><td>Determines whether this user is "virtual user" (virtual users are related to API extensions, and can not be used for authentication).</td></tr><tr><td><code>name</code></td><td><code>string</code></td><td>Display name of user.</td></tr><tr><td><code>userName</code></td><td><code>string</code></td><td>Unique user name used to log in.</td></tr><tr><td><code>featureName</code></td><td><code>string?</code></td><td>Name of "feature" (has value only for virtual users).</td></tr><tr><td><code>rights</code></td><td><code>string[]</code></td><td>Collection of <a href="user-rights">user rights</a> that are granted for user authorized on given device.</td></tr><tr><td><code>device</code></td><td><a href="#userprofilecontextdevice"><code>UserProfileContextDevice</code></a></td><td>Information about device that user operates on.</td></tr></tbody></table>

## UserProfileContextDevice

<table><thead><tr><th width="125">Name</th><th width="300.66666666666663">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>name</code></td><td><code>string</code></td><td>Unique name of the device on which the user is logged in.</td></tr><tr><td><code>envName</code></td><td><code>string</code></td><td>Name of the <a href="device-environments">device environment</a>.</td></tr><tr><td><code>description</code></td><td><code>string?</code></td><td>Human readable device description (e.g. "Cash register 1").</td></tr><tr><td><code>preferences</code></td><td><code>object</code></td><td>Object containing user-specific preferences for this device. Reserved for future use.</td></tr><tr><td><code>settings</code></td><td><a href="#backofficedevicesettings"><code>BackOfficeDeviceSettings</code></a> | <a href="#cashregisterdevicesettings"><code>CashRegisterDeviceSettings</code></a> | <a href="#pdadevicesettings"><code>PDADeviceSettings</code></a> | <a href="#tooldevicesettings"><code>ToolDeviceSettings</code></a></td><td>An object with string properties, that is used to store device settings. The value of each property within the object corresponds to a specific type based on the <code>envName</code> (device environment name).</td></tr></tbody></table>

## Vat

VAT category identifier and associated VAT rate.

<table><thead><tr><th width="231.99999999999997">Property name</th><th width="246">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>category</code></td><td><code>int</code></td><td>VAT category identifier. Value between <code>1</code> and <code>10</code>.</td></tr><tr><td><code>rate</code></td><td><a href="#vatrate"><code>VatRate</code></a></td><td>VAT rate. Number with value between 0 and 100 with precision up to 2 decimal places (for taxable items), or <code>null</code> (for non-taxable items).</td></tr><tr><td><code>plannedRateChange</code></td><td><a href="#vatratechange"><code>VatRateChange?</code></a></td><td>Information about the new VAT rate and its effective date. <br>Useful for scenarios where a VAT rate change is scheduled for a specific date and rate.</td></tr><tr><td>lastModifiedAt</td><td>DateTimeM</td><td>The date and time of last update.</td></tr><tr><td><code>_v</code></td><td><code>int</code></td><td>Resource version. This property is tracked and updated by API.</td></tr></tbody></table>

## VatIncome

<table><thead><tr><th width="231.99999999999997">Property name</th><th width="246">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>vatRate</code></td><td><a href="#vatrate"><code>VatRate</code></a></td><td>VAT rate. Number with value between 0 and 100 with precision up to 2 decimal places (for taxable items), or <code>null</code> (for non-taxable items).</td></tr><tr><td><code>totalAmount</code></td><td><a href="#price"><code>Price</code></a></td><td>Total turnover.</td></tr><tr><td><code>vatAmount</code></td><td><a href="#price"><code>Price</code></a></td><td>VAT amount.</td></tr></tbody></table>

## VatInfo

VAT category identifier and associated VAT rate.

<table><thead><tr><th width="231.99999999999997">Property name</th><th width="246">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>category</code></td><td><code>int</code></td><td>VAT category identifier. Value between <code>1</code> and <code>10</code>.</td></tr><tr><td><code>rate</code></td><td><a href="#vatrate"><code>VatRate</code></a></td><td>VAT rate. Number with value between 0 and 100 with precision up to 2 decimal places (for taxable items), or <code>null</code> (for non-taxable items).</td></tr></tbody></table>

## VatRate

Represented by nullable decimal value , that contains:

* value between 0 and 100 with precision up to 2 decimal places (for taxable items)
* `null` (for non-taxable items).

Non-taxable items are mostly returnable containers.

## VatRateChange

<table><thead><tr><th width="231.99999999999997">Property name</th><th width="246">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>rate</code></td><td><a href="#vatrate"><code>VatRate</code></a></td><td>VAT rate. Number with value between 0 and 100 with precision up to 2 decimal places (for taxable items), or <code>null</code> (for non-taxable items).</td></tr><tr><td><code>effectiveFrom</code></td><td><code>DateTime</code></td><td>The date and time when the specified VAT rate takes effect.</td></tr></tbody></table>

## WeeklyScheduleItem

Represents a weekly schedule item that can apply to multiple days with optional time ranges.

<table><thead><tr><th width="169">Property name</th><th width="160">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>days</code></td><td><a href="#dayofweek"><code>DayOfWeek</code></a><code>[]</code></td><td>Gets or sets the list of days when the schedule applies. If value is <code>null</code> or empty, the schedule is not limited to certain days, and applies every day.</td></tr><tr><td><code>timeRange</code></td><td><a href="#timeonlyrange"><code>TimeOnlyRange</code></a><code>?</code></td><td>Gets or sets the time range for the schedule. If value is <code>null</code>, the schedule is not limited by time; starts at the beginning of the day and ends at the end of the day.</td></tr></tbody></table>

## Zone

The zone model represents visual representation of a specific area, such as a room, terrace, or any other defined space. It contains the layout, dimensions, and arrangement of objects within that area.

<table><thead><tr><th width="267">Property name</th><th width="246">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>name</code></td><td><code>string</code></td><td>Unique zone identifier.</td></tr><tr><td><code>defaultFiscalName</code></td><td><code>string?</code></td><td>Optional name of fiscal device. If not null, all cash register applications should use given fiscal device when printing receipts for tickets associated with given zone.</td></tr><tr><td><code>items</code></td><td><a href="#zoneitem"><code>ZoneItem</code></a><code>[]</code></td><td>Collection of zone items (tables or other objects).</td></tr><tr><td><code>sortHint</code></td><td><code>int?</code></td><td>Optional sort hint (to order zones in cash register application)</td></tr><tr><td><code>_v</code></td><td><code>int</code></td><td>Resource version. This property is tracked and updated by API.</td></tr></tbody></table>

## ZoneItem

<table><thead><tr><th width="267">Property name</th><th width="246">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>name</code></td><td><code>string</code></td><td>Name of zone item, unique within associated <a href="#zone">zone</a>.</td></tr><tr><td><code>isTable</code></td><td><code>bool</code></td><td>Indicates, whether ticket can be associated with given zone item.</td></tr><tr><td><code>meta</code></td><td><a href="#zoneitemmeta"><code>ZoneItemMeta</code></a></td><td>Meta information related to render given zone item in application user interface.</td></tr></tbody></table>

## ZoneItemMeta

<table><thead><tr><th width="267">Property name</th><th width="246">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>position</code></td><td><code>Coordinates</code></td><td>Specifies center position.</td></tr><tr><td><code>width</code></td><td><code>decimal</code></td><td>Non-zero positive element width.</td></tr><tr><td><code>height</code></td><td><code>decimal</code></td><td>Non-zero positive element height.</td></tr><tr><td><code>shape</code></td><td><a href="#zoneitemshape"><code>ZoneItemShape</code></a></td><td>Element shape.</td></tr><tr><td><code>rotation</code></td><td><code>int</code></td><td>Element clockwise rotation in degrees.</td></tr><tr><td><code>color</code></td><td><code>string</code></td><td>Color in RGB format, including leading <code>#</code> symbol. E.g. <code>#fff</code> or <code>#aabbcc</code>.</td></tr></tbody></table>

## ZoneItemShape

Emumeration defined with the following values:

<table><thead><tr><th width="147.99999999999997">Value</th><th>Description</th></tr></thead><tbody><tr><td><code>circle</code></td><td>Circle (can also be used for ellipses).</td></tr><tr><td><code>rectangle</code></td><td>Rectangle (can be used also for squares) .</td></tr></tbody></table>
