Data models

This page contains data models that are utilized across multiple resources.

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.

Address

Property nameTypeDescription

street

string?

Street name, office number and/or building number.

city

string?

City

zipCode

string?

Postal code

country

string?

Country

ApiKey

Property nameTypeDescription

id

string

Unique identifier.

clientId

string

Public API key.

clientSecret

string

API secret key, used to hash request payload.

isActive

bool

Indicates whether given API key can be used.

createdAt

DateTime

Date and time, when the API key was created.

name

string

Something users will recognize and trust.

description

string?

This is displayed to all potential users of your application.

userName

string

User identifier associated with given API key.

deviceName

string

Device name associated with given API key.

permissions

string[]

Collection of permissions associated with given API key.

_v

int

Resource version. This property is tracked and updated by API.

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.

Property nameTypeDescription

label

string

Unique abbreviation of article category description, which may contain up to 3 characters.

description

string

Full name (descripition) of article category, visible for cashiers.

customerDescription

string?

Full description for customer (used mostly in menus)

courseNumber

int?

Optional course number that will be initially applied to product associated with given article category.

color

string?

Color in RGB format, including leading # symbol. E.g. #fff or #aabbcc.

sortHint

int?

Optional sort hint (to order article categories in cash register application)

tags

string[]?

Optional collection of tags (used in statistics).

ordering

Ordering settings for article category.

_v

int

Resource version. This property is tracked and updated by API.

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:

SortHintDescription

0

Beers

0

Drinks

1

Pizza

2

Wine

null

Beverages

null

Specials

ArticleCategoryOrderingItem

Settings for article category (ArticleCategory) ordering related to specific OrderOrigin.

Property nameTypeDescription

orderOrigin

Order origin associated with this item.

enabled

bool

Determines whether given type of order origin is enabled for associated Article category.

weeklySchedule

Gets ordering weekly schedule. If value is null 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.

PluPackaging

AuthResult

NameTypeDescription

tokenId

string

The JWT token using for authenticating requests.

refreshToken

string

The refresh token.

user

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 settings and preferences may vary.

BackOfficeDeviceSettings

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

BankAccount

Property nameTypeDescription

bankCountry

string?

The country where the bank associated with the account is located. It represents the jurisdiction and regulatory framework under which the bank operates.

bankName

string?

The name of the bank where the account is held.

iban

string?

International Bank Account Number. A standardized numerical code used to identify a specific bank account internationally.

number

string?

Bank account number in older (non international) format.

swift

string?

SWIFT code (also known as BIC - Bank Identifier Code) is a unique identification code assigned to each bank globally.

CashRegisterDeviceSettings

NameTypeDescription

MaxQuantity

decimal?

Maximal quantity user can specify in single ticket item.

DefaultFiscalName

string?

Determines name of fiscal device associated with cash register. Usage of different fiscal device may be conditioned by rights of authorized user.

OpenedPrices

bool

Determines whether user can specify unit price of ticket item different than product's unit price.

NoticeOnNegativeSale

bool

Determines whether insufficient PLU stock quantity would be indicated to authorized user.

VisibleQuantities

bool

Determines whether PLU stock quantities can be visible for authorized user. Otherwise, application must not display such information.

DefaultOrderEndpointName

string?

Determines name of order endpoint device associated with cash register. Usage of different order endpoint may be conditioned by rights of authorized user.

DefaultStockName

string?

Determines name of stock associated with cash register. Usage of different stock may be conditioned by rights of authorized user.

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

CashTransfer

Property nameTypeDescription

amount

Cash transfer operation amount. Positive for deposit or negative for withdrawal.

date

DateTime

Date and time of cash transfer operation

employee

Employee who performed cash transfer operation.

Company

NameTypeDescription

id

string

Unique company identifier. If not specified, ID is generated by API.

isActive

bool

Gets whether this company is active and can be used (e.g. paired with stock transfers).

name

string

Company name.

crn

string

Company registration number (known as IČO, in Slovak Republic)

vatId

string

VAT ID (known as IČ DPH, in Slovak Republic)

