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
street
string?
Street name, office number and/or building number.
city
string?
City
zipCode
string?
Postal code
country
string?
Country
ApiKey
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.
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:
0
Beers
0
Drinks
1
Pizza
2
Wine
null
Beverages
null
Specials
ArticleCategoryOrderingItem
Settings for article category (ArticleCategory
) ordering related to specific OrderOrigin
.
orderOrigin
Order origin associated with this item.
enabled
bool
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
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
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
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
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
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:
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
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:
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
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
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
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.
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
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
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
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
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
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
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-backdeposit
: credit top upwithdrawal
: funds withdrawalcorrection
: manual balance correctionother
: none of above
DailySalesReport
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).
dailySalesReportNumber
int?
Daily sales report number.
dailySalesReportDate
DateTime?
Daily sales report close date.
DailySalesReportFiscalInfo
ticketsCount
int
ticketsAmountIncludingVat
invalidTicketsCount
int
invalidTicketsAmountIncludingVat
invoiceTicketsCount
int
invoiceTicketsAmountIncludingVat
positiveTicketItemsCount
int
positiveTicketItemsAmountIncludingVat
returnedContainerTicketItemsCount
int
returnedContainerTicketItemsAmountIncludingVat
returnedTicketItemsCount
int
returnedTicketItemsAmountIncludingVat
correctionTicketItemsCount
int
correctionTicketItemsAmountIncludingVat
discountTicketItemsCount
int
discountTicketItemsAmountIncludingVat
advanceTicketItemsCount
int
advanceTicketItemsAmountIncludingVat
creditTicketItemsCount
int
creditTicketItemsAmountIncludingVat
voucherTicketItemsCount
int
Number of ticket items with voucher
in associated tickets.
voucherTicketItemsAmountIncludingVat
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:
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:
Sunday
Indicates Sunday.
Monday
Indicates Monday.
Tuesday
Indicates Tuesday.
Wednesday
Indicates Wednesday.
Thursday
Indicates Thursday.
Friday
Indicates Friday.
Saturday
Indicates Saturday.
Device
name
string
Unique device name.
isActive
bool
Indicates whether a device is active and can be associated with user session.
envName
string
description
string
Human readable device description (e.g. "Cash register 1").
roles
string[]
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
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
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.
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.
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).
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
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
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.
amount
decimal
Quantity amount.
unit
Measurement unit.
MeasureUnit
Enumeration with the following values:
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
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
id
string
Option identifier, unique within associated modifier options collection.
name
string
Modifier option name, e.g. "medium rare".
unitPrice
isUnitPriceIncludingVat
bool
Specifies whether unitPrice
includes VAT.
pluId
defaultSelectedQuantity
int
Default selected quantity.
maximumSelectedQuantity
int?
Maximum number of selections for this option. If set to null
, then quantity is not limited.
NonfiscalRecordContext
recordBody
string
Body of nonfiscal record.
NumberingPeriodUnit
Enumeration with the following values:
day
Day
month
Month
year
year
Order
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
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
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
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
status
Status of order at the time of change.
date
DateTime
Date and time of status change.
OrderItemPlu
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.
cashier
Order is taken in store by cashier (personnel)
online
Order is placed online by customer (e.g. e-shop, delivery platform, etc.)
OrderTicketInfo
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:
unknown
created
sent
delivered
refused
failed
accepted
processSkipped
processed
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
status
PaymentType
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:
cash
Cash payment type.
creditCard
Cashless payment type.
other
Other, non-cash payment type.
PDADeviceSettings
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
id
string
Unique identifier.
stockName
string
code
int
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.".
retailPriceIncludingVat
vatCategory
int
articleCategoryLabel
string
orderEndpointNames
string[]
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
minStockQuantity
stockValue
lastPurchasePrice
receipt
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
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
isCashbackAllowed
bool
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
modifiers
_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
.
code
int
Plu's code
property.
stockName
string
Plu's stockName
property.
PluImage
url
string
alt
string?
PluModifier
id
string
PluOrderingItem
Settings for product (PLU
) ordering related to specific OrderOrigin
.
orderOrigin
Order origin associated with this item.
enabled
bool
paused
bool
PluPackaging
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
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
date
DateTime
The date and time of retail price change.
retailPriceIncldingVat
The new product retail unit price (including VAT).
PluPurchaseType
Settings for product (PLU
) related to specific PurchaseType
.
purchaseType
The purchase type associated with this item.
enabled
bool
Determines whether given type of purchase type is enabled for product.
vatCategory
int
PluReceiptItem
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:
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.
amount
decimal
Up to 2 decimal places.
currencyLabel
string
3-characters long currency label (ISO 4217).
PrintPreliminaryTicketContext
orderEndpointName
string
The name of the order endpoint where the preliminary receipt will be printed.
PrintTicketFormOptions
footerText
string
The optional text that is displayed on end of receipt. Only non-control characters are allowed (and CR + LF).
ProcessOrdersContext
ticketIds
string[]
Collection of ticket identifiers. All orders associated with given tickets will be processed.
ProductLicenseActivation
code
string
Activation code.
license
License to be activated.
ProductLicenseRequest
shopId
int
Unique venue identifier.
features
List of features.
ProductLicenseRequestFeature
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:
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
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.
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).
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
tokenId
string
The JWT token using for authenticating requests.
refreshToken
string
The refresh token.
Role
name
string
Unique role identifier.
label
string
Short label (title).
description
string?
Optional role description.
rights
string[]
envNames
string[]
_v
int
Resource version. This property is tracked and updated by API.
Session
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
userName
string
Unique user name.
deviceName
string
envName
string
authenticationType
string
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
name
string
Unique stock name (abbreviation).
description
string
Full stock name.
_v
int
Resource version. This property is tracked and updated by API.
StockTaking
id
string
Unique identifier.
createdAt
DateTime
Date and time of stock taking creation.
closedAt
DateTime?
Date and time of stock taking closure. If value is null
, stock taking is not closed and can be edited or deleted. When value is not null
, the closedBy
property must be provided as well.
createdBy
Information about user who created this stock taking.
closedBy
Information about user who closed this stock taking. If value is null
, stock taking is not closed and can be edited or deleted. When value is not null
, the closedAt
property must be provided as well.
currencyLabel
string
items
This collection includes products on which stock quantity corrections are performed
_v
int
Resource version. This property is tracked and updated by API.
StockTakingItem
expectedQuantity
The expected stock quantity of product.
actualQuantity
The actual stock quantity determined by stock taking.
plu
StockTakingItemPlu
name
string
Product's name
code
int
Product's code
codes
string[]
Collection of alternative product codes.
stockName
string
articleCategoryLabel
string
vat
unitPurchasePrice
Product's unit purchase price.
unitRetailPrice
Product's unit retail price.
StockTransfer
id
string
Unique identifier.
type
Type of stock transfer.
items
Items collection.
payments
Payments collection.
company?
Stock transfer issuer.
partner?
createdBy
User that creates this stock transfer.
createdAt
DateTime
Date and time of stock transfer creation in system.
closedBy
Contains information about user who closed this stock transfer. If stock transfer is not closed, value is null
.
closedAt
DateTime?
Date and time of stock transfer closing. If stock transfer is not closed, value is null
.
dueDate
DateTime?
The date and time when the payment is due.
documentNumber
string?
documentDate
DateTime
The official document issue date.
deliveryDate
DateTime?
Delivery date.
variableSymbol
string?
The reference number that helps automated payment linking.
constantSymbol
string?
The constant symbol.
specificSymbol
string?
The specific symbol.
note
string?
The optional note that is printed on document.
deliveryType
The type of delivery.
paymentType
The payment method.
discountRate
decimal
Discount rate. Numeric value between 0 and 100 with precision up to 2 decimal places.
currencyLabel
string
The currency label.
meta
Object that holds additional information related to stock transfer.
_v
int
Resource version. This property is tracked and updated by API.
StockTransferCompanyInfo
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.
contact
Contact associated with company.
address
Company invoice address.
shippingAddress
Optional company shipping address (if is different than address).
bankAccount
Company bank account.
StockTransferDeliveryType
Enumeration with the following values:
Unknown
The method of delivery is currently unidentified or unspecified.
None
No formal delivery method is associated with the shipment. This could imply that the items might be collected virtually (e.g. software products).
Cartage
Delivery transportation method of goods, typically within a localized area. It's often used for short-distance deliveries.
PostOffice
The items will be sent via the postal service.
Courier
Specialized courier service will be utilized for the shipment.
PickUp
The recipient will personally collect the items from a designated location.
StockTransferItem
id
int
Identifier of item, unique within stock transfer.
sourcePlu
destinationPlu
note
string?
The optional note related to stock given stock transfer item.
StockTransferItemPlu
code
int
Product's PLU code.
stockName
string
name
string
Product name. E.g. "Coffee".
quantity
Positive or negative non-zero quantity.
discountRate
decimal
Discount rate. Numeric value between 0 and 100 with precision up to 2 decimal places.
isDiscountAllowed
bool
Determines whether discount can be placed on stock transfer item associated with this PLU.
note
string?
The optional note related to stock given stock transfer item plu.
receipt
type
Type of product.
unitPurchasePrice
The unit purchase price excluding VAT.
unitRetailPrice
The unit retail price excluding VAT.
vat
The VAT category and VAT rate.
StockTransferNumbering
id
string
The unique identifier.
isActive
bool
type
Type of stock transfer associated with this numbering.
format
string
The document number format, e.g. "FA-{yyyy}{i4}". The placeholders enclosed within curly braces ({
and }
) are known as "wildcards", dynamically substituted with real values derived from the current sequence number and date.
Supported wildcards:
yyyy
: 4 digits year, e.g. 2023.yy
: 2 digits year, e.g. 23MM
: month number, e.g.08
.DD
: number of day, e.g. 30.i4
: 4 digits long sequence number, e.g. 0001.i6
: 6 digits long sequence number, e.g. 000001.i8
: 8 digits long sequence number, e.g. 00000001.
repeat
bool
Determines whehter new numbering intervals can be generated, based on previously active one.
numberings
Stores last used number related to specific time interval.
_v
int
Resource version. This property is tracked and updated by API.
StockTransferNumberingInterval
isActive
bool
Determines whether this interval is active and can be used to generate number.
createdAt
DateTime
Date and time of interval creation.
startAt
DateTime
Date and time of interval start.
period
Defines the specific duration for which this interval remains valid.
currentNumber
int
The next number to be used.
StockTransferNumberingIntervalPeriod
unit
The time unit.
amount
int
The quantity.
StockTransferPayment
paymentType
The payment method used.
amount
The payment amount.
paidAt
DateTime?
The date and time of payment, if already settled.
note
string?
The optional note related to the payment.
createdAt
DateTime
Date and time of payment creation.
createdBy
UserInfo
User who created the payment.
StockTransferPaymentType
Enumeration with the following values:
Unknown
The specific method of payment is currently unidentified or not provided.
Cash
Customer is providing physical currency as the form of payment for the goods or services received.
BankTransfer
The electronic transfer of funds directly from the customer's bank account to the recipient's bank account.
POSTerminal
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.
MoneyOrder
Prepaid payment method where the customer purchases a money order from a financial institution or postal service and then sends it to the recipient.
CashOnDelivery
The payment will be made in cash directly to the delivery person upon receipt of the ordered items.
Coupon
Refers to using a discount coupon, voucher, or promotional code to cover total cost of the purchase.
Other
Payment method that does not fit into the defined categories.
StockTransferType
Enumeration with the following values:
income
Income.
outcome
Outcome.
transfer
Transfer.
sale
invoice
Invoice (similar to outcome).
correction
TaxFreeReason
Describes the reason for assigning zero VAT rate to the product, according to Slovak legislation. Enumeration with the following values:
vatReverseCharge
VAT reverse charge.
vatExemptionGood
VAT exemption.
travelAgency
Special regulation of tax application for travel agencies.
usedGood
Special regulation of tax application for used goods.
artwork
Special regulation of tax application for works of art.
collectiblesAndAntiques
Special regulation of tax application for collectibles and antiques.
Ticket
id
string
Unique ticket identifier. If not specified, ID is generated by API.
externalId
string?
Unique identifier provided by external system.
state
State of ticket.
type
Type of ticket.
name
string
Ticket name (may be given by cashier, and is usually printed on receipt).
openDate
DateTime
Date and time of ticket creation.
issueDate
DateTime?
Original date and time of paragon creation, based on which ticket is later created. Required, when isParagon
is true.
closeDate
DateTime?
Date and time of ticket closing (receipt printing).
closeInfo
Information about ticket closing. Available only when state
is closed
.
purchaseType
The type of purchase.
location
Contains information about ticket location, which refers to specific Table
in Zone
. May be null
, if ticket is not associated with any table, or cashier do not use floor plan in cash register application.
customer
originDeviceName
string?
Name of device on which ticket was created.
employee
Cashier assigned to ticket.
items
Collection of products.
payments
Collection of paments used to pay the purchase.
currencyLabel
string
Currency label.
discountRate
decimal
Value between 0 and 100. Up to 2 decimal places.
roundingAmount
Rounding amount.
invoiceNumber
string?
Invoice number. Value is required, if type
is invoice
.
paragonNumber
int?
Sequence number of the paragon based on which the ticket was created. Required, when isParagon
is true
.
isParagon
bool
Specifies whether this ticket represents paragon registration.
_v
int
Resource version. This property is tracked and updated by API.
TicketCloseContext
fiscal
employee
TicketCloseContextFiscal
name
string
ticket
Ticket closing options.
options
The additional options. Not used in current version.
TicketCloseContextFiscalTicket
form
The receipt form, which can be either print
or email
.
formOptions
TicketCloseInfo
eKasa
Information related to receipt registration in eKasa system. May be null, if used fiscal device do not support eKasa legislation.
dailySalesReportNumber
int
Number of the daily sales report, which the ticket is associated to.
number
int
Ticket sequence number, unique within associated daily sales report.
fiscalMemorySerialNumber
string
Serial number of fiscal memory used in fiscal device. Same fiscal device may have various memories over time (when one fills up).
fiscalName
string
Unique name of fiscal device used to issue receipt.
deviceName
string
Unique name of device from which ticket closing was initiated.
TicketCloseInfoEKasa
ticketId
string
Unique ticket identifier given by eKasa system.
ticketForm
Form of receipt.
ticketFormOptions
Object with string properties containing additional information about ticket form used when creating receipt.
ticketIsOnline
bool
Specifies whether ticket was registered in eKasa system in online mode (true
) or offline mode (false
). Offline mode means that internet connectivity was broken at time of receipt registration.
TicketCustomerInfo
id
string?
externalId
string?
cardSerialNumber
string?
firstName
string?
lastName
string?
fullName
string?
gender
Gender?
birthDate
DateTime?
address
deliveryAddress
isCompany
bool
company
phone
string?
email
string?
creditRate
decimal?
meta
TicketForm
Enumeration with the following values:
print
Paper receipt. This is default ticket form.
email
Email receipt, also known as "e-receipt".
TicketItem
id
uint?
Ticket item identifier, unique within given ticket.
externalId
string?
Ticket item external identifier. Supplied by external system.
type
Ticket item type. Based on type, restrictions for quantity
and unitPrice
are applied.
plu
Information about associated product.
comment
string?
Optional comment from cashier.
unitPrice
Unit price excluding VAT.
quantity
Quantity
discountRate
decimal
Discount rate with value between 0 and 100, with precision up to 2 decimal places.
referenceFiscalTicketId
string?
Reference to external (fiscal) Ticket identifier. Must have value when type
is correction
or returned
. Must be null
otherwise. This value can be found in ticket.closeInfo.eKasa.ticketId
.
voucherNumber
string?
Number of voucher. Must have value when type
is voucher
. Must be null
otherwise.
isQuantityFixed
bool?
Specifies whether quantity
of this instance can be modified.
courseNumber
int?
Specifies course number. Can be specified by the cashier to determine the order of food and drinks brought to the table.
TicketItemPlu
name
string
Name of product. Displayed in cash register application.
description
string?
Optional product description. If specified, this value is printed on receipt. Otherwise, name
is printed on receipt.
stockName
string?
Stock of product associated with this item.
code
Code of product associated with this item.
articleCategoryLabel
string
Label of article category, to which the product associated with this item belongs.
vatInfo
VAT rate and VAT category..
isDiscountAllowed
bool
Determines whether discount can be applied to this product.
isPriceFixed
bool
Determines whether unit price can be changed by cashier (cashier must operate on device which has allowed price change in its settings).
isSplittable
bool
If set to false
, product can be sold only in integer quantities. true
value means that any quantity can be used.
orderEndpointNames
string[]
Collection of order endpoints on which each product order is processed.
type
Type of product.
specialRegulation
The reason of associating zero VAT rate. Value is only provided if one of enumeration option does apply for given product.
isCashbackAllowed
bool
Determines whether the customer is eligible for a "cash back" for the purchase of this product. Set to false
, if no cash back should be given or the purchase of this product, true
otherwise.
TicketItemType
Enumeration with the following values:
positive
Ticket item with positive total price (multiplication of unit price and quantity should result to positive or zero value).
returnedContainer
Returned product packaging.
returned
Returned products.
correction
Correction, e.g. after cashier mistake.
discount
advance
Deducted advance that was previously paid by purchaser.
voucher
Represents deduction of voucher value, when single-purpose voucher is exchanged for provided goods or services.
credit
Consumption or top-up of customer credit.
TicketLocation
zoneName
string
tableName
string
References table by it's unique name within zone specified by zoneName
property.
TicketPayment
amount
Payment amount.
paymentType
Information about payment type.
TicketPaymentType
number
int
Unique payment type number.
description
string
Payment type human readable description.
isChangeable
bool
(reserved for future use)
category
Specifies category of payment type.
TicketStatus
Enumeration with the following values:
open
Ticket is open and available for modification.
closed
Receipt is issued for ticket. Ticket can no longer be modified. This is the final state, as ticket can not be re-opened.
TicketsUpdateAction
Specifies update mode for tickets batch update.
Enumeration with the following values:
default
Default mode.
move
Mode, when ticket items are transfered from one ticket to another. Sum of all transfered quantites must equalto zero.
TicketType
Enumeration with the following values:
cashRegister
Basic cash register receipt. This is the most common type.
invalid
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.
invoice
Represents invoice payment. Ticket of this type must have empty items
collection.
TimeOnly
The .NET builtin type. Represents a time of day, as would be read from a clock, within the range 00:00:00 to 23:59:59.9999999.
TimeOnlyRange
from
Optional interval start. If value is null, interval starts at 00:00:00.
to
Optional interval start. If value is null, interval ends at 23:59:9999999.
ToolDeviceSettings
No properties are currently defined. Settings are managed directly in PORTOS Link application.
UnitPrice
Similiar to Price
, however precision of unit price is up to 6 decimal places.
amount
decimal
Up to 6 decimal places.
currencyLabel
string
3-characters long currency label (ISO 4217).
UserCreateUpdateContext
The context used to create new or update existing user profile.
id
string
Unique user ID
isActive
bool
Determines whether this user profile is active and can be used during authentication.
isVirtual
bool
Determines whether this user is "virtual user" (virtual users are related to API extensions, and can not be used for authentication).
name
string
Display name of user.
userName
string
Unique user name used to log in.
featureName
string?
Name of "feature" (has value only for virtual users).
password
string?
The password.
confirmPassword
string?
The password.
devices
Devices on which the user can be authorized.
UserDevice
isActive
bool
Indicates whether user can be authorized on a given device.
name
string
Unique name of the device on which the user is logged in.
envName
string
roles
string[]
description
string?
Human readable device description (e.g. "Cash register 1").
preferences
object
Object containing user-specific preferences for this device. Reserved for future use.
UserInfo
userName
string
Unique user identifier.
name
string
User display name.
UserProfile
id
string
Unique user ID
isActive
bool
Determines whether this user profile is active and can be used during authentication.
isVirtual
bool
Determines whether this user is "virtual user" (virtual users are related to API extensions, and can not be used for authentication).
name
string
Display name of user.
userName
string
Unique user name used to log in.
featureName
string?
Name of "feature" (has value only for virtual users).
hasPassword
bool
Indicates if the given user profile is linked to a password.
devices
Devices on which the user can be authorized.
UserProfileContext
id
string
Unique user ID
isVirtual
bool
Determines whether this user is "virtual user" (virtual users are related to API extensions, and can not be used for authentication).
name
string
Display name of user.
userName
string
Unique user name used to log in.
featureName
string?
Name of "feature" (has value only for virtual users).
rights
string[]
device
Information about device that user operates on.
UserProfileContextDevice
name
string
Unique name of the device on which the user is logged in.
envName
string
description
string?
Human readable device description (e.g. "Cash register 1").
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).
Vat
VAT category identifier and associated VAT rate.
category
int
VAT category identifier. Value between 1
and 10
.
rate
VAT rate. Number with value between 0 and 100 with precision up to 2 decimal places (for taxable items), or null
(for non-taxable items).
plannedRateChange
Information about the new VAT rate and its effective date. Useful for scenarios where a VAT rate change is scheduled for a specific date and rate.
lastModifiedAt
DateTimeM
The date and time of last update.
_v
int
Resource version. This property is tracked and updated by API.
VatIncome
vatRate
VAT rate. Number with value between 0 and 100 with precision up to 2 decimal places (for taxable items), or null
(for non-taxable items).
totalAmount
Total turnover.
vatAmount
VAT amount.
VatInfo
VAT category identifier and associated VAT rate.
category
int
VAT category identifier. Value between 1
and 10
.
rate
VAT rate. Number with value between 0 and 100 with precision up to 2 decimal places (for taxable items), or null
(for non-taxable items).
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
rate
VAT rate. Number with value between 0 and 100 with precision up to 2 decimal places (for taxable items), or null
(for non-taxable items).
effectiveFrom
DateTime
The date and time when the specified VAT rate takes effect.
WeeklyScheduleItem
Represents a weekly schedule item that can apply to multiple days with optional time ranges.
days
Gets or sets the list of days when the schedule applies. If value is null
or empty, the schedule is not limited to certain days, and applies every day.
timeRange
Gets or sets the time range for the schedule. If value is null
, the schedule is not limited by time; starts at the beginning of the day and ends at the end of the day.
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.
name
string
Unique zone identifier.
defaultFiscalName
string?
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.
items
Collection of zone items (tables or other objects).
sortHint
int?
Optional sort hint (to order zones in cash register application)
_v
int
Resource version. This property is tracked and updated by API.
ZoneItem
name
string
isTable
bool
Indicates, whether ticket can be associated with given zone item.
meta
Meta information related to render given zone item in application user interface.
ZoneItemMeta
position
Coordinates
Specifies center position.
width
decimal
Non-zero positive element width.
height
decimal
Non-zero positive element height.
shape
Element shape.
rotation
int
Element clockwise rotation in degrees.
color
string
Color in RGB format, including leading #
symbol. E.g. #fff
or #aabbcc
.
ZoneItemShape
Emumeration defined with the following values:
circle
Circle (can also be used for ellipses).
rectangle
Rectangle (can be used also for squares) .
Last updated