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).
_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
.
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
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
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.
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).
_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
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.
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.
_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
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.
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.
_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.
creationTime
DateTime
Date and time of transaction.
note
string?
Optional note related to transaction.
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
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
.
_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
ticketsAmountIncludingVat
invalidTicketsAmountIncludingVat
invoiceTicketsAmountIncludingVat
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.
returnedTicketItemsAmountIncludingVat
Total amount of ticket items with returned
type in associated tickets.
correctionTicketItemsAmountIncludingVat
Total amount of ticket items with correction
type in associated tickets.
discountTicketItemsAmountIncludingVat
Total amount of ticket items with discount
type in associated tickets.
advanceTicketItemsAmountIncludingVat
Total amount of ticket items with advance
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.
grandTotalAmountIncludingVat
Cumulative total turnover across all daily sales reports for given fiscal device and fical memory serial number.
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.
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
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.
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.
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.
ModifierOption
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.
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.
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.
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.
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
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.
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
The default state. It indicates that the order processing status is currently unknown and/or has not been initiated.
created
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
status
Desired order status. Please note that only specific order staus transitions are allowed. See OrderStatus
for more information.
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.
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.".
retailPriceIncludingVat
The unit price including VAT.
Must be positive or zero for container
plu type.
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.
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).
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.
_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
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
PluOrderingItem
Settings for product (PLU
) ordering related to specific OrderOrigin
.
paused
bool
Determines whether given type of order origin is temporarily paused (e.g. due to high demand or due to machine failure).
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
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
date
DateTime
The date and time of retail price change.
PluPurchaseType
Settings for product (PLU
) related to specific PurchaseType
.
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
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.
ProductLicenseRequest
shopId
int
Unique venue identifier.
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.
_v
int
Resource version. This property is tracked and updated by API.
Session
sessionId
string
Unique session identifier.
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.
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.
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.
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
StockTakingItemPlu
name
string
Product's name
code
int
Product's code
codes
string[]
Collection of alternative product codes.
StockTransfer
id
string
Unique identifier.
partner?
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?
The document number. Usually generated by system using format defined by stock transfer numbering associated with stock transfer type.
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.
discountRate
decimal
Discount rate. Numeric value between 0 and 100 with precision up to 2 decimal places.
currencyLabel
string
The currency label.
_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.
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
The information about source PLU. Used in outcome
, transfer
, sale
, invoice
and correction
stock transfer types.
destinationPlu
The information about destination PLU. Used in income
, transfer
and correction
stock transfer types.
note
string?
The optional note related to stock given stock transfer item.
StockTransferItemPlu
code
int
Product's PLU code.
name
string
Product name. E.g. "Coffee".
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.
StockTransferNumbering
id
string
The unique identifier.
isActive
bool
Determines whether this numbering can be used to generate stock transfer document numbers.
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.
_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
amount
int
The quantity.
StockTransferPayment
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
Sale stock transfer created by system after ticket is closed (similar to outcome).
invoice
Invoice (similar to outcome).
correction
Sale stock transfer created by system after stock taking is closed.
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.
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).
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.
originDeviceName
string?
Name of device on which ticket was created.
currencyLabel
string
Currency label.
discountRate
decimal
Value between 0 and 100. Up to 2 decimal places.
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
Fiscal printer options for generating receipt as an result of ticket closing procedure.
employee
If an employee is specified, the ticket's closure information will reflect this employee instead of the authenticated user. To specify a user other than the authenticated user, the authenticated user must have the TicketCloseAs
user right.
TicketCloseContextFiscal
TicketCloseContextFiscalTicket
formOptions
When the form
is set to print
, the type of this property is PrintTicketFormOptions
. When the form
is set to email
, the type of this property is EmailTicketFormOptions
.
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.
ticketFormOptions
Object with string properties containing additional information about ticket form used when creating receipt.
When the ticketForm
is set to print
, the type of this property is PrintTicketFormOptions
. When the form
is set to email
, the type of this property is EmailTicketFormOptions
.
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?
isCompany
bool
phone
string?
email
string?
creditRate
decimal?
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.
comment
string?
Optional comment from cashier.
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.
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.
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
Discount expressed in absolute value. For relative discounts, use discountRate
propety of Ticket
or TicketItem
models.
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
tableName
string
References table by it's unique name within zone specified by zoneName
property.
TicketPayment
TicketPaymentType
number
int
Unique payment type number.
description
string
Payment type human readable description.
isChangeable
bool
(reserved for future use)
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
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.
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.
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.
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).
UserProfileContextDevice
name
string
Unique name of the device on which the user is logged in.
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
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.
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
isTable
bool
Indicates, whether ticket can be associated with given zone item.
ZoneItemMeta
position
Coordinates
Specifies center position.
width
decimal
Non-zero positive element width.
height
decimal
Non-zero positive element height.
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
Was this helpful?