taxId

string

TAX ID (known as DIČ, in Slovak Republic)

isTaxPayer

bool

Gets whether this company is tax payer.

register

string?

The company's entry in the business register

dueDays

int?

The number of days given to a company for payment after issuing an invoice.

type

The company categorization.

discountRate

decimal

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.

isDefault

bool

When true, this record represents merchant (owner of cash register system).

addresses

The addresses associated with company.

bankAccounts

The bank accounts associated with company.

contacts

The contacts associated with company.

_v

int

Resource version. This property is tracked and updated by API.

CompanyType

Enumeration with the following values:

ValueDescription

unknown

Type used when company is not exclusively supplier nor purchaser.

supplier

Company that is responsible for producing or delivering the products.

purchaser

Also known as a buyer, is a company acquires goods or services from a merchant.

CompanyAddress

Property nameTypeDescription

street

string?

Street name, office number and/or building number.

city

string?

City

zipCode

string?

Postal code

country

string?

Country

type

Specifies purpose of address.

CompanyAddressType

Enumeration with the following values:

ValueDescription

unknown

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.

office

An office address refers to the physical location where a company or organization conducts its business operations.

billing

The address to which invoices, bills, or payment requests are sent.

shipping

Tthe destination address where goods or products are to be delivered.

other

Any address that does not fit into the predefined types mentioned above.

CompanyBankAccount

Property nameTypeDescription

bankCountry

string?

The country where the bank associated with the account is located. It represents the jurisdiction and regulatory framework under which the bank operates.

bankName

string?

The name of the bank where the account is held.

iban

string?

International Bank Account Number. A standardized numerical code used to identify a specific bank account internationally.

number

string?

Bank account number in older (non international) format.

swift

string?

SWIFT code (also known as BIC - Bank Identifier Code) is a unique identification code assigned to each bank globally.

isDefault

bool

Indicates whether the bank account is set as the primary account for company.

Contact

Property nameTypeDescription

fax

string?

Fax number associated with a person.

phone

string?

Telephone number associated with a person's landline or fixed-line phone.

mobile

string?

Telephone number associated with a person's mobile device.

email

string?

Person's email address.

CompanyContact

Property nameTypeDescription

name

string?

Given or first name of an individual.

surname

string?

The inherited or family name of an individual.

email

string?

Person's email address.

mobile

string?

Telephone number associated with a person's mobile device.

phone

string?

Telephone number associated with a person's landline or fixed-line phone.

fax

string?

Fax number associated with a person.

isDefault

string?

Indicates whether a particular contact is primary contact for associated company.

note

string?

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.

CountQueryResult

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

Property nameTypeDescription

count

int

Number of elements matching the query.

totalCount

int

Number of total resources available. Value may differ from count, when pagination or filtering is applied.

Currency

Property nameTypeDescription

label

string

The three-letter currency code ISO4217 standard.

sign

string?

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 €.

isDomestic

bool

Indicates whether a currency is considered the domestic currency of a particular country or region.

exchangeRate

decimal

Represents the rate at which one currency can be exchanged for another. Domestic currency's exchange rate is equal to 1.

description

string

Currency's full name.

_v

int

Resource version. This property is tracked and updated by API.

Customer

NameTypeDescription

id

string

Unique customer identifier. If not specified, ID is generated by API.

externalId

string?

Unique identifier provided by external system.

isActive

bool

Gets whether this customer is active and can be used (e.g. paired with tickets).

status

string

Customer state. One of following: valid, notYetValid, expired.

activationTime

DateTime?

Date and time since customer is active.

expirationTime

DateTime?

Date and time until customer is acive.

firstName

string?

First name.

lastName

string?

Second name.

fullName

string?

