Links
Comment on page

Data models

This page contains data models that are utilized across multiple resources.
The property type convention in this context follows the notation of C# (.NET). The presence of a quotation mark (?) indicates the nullability of a value. For example, a string property cannot be null, whereas a property of type string? can have a null value.

Address

Property name
Type
Description
street
string?
Street name, office number and/or building number.
city
string?
City
zipCode
string?
Postal code
country
string?
Country

ApiKey

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

ArticleCategory

Each product or service within the PORTOS system is linked to a specific category, which is referred to as the article category. This categorization helps in organizing and classifying items, allowing for efficient management and navigation within the system.
Property name
Type
Description
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:
SortHint
Description
0
Beers
0
Drinks
1
Pizza
2
Wine
null
Beverages
null
Specials

ArticleCategoryOrderingItem

Settings for article category (ArticleCategory) ordering related to specific OrderOrigin.
Property name
Type
Description
orderOrigin
Order origin associated with this item.
enabled
bool
Determines whether given type of order origin is enabled for associated Article category.
weeklySchedule
Gets ordering weekly schedule. If value is null or empty collection, schedule is not limited and article category is available 24/7. Otherwise, schedule is specified by items in collection. Empty collection means no time slots restrictions.

PluPackaging

AuthResult

Name
Type
Description
tokenId
string
The JWT token using for authenticating requests.
refreshToken
string
The refresh token.
user
The user profile consists of information about the user themselves and the settings of the device they are logged onto. Depending on the device type, the structure of settings and preferences may vary.

BackOfficeDeviceSettings

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

BankAccount

Property name
Type
Description
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

Name
Type
Description
MaxQuantity
decimal?
Maximal quantity user can specify in single ticket item.
DefaultFiscalName
string?
Determines name of fiscal device associated with cash register. Usage of different fiscal device may be conditioned by rights of authorized user.
OpenedPrices
bool
Determines whether user can specify unit price of ticket item different than product's unit price.
NoticeOnNegativeSale
bool
Determines whether insufficient PLU stock quantity would be indicated to authorized user.
VisibleQuantities
bool
Determines whether PLU stock quantities can be visible for authorized user. Otherwise, application must not display such information.
DefaultOrderEndpointName
string?
Determines name of order endpoint device associated with cash register. Usage of different order endpoint may be conditioned by rights of authorized user.
DefaultStockName
string?
Determines name of stock associated with cash register. Usage of different stock may be conditioned by rights of authorized user.
All other settings are managed directly in the PORTOS Cash register application (PORTOS Pokladňa).

CashTransfer

Property name
Type
Description
amount
Price
Cash transfer operation amount. Positive for deposit or negative for withdrawal.
date
DateTime
Date and time of cash transfer operation
employee
UserInfo
Employee who performed cash transfer operation.

Company

Name
Type
Description
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 of following values:
Value
Description
unknown
Type used when company is not exclusively supplier nor purchaser.
supplier
Company that is responsible for producing or delivering the products.
purchaser
Also known as a buyer, is a company acquires goods or services from a merchant.

CompanyAddress

Property name
Type
Description
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 of following values:
Value
Description
unknown
The specific purpose or nature of the address is not known or specified. It might be used when the address information is incomplete or when there is a lack of information about the purpose of the address.
office
An office address refers to the physical location where a company or organization conducts its business operations.
billing
The address to which invoices, bills, or payment requests are sent.
shipping
Tthe destination address where goods or products are to be delivered.
other
Any address that does not fit into the predefined types mentioned above.

CompanyBankAccount

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

Contact

Property name
Type
Description
fax
string?
Fax number associated with a person.
phone
string?
Telephone number associated with a person's landline or fixed-line phone.
mobile
string?
Telephone number associated with a person's mobile device.
email
string?
Person's email address.

CompanyContact

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

CountQueryResult

This model is returned for all GET collection routes when $count query parameter is set to true. Opposing to QueryResult, This model is used to retrieve only count of elements, not elements themself.
Property name
Type
Description
count
int
Number of elements matching the query.
totalCount
int
Number of total resources available. Value may differ from count, when pagination or filtering is applied.

Currency

Property name
Type
Description
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

Name
Type
Description
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
Price
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
Meta
Object that holds additional data (usually supplied by external system).
_v
int
Resource version. This property is tracked and updated by API.

CustomerAddress

Name
Type
Description
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

Name
Type
Description
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
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 of 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
Type
Description
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

Name
Type
Description
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
Price
Transaction amount. Can be positive or negative number.
type
Type of transaction.
endingCreditBalanceAmount
Price
Resulting credit balance after transaction.
creationTime
DateTime
Date and time of transaction.
note
string?
Optional note related to transaction.
meta
Meta
Object that holds additional data (usually supplied by external system).

CustomerCreditTransactionType

Enumeration of following values:
  • adjustment: credit consumption or cash-back
  • deposit: credit top up
  • withdrawal: funds withdrawal
  • correction: manual balance correction
  • other: none of above

DailySalesReport

Name
Type
Description
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