Migration to V4

Thi article describes breaking changes between PORTOS API v3.X and v4.0.

Authorization result

TokenId

property AccessToken has been renamed to TokenId in authorization result.

Article category

SortHint

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

Example:

SortHintDescription

0

Beers

0

Drinks

1

Pizza

2

Wine

null

Beverages

null

Specials

Tags

New optional string collection property that helps to associate user-defined tags with article category. Based on tags collection, new reports are available in statistics in both PORTOS CashRegister (Pokladňa) and PORTOS BackOffice applications.

Customer

The customer resource has has undergone many improvements, e.g. each customer account can now be associated with multiple cards. Please see table below for more information.

Name (v3)Name (v4)Note

-

ActivationTime

New property that specifies date and time, from which customer account can be associated with Ticket.

Address

Address

Object properties has been changed. ZipCode has been renamed to PotalCode. New Coordinates property has been added (object with Longitude and Latitude properties). New Note property has been added (optional string property to store additional information related to address).

-

BirthDate

Optional customer birth date.

CardId

-

This property has been removed. Card identifier is moved to SerialNumber property of element in Cards collection.

-

Cards

Collection of cards associated with this customer.

-

Company

New property that aggregates company-related information. Properties: Name, CRN, VatId, TaxId.

Contact

-

This property has been removed. Fax and Mobile properties has been removed (values are available in Meta object after migration). Phone and Email values are moved to root object (Customer.Phone and Customer.Email).

CreditTransactions

Collection of transactions that affects Credit property.

CRN

-

Moved to Customer.Company.CRN.

-

DeliveryAddress

New optional delivery address property of type CustomerAddress.

ExpirationDate

ExpirationTime

Renamed.

-

ExternalId

Optional unique identifier supplied by external system.

-

FirstName

Optional customer first (given) name.

Gender

Optional gender. One of folowing: Male, Female or null (for unknown or other).

-

Id

New unique identifier (in v3, CardId has been used as unique identifier).

-

IsCompany

Boolean value that specifies whether this customer represents company.

LastName

Optional customer last (family) name.

Name

FullName

Renamed.

-

Note

Optional note related to customer.

-

Meta

Object that hold any additional data (may be supplied by external system).

-

Status

New overall status of customer card. Value is one of following: Valid, NotYetValid, Expired.

TaxId

-

Moved to Customer.Company.TaxId.

VatId

-

Moved to Customer.Company.VatId.

Plu

Name (v3)Name (v4)Note

LastPurchasePrice

LastPurchasePrice

Now stored as price excluding VAT (in previous version, this property included VAT).

RetailPrice

RetailPrice

Now stored as price excluding VAT (in previous version, this property included VAT).

StockValue

StockValue

Now stored as price excluding VAT (in previous version, this property included VAT).

Type

Type

Range of allowed values has been reduced to StockItem, Recipe and Service. Removed types (Credit and Discount) are migrated to Service.

-

SpecialRegulation

Optional property that describes reason to associate given product with 0% VAT rate. This property has been added to comply with eKasa legislation.

-

IsCashbackAllowed

Determines whether the sale of this product will generate cashback to the customer.

-

IsFavorite

Boolean property to easier product lookup in cash register application.

-

SortHint

Same sorting rules as ArticleCategory.SortHint are applied.

Ticket

Serveral new properties were added to Ticket model. No properties were removed nor renamed.

Name (v4)Note

CloseDate

Formerly located in CloseInfo.CloseDate.

ExternalId

Optional identifier supplied by external system.

InvoiceNumber

Invoice number. Has value only when Type is Invoice.

IsParagon

Specifies whether this ticket represents paragon.

IssueDate

Date of issue. May be different from OpenDate, when paragon receipt is registered.

ParagonNumber

Paragon sequence number. Has value only when IsParagon is true.

State

Specifies ticket status. Allowed values: Open, Closed (receipt has been printed for given ticket)

Type

Specifies ticket type. Allowed values: CashRegister, Invalid, Invoice. Invalid receipts are used in training mode. Invoice is ticket without Items collection.

TicketCloseInfo

CloseInfo property of Ticket.

Name (v3)Name (v4)Note

CloseDate

-

Property has been removed in favor of Ticket.CloseDate.

-

EKasa

Contains properties related to eKasa legislation. Properties: TicketId, TicketIsOnline, TicketForm and TicketFormOptions.

TicketItem

Name (v3)Name (v4)Note

-

ExternalId

Optional identifier supplied by external system.

-

Type

Type of ticket item. Allowed values: Positive, ReturnedContainer, Returned, Correction, Discount, Advance, Voucher and Credit.

UnitPriceBrutto

UnitPrice

Property has been renamed and value now contains unit price excluding VAT.

-

ReferenceFiscalTicketId

Reference to ticket identifier, which can be found in Ticket.CloseInfo.EKasa.TicketId. Required for TicketItem with Type equal to Correction or Returned.

-

VoucherNumber

Voucher number. Specified only when Type is Voucher.

-

IsQuantityFixed

Specifies whether Quantity cannot be changed.

-

CourseNumber

Formerly located in TicketItem.Plu.CourseNumber.

TicketItemPlu

Name (v3)Name (v4)Note

CourseNumber

-

Property was moved up, to TicketItem model.

-

IsCashbackAllowed

Determines whether the sale of this product will generate cashback to the customer.

-

SpecialRegulation

Optional property that describes reason to associate given product with 0% VAT rate. This property has been added to comply with eKasa legislation.

Type

Type

Range of allowed values has been reduced to StockItem, Recipe and Service. Removed types (Credit and Discount) are migrated to Service.

Last updated