Full or display name (if not provided, combination of firstName and lastName is used.

gender

string?

male, female or null for other/unspecified.

birthDate

DateTime?

Birth date.

email

string?

Customer email.

phone

string?

Phone number.

isCompany

bool

Specifies wheter customer is associated with company.

company

Information about company associated with customer.

address

Customer address.

deliveryAddress

Customer delivery address.

credit

Cash balance on customer account.

creditTransaction

History of financial operations that affects credit.

cards

Collection of cards associated with customer.

creditRate

decimal

Cashback coeficient. If set to 0.01, for every spent unit of currency, one cent is returned as cash back to credit balance. Must be positive number or zero.

discountRate

decimal

Discount rate with value between 0 and 100. Up to 2 decimal places.

note

string?

Optional note.

meta

Object that holds additional data (usually supplied by external system).

_v

int

Resource version. This property is tracked and updated by API.

CustomerAddress

NameTypeDescription

street

string

Street name and building number

city

string

City

postalCode

string?

Postal code

country

string

Country

coordinates

GPS coordinates

note

string?

Note related to customer address

CustomerCard

NameTypeDescription

externalId

string?

isActive

bool

Specifies whether this card is active and can be used.

isVirtual

bool

Specifies whether this card has physical representation.

serialNumber

string

Unique serial number. This value is unique across all customers stored in system.

processor

string

P for physical cards, G as general for other card types.

status

Card status.

statusTime

DateTime?

Date and time of last status change.

statusReason

string?

Status change reason.

activationTime

DateTime

The date and time from which the card will be valid.

expirationTime

DateTime?

The date and time until which the card will be valid.

note

string?

Optional note related to this customer card.

meta

Object that holds additional data (usually supplied by external system).

_v

int

Resource version. This property is tracked and updated by API.

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.

  • 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

NameTypeDescription

name

string?

Company name.

crn

string?

Company registration number (IČO).

vatId

string?

Company VAT identifier (IČ DPH)

taxId

string?

Company TAX identifier (DIČ)

CustomerCreditTransaction

NameTypeDescription

id

string

Unique transaction identifier.

externalId

string?

External identifier supplied by client-side or external system.

sequenceNumber

int

Transactions sequence number. Value is supplied by API.

amount

Transaction amount. Can be positive or negative number.

type

Type of transaction.

endingCreditBalanceAmount

Resulting credit balance after transaction.

creationTime

DateTime

Date and time of transaction.

note

string?

Optional note related to transaction.

meta

Object that holds additional data (usually supplied by external system).

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

NameTypeDescription

id

string

Unique identifier. If not specified, ID is generated by API.

fiscalName

bool

Name of fiscal device associated with given daily sales report.

number

bool

Daily sales report sequence number, unique within specific fiscalName an fiscalMemorySerialNumber.

fiscalMemorySerialNumber

string

Serial number of fiscal memory inserted in fiscal device.

openDate

DateTime

Date and time of daily sales report creation (related to first ticket closure or first cash transfer since previous daily sales report).

closeDate

DateTime?

Date and time of daily sales report closure.

currencyLabel

string

Label of currency, in which all money information is stored for this daily sales report

cashTransfers

Collection of cash transfers.

fiscalInfo

Information determined during fiscal daily sales report closing procedure. Is null when state is open or manuallyClosed. Is not null, when state is closed.

state

_v

int

Resource version. This property is tracked and updated by API.

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).

NameTypeDescription

dailySalesReportNumber

int?

Daily sales report number.

dailySalesReportDate

DateTime?

Daily sales report close date.

DailySalesReportFiscalInfo

Property nameTypeDescription

ticketsCount

int

Number of tickets with cashRegister type associated with given daily sales report.

ticketsAmountIncludingVat

Total amount (including VAT) of all associated tickets with cashRegister type.

invalidTicketsCount

int

Number of tickets with invalid type associated with given daily sales report.

invalidTicketsAmountIncludingVat

Total amount (including VAT) of all associated tickets with invalid type.

invoiceTicketsCount

int

Number of tickets with invoice type associated with given daily sales report.

invoiceTicketsAmountIncludingVat

Total amount (including VAT) of all associated tickets with invoice type.

positiveTicketItemsCount

int

Number of ticket items with positive type in associated tickets.

positiveTicketItemsAmountIncludingVat

Total amount of ticket items with positive type in associated tickets.

returnedContainerTicketItemsCount

int

Number of ticket items with returnedContainer type in associated tickets.

returnedContainerTicketItemsAmountIncludingVat

Total amount of ticket items with returnedContainer type in associated tickets.

returnedTicketItemsCount

int

Number of ticket items with returned type in associated tickets.

returnedTicketItemsAmountIncludingVat

Total amount of ticket items with returned type in associated tickets.

correctionTicketItemsCount

int

Number of ticket items with correction type in associated tickets.

correctionTicketItemsAmountIncludingVat

Total amount of ticket items with correction type in associated tickets.

discountTicketItemsCount

int

Number of ticket items with discount type in associated tickets.

discountTicketItemsAmountIncludingVat

Total amount of ticket items with discount type in associated tickets.

advanceTicketItemsCount

int

Number of ticket items with advance type in associated tickets.

advanceTicketItemsAmountIncludingVat

Total amount of ticket items with advance type in associated tickets.

creditTicketItemsCount

int

Number of ticket items with credit type in associated tickets.

creditTicketItemsAmountIncludingVat

Total amount of ticket items with credit type in associated tickets.

voucherTicketItemsCount

int

Number of ticket items with voucher in associated tickets.

voucherTicketItemsAmountIncludingVat

Total amount of ticket items with voucher type in associated tickets.

vatIncomes

Total turnovers grouped by VAT category and rate.

grandTotalAmountIncludingVat

Cumulative total turnover across all daily sales reports for given fiscal device and fical memory serial number.

roundingDown

Sum of roundings towards zero.

roundingUp

Sum of roundings away from zero.

DailySalesReportStatus

Enumeration with the following values:

ValueDescription

open

Daily sales report is opened. Additional tickets and cash transfers can be associated with given daily sales report.

manuallyClosed

Associated daily sales report is marked as closed (value of fiscalInfo property may remain null)

closed

Daily sales report is closed. fiscalInfo property contains summary information containing all realated tickets and cash transfers.

DayOfWeek

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

ValueDescription

Sunday

Indicates Sunday.

Monday

Indicates Monday.

Tuesday

Indicates Tuesday.

Wednesday

Indicates Wednesday.

Thursday

Indicates Thursday.

Friday

Indicates Friday.

Saturday

Indicates Saturday.

Device

Property nameTypeDescription

name

string

Unique device name.

isActive

bool

Indicates whether a device is active and can be associated with user session.

envName

string

Name of the device environment.

description

string

Human readable device description (e.g. "Cash register 1").

roles

string[]

Collection of user rights that are initially associated to user, when user is given access to this device. Roles collection can be adjusted for every user.

preferences

object

Object containing user-specific preferences for this device. Reserved for future use.

settings

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 envName (device environment name).

_v

int

Resource version. This property is tracked and updated by API.

EmailTicketFormOptions

NameTypeDescription

To

string

The e-mail address of the recipient (customer) to whom the e-receipt is sent.

FooterText

string

The optional text that is displayed on end of receipt. Only non-control characters are allowed (and CR + LF).

Fiscal

Property nameTypeDescription

name

string

Unique fiscal device name.

isActive

bool

Indicates whether given fiscal device can be used in ticket closing procedure.

type

string

Type of hardware device.

version

string?

Reserved for future use.

dkp

string

Unique cash register code (also known as DKP in Slovak republic).

settings

object

Settings related to given fiscal device. Object may vary based on type property.

_v

int

Resource version. This property is tracked and updated by API.

ForeignPrice

Similiar to Price, however this model can hold information about non-domestic currency.

Property nameTypeDescription

amount

decimal

Up to 2 decimal places.

currencyLabel

string

3-characters long foreign currency label (ISO 4217).

domesticCurrencyLabel

string

3-characters long domestic currency label (ISO 4217).

exchangeRate

decimal

Conversion rate between foreign and domestic currency. When currency is equal to domestic currency, exchange rate is equal to 1.

GeoCoordinates

Represents GPS coordinates.

Property nameTypeDescription

longitude

decimal

Value in range of -180 to 180.

latitude

decimal

Value in range of -90 to 90.

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).

NameTypeDescription

dsrDateFrom

DateTime?

Close date of first daily sales report in selected interval.

dsrDateTo

DateTime?

Close date of last daily sales report in selected interval.

dsrNumberFrom

int?

Number of first daily sales report in selected interval.

dsrNumberTo

int?

Number of last daily sales report in selected interval.

License

NameTypeDescription

shopId

int

Unique identifier of venue, issued by PORTOS reseller.

activationTime

DateTime

Activation date and time.

expirationTime

DateTime

Expiration date and time.

verificationTime

DateTime?

Date and time of last verification.

verificationInterval

TimeSpan

Verification interval.

features

Collection of features associated with license.

remainingDays

int

Number of remaining days before license expiration.

isExpired

bool

Indicates whether license is expired.

LicenseFeature

NameTypeDescription

productSku

string

The feature identifier.

rawValue

string?

Value associated with feature.

name

string

Feature display name.

activationTime

DateTime

Activation date and time.

expirationTime

DateTime?

Expiration date and time.

MeasureQuantity

Unlike the Quantity type, this model has a known unit of measure.

Property nameTypeDescription

amount

decimal

Quantity amount.

unit

Measurement unit.

MeasureUnit

Enumeration with the following values:

ValueDescriptionDimension

g

Gram

Weight (Mass)

dag

Decagram

Weight (Mass)

kg

Kilogram

Weight (Mass)

ml

Milliliter

Volume

dl

Deciliter

Volume

l

Liter

Volume

mm

Millimeter

Length

cm

Centimeter

Length

dm

Decimeter

Length

m

Meter

Length

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

NameTypeDescription

id

string

Unique identifier

name

string

Name of modifier. Eg. "Steak doneness"

displayName

string?

Name to be displayed for customer. Eg. "Pick steak doneness". If not provided, name is displayed in digital menu.

minimumSelectedOptionsCount

int

Minimum count of selected unique options. This value is greater than zero if modifier is required.

maximumSelectedOptionsCount

int?

Maximum count of selected unique options. If set to null, then options count is unlimited.

maximumSelectedOptionsTotalQuantity

int

The maximum number of all selected options in total that the customer can choose.

options

Options collection.

ModifierOption

NameTypeDescription

id

string

Option identifier, unique within associated modifier options collection.

name

string

Modifier option name, e.g. "medium rare".

unitPrice

Optional unit price. If not specified, price of referenced product is used. Otherwise, modifier does not modify the price of associated ticket item.

isUnitPriceIncludingVat

bool

Specifies whether unitPrice includes VAT.

pluId

Optional PLU reference.

defaultSelectedQuantity

int

Default selected quantity.

maximumSelectedQuantity

int?

Maximum number of selections for this option. If set to null, then quantity is not limited.

NonfiscalRecordContext

NameTypeDescription

recordBody

string

Body of nonfiscal record.

NumberingPeriodUnit

Enumeration with the following values:

ValueDescription

day

Day

month

Month

year

year

Order

NameTypeDescription

id

string

Unique identifier

number

int

Sequence number generated by API. This number may serve as pickup code for customer.

deviceName

string

Name of device, from which the order processing request has been invoked.

user

User that invoked order processing request.

ticket

Information about ticket that is associated with given order.

items

Order items collection.

OrderEndpoint

NameTypeDescription

name

string

Unique name.

isActive

bool

Indicates whether order endpoint is used to accept orders.

address

string?

Order endpoint address (e.g. location of network printer).

type

string

Type of order endpoint (e.g. printer manufacturer and/or printer model, or kitchen tablet application/driver name).

settings

object

Based on type, properties of settings object may vary.

OrderItem

NameTypeDescription

id

int?

Unique item identifier within order.

plu

Information related to product.

quantity

Ordered product quantity.

comment

string?

Optional comment/note from cashier.

courseNumber

int?

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.

endpoints

Contains collection of state changes related to each oder endpoint this order is being processed on.

OrderItemEndpoint

NameTypeDescription

name

string

Name of associated order endpoint device.

statusChanges

History of order state changes related to associated order endpoint.

orderItemStatus

Current status of order related to associated order endpoint.

isProcessed

bool

Indicates whether the order is already processed on given order endpoint.

isProcessable

bool

Indiates whether the order is processable on given order endpoint (is not in terminal state).

OrderItemEndpointStatusChange

NameTypeDescription

status

Status of order at the time of change.

date

DateTime

Date and time of status change.

OrderItemPlu

NameTypeDescription

name

string

Name of product (PLU).

code

int

Product code (unique within given stock)

stockName

string

Name of the stock to which the product is associated

OrderOrigin

Describes the origin of the order.

ValueDescription

cashier

Order is taken in store by cashier (personnel)

online

Order is placed online by customer (e.g. e-shop, delivery platform, etc.)

OrderTicketInfo

NameTypeDescription

id

string

Ticket identifier.

name

string

Ticket name.

location

Ticket location.

purchaseType

Ticket purchase type.

customer

Information about customer associated with ticket.

version

int

Version of ticket at time of order creation.

OrderStatus

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

ValueDescription

unknown

The default state. It indicates that the order processing status is currently unknown and/or has not been initiated.

created

The initial state when the order is created, but no further processing has taken place. At this stage, the order is in the system, awaiting further actions.

sent

The order has been successfully sent to the designated order endpoint for processing.

delivered

The order has been successfully delivered to the designated order endpoint. However, at this point, the endpoint may either accept or refuse the order.

refused

The order was refused by the order endpoint, indicating that the order endpoint has declined to accept and process the order. 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 order at that specific moment.

failed

There was an attempt to send or deliver the order to the order endpoint, but it could not be completed due to an error. This could be due to technical issues or other factors preventing successful delivery.

accepted

The order was successfully delivered to the order endpoint, 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 order.

processSkipped

The processing of the order was intentionally skipped. This could occur when the order endpoint device was marked as inactive during the processing attempt.

processed

The order has been marked as completed by the order endpoint, signifying the successful execution of all necessary processing steps, and confirming that the order is now fulfilled and the goods are ready for pickup.

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

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

NameTypeDescription

status

Desired order status. Please note that only specific order staus transitions are allowed. See OrderStatus for more information.

PaymentType

Property nameTypeDescription

number

int

Unique payment type number. Value must be in range from 1 to 10.

category

Category of payment type. Based on payment type category, different ticket rounding rules may apply.

isActive

bool

Gets or sets whether payment type can be used.

description

string

Payment type description (name).

isChangeable

bool

Determines whether it is possible to issue from the payment when the amount to pay is overpaid.

Note: not used in current version.

PaymentTypeCategory

Enumeration with the following values:

ValueDescription

cash

Cash payment type.

creditCard

Cashless payment type.

other

Other, non-cash payment type.

PDADeviceSettings

NameTypeIs requiredDescription

MaxQuantity

decimal

Maximal quantity user can specify in single ticket item.

DefaultFiscalName

string

Determines name of fiscal device associated with cash register. Usage of different fiscal device may be conditioned by rights of authorized user.

OpenedPrices

bool

Determines whether user can specify unit price of ticket item different than product's unit price.

SecretCustomersCardId

bool

Determines mode of customer account lookup. If set to false, user can select customer accounts from list. If set to true, user can only scan bar code/QR code with device builtin camera.

DefaultOrderEndpointName

string

Determines name of order endpoint device associated with cash register. Usage of different order endpoint may be conditioned by rights of authorized user.

DefaultStockName

string

Determines name of stock associated with cash register. Usage of different stock may be conditioned by rights of authorized user.

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

Plu

Property nameTypeDescription

id

string

Unique identifier.

stockName

string

Name of associated Stock.

code

int

Product's PLU code. Unique within associated Stock. Therefore, a combination of the code and stockName can be used to uniquely identify the PLU.

codes

string[]

Collection of alternative product codes, barcodes or external system identifiers.

name

string

Product name. E.g. "Coffee".

description

string?

Optional full product name. If this value is provided, it is used as display name instead of name property. E.g. "Signature Brewed Coffee Blend".

customerDescription

string?

Full description for customer, containing one or more sentences. Used mostly in menus. E.g. "Indulge in the rich and aromatic essence of our meticulously brewed coffee, a harmonious blend of carefully selected beans for a truly invigorating experience.".

retailPrice

The unit price excluding VAT. Must be positive or zero for container plu type.

vatCategory

int

The category of associated VAT rate.

articleCategoryLabel

string

The label of associated article category.

orderEndpointNames

string[]

The collection of order endpoint names. When product is ordered by customer, order is sent to all order endpoints listed in this collection that are marked as active.

courseNumber

int?

Specifies default course number for given product. Used to determine the order of food and drinks brought to the table.

unit

string

Up to three characters long measurement unit.

type

Type of product.

stockQuantity

This field indicates the total count of physical units currently available in inventory. Exclusively for PLUs categorized as material type.

minStockQuantity

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 type.

stockValue

The stock value excluding VAT. Exclusively for PLUs categorized as material type.

lastPurchasePrice

Last purchase price excluding VAT. Exclusively for PLUs categorized as material type. This value is automatically updated by server after each product purchase (based on created StockTransfer).

receipt

Items of PLU recipe. Exclusively for PLUs categorized as Recipe type.

pluPriceHistory

Collection that tracks retail price changes.

color

string?

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.

isSplittable

bool

If set to false, this PLU can only be sold in whole integer quantities, without the option for fractional or partial units.

isDiscountAllowed

bool

Determines whether discount can be placed on ticket item associated with this PLU. Must be false for container plu type.

isActive

bool

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.

isPriceFixed

bool

Determines whether unit price for ticket items associated with this PLU can be adjusted. Howewer, price change must be allowed in device settings as well.

isCashbackAllowed

bool

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 Customer with positive, non-zero creditRate (cashback rate).

isFavorite

bool

This attribute indicates whether the given product is registered as a favorite, enabling easier retrieval within the cash register system.

sortHint

int?

This optional attribute serves as a hint for sorting articles within the cash register application, aiding in the organization and arrangement of items.

specialRegulation

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 TaxFreeReason enumeration. null otherwise.

packaging

Information related to PLU packaging.

images

Optional PLU images.

purchaseTypes

Purchase types settings for this product.

ordering

Information related to PLU ordering, based on OrderOrigin.

modifiers

Collection of Modifier references associated with given PLU.

_v

int

Resource version. This property is tracked and updated by API.

PluId

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

Property nameTypeDescription

code

int

Plu's code property.

stockName

string

Plu's stockName property.

PluImage

Property nameTypeDescription

url

string

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 https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/srcset for more information.

alt

string?

Optional field. Provides fallback (alternate) text to display when the image is not loaded. Please refer to https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/alt for more information.

PluModifier

Property nameTypeDescription

id

string

Unique modifier identifier.

PluOrderingItem

Settings for product (PLU) ordering related to specific OrderOrigin.

Property nameTypeDescription

orderOrigin

Order origin associated with this item.

enabled

bool

Determines whether given type of order origin is enabled for associated PLU.

paused

bool

Determines whether given type of order origin is temporarily paused (e.g. due to high demand or due to machine failure).

PluPackaging

Property nameTypeDescription

volume

Specifies the volume of the product within its packaging. Value must have positive, non-zero amount.

weight

Specifies the weight of the product packaging. Value must have positive, non-zero amount and weight unit (g, dag or kg).

packagePluId

When provided, this attribute specifies the PLU that represents the packaging of associated product.

usePackagePluOnSale

bool

Enabling this option by setting it to true allows the cash register application to automatically include the packaging PLU (determined by packagePluId when the associated product is sold.

PluPriceHistoryItem

Property nameTypeDescription

date

DateTime

The date and time of retail price change.

retailPrice

The new product retail unit price (excluding VAT).

PluPurchaseType

Settings for product (PLU) related to specific PurchaseType.

Property nameTypeDescription

purchaseType

The purchase type associated with this item.

enabled

bool

Determines whether given type of purchase type is enabled for product.

vatCategory

int

VAT category that is used for given PurchaseType. Retail price excluding VAT is adjusted, so retail price including VAT is preserved, after given VAT category is applied.

PluReceiptItem

Property nameTypeDescription

quantity

The quantity that should be subtracted from the stock when a single unit of the parent PLU is sold.

pluId

Identifier of PLU to be subtracted.

plu

The PLU referenced by pluId property. This property is only present if $include=ReceiptPlu is specified in GET plus API endpoint.

PluType

Enumeration with the following values:

ValueIs materialDescription

stockItem

Stock item (e.g. ingredient or material). A cover that can be the subject of a deposit and can be repurchased by a trader. This is an material product that has physical representation and associated stock quantity and can be processed in stock takings.

recipe

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.

service

Service that has no physical form and thus stock quantity is not tracked for this type of product.

container

A container (cover) that can be the subject of a deposit and can be repurchased by a trader.

This is an material product that has physical representation and associated stock quantity and can be processed in stock takings.

Price

Used also as an multiplication result of Quantity and UnitPrice instances.

Property nameTypeDescription

amount

decimal

Up to 2 decimal places.

currencyLabel

string

3-characters long currency label (ISO 4217).

PrintPreliminaryTicketContext

NameTypeDescription

orderEndpointName

string

The name of the order endpoint where the preliminary receipt will be printed.

PrintTicketFormOptions

NameTypeDescription

footerText

string

The optional text that is displayed on end of receipt. Only non-control characters are allowed (and CR + LF).

ProcessOrdersContext

Property nameTypeDescription

ticketIds

string[]

Collection of ticket identifiers. All orders associated with given tickets will be processed.

ProductLicenseActivation

Property nameTypeDescription

code

string

Activation code.

license

License to be activated.

ProductLicenseRequest

Property nameTypeDescription

shopId

int

Unique venue identifier.

features

List of features.

ProductLicenseRequestFeature

NameTypeDescription

productSku

string

The feature identifier.

rawValue

string?

Value associated with feature.

name

string

Feature display name.

activationTime

DateTime?

Activation date and time.

expirationTime

DateTime?

Expiration date and time.

PurchaseType

Enumeration with the following values:

ValueDescription

unknown

Purchase type is not specified.

walkIn

The purchase is being held at the venue.

takeAway

The purchase is being picked up at the venue by customer.

delivery

The purchase will be delivered to customer.

Quantity

Property nameTypeDescription

amount

decimal

Up to 3 decimal places.

unit

string

Up to 3-characters measurement unit.

QueryResult

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

Property nameTypeDescription

items

object[]

Collection of resources that met query criteria.

count

int

Number of elements in items property.

totalCount

int

Number of total resources available. Value may differ from count, when pagination or filtering is applied.

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).

NameTypeDescription

ticketNumber

int

Ticket sequence number, unique within associated daily sales report. This value can be found in ticket.closeInfo.number.

dailySalesReportNumber

int?

The number of daily sales report. This value can be found in ticket.closeInfo.dailySalesReportNumber.

dailySalesReportDate

DateTime?

The close date of daily sales report.

RefreshTokenResult

NameTypeDescription

tokenId

string

The JWT token using for authenticating requests.

refreshToken

string

The refresh token.

Role

NameTypeDescription

name

string

Unique role identifier.

label

string

Short label (title).

description

string?

Optional role description.

rights

string[]

Collection of user rights associated with given role.

envNames

string[]

Collection of device environments, for which given role can be associated to user.

_v

int

Resource version. This property is tracked and updated by API.

Session

NameTypeDescription

sessionId

string

Unique session identifier.

identity

Information about user associated with given session.

startedAt

DateTime?

Date and time when session was issued.

expiresAt

DateTime?

Date and time when session expires.

lastAccessAt

DateTime?

Date and time of the most recent use of the session to perform an API method.

_v

int

Resource version. This property is tracked and updated by API.

SessionIdentity

NameTypeDescription

userName

string

Unique user name.

deviceName

string

Name of device user is operating on.