Ticket Operations and User Rights

Navigating Access for Ticket Actions

This section describes user rights required when performing Ticket API methods.

Creating and modifying ticket

When creating or modifying ticket, specific user rights are required, based on payload data and whether ticket with given identifier already exists.

  • TicketCreate: necessary when no existing ticket with given identifier is found.

  • TicketUpdate: necessary when attempting to modify an open ticket with a given identifier. This applies when the ticket is linked to an authorized user (determined through the employee.userName property).

  • TicketUpdateAny: necessary when attempting to modify an open ticket with a given identifier. This applies when the ticket is linked to a user other than the authorized user (determined through the employee.userName property).

  • TicketRename: necessary when attempting to modify name property of an existing open ticket.

  • TicketSetDiscount: necessary when attempting to set a non-zero value for the discountRate property of a new ticket or changing it from an existing ticket. If the ticket is associated with a customer (through the customer property), setting a value equal to the customer's discount rate (customer.discountRate) is allowed and doesn't require this right.

  • TicketSetCustomer: necessary when attempting to set non-null value for customer property of a new ticket or changing it for an existing ticket.

  • TicketHandover: necessary when attempting to associate ticket with user other than the authorized user (determined through the employee.userName property).

  • TicketTakeover: necessary when attempting to switch the association of a ticket from a user other than the authorized user (identified through the employee.userName property) to the authorized user. The execution of this operation also required TicketUpdateAny user right.

Deleting ticket

When deleting existing opened ticket, specific user rights are required, based on properties of existing ticket.

  • TicketDelete: neccessary when deleting ticket associated with authorized user (determined through the employee.userName property).

  • TicketUpdateAny: necessary deleting ticket linked to a user other than the authorized user (determined through the employee.userName property).

  • Storno: necessary when deleting ticket containing at least one ticket item in items collection with a quantity greater than zero.

Closing ticket

When closing ticket, following user rights are required:

  • TicketClose: necessary when closing ticket.

  • TicketCloseAny: necessary when closing ticket linked to a user other than the authorized user (determined through the employee.userName property).

  • TicketCloseAs: necessary when closing ticket in behalf of user other than the authorized user (determined through the user.userName property of TicketCloseContext).

  • TicketCloseToAnyFiscal: necessary when closing a ticket on a fiscal device that is not the default fiscal device. For more details on how to evaluate the default fiscal device, please refer to the Evaluating the Default Fiscal Name section.

  • TicketUpdate: necessary when ticket is linked to an authorized user (determined through the employee.userName property).

  • TicketUpdateAny: necessary when ticket is linked to a user other than the authorized user (determined through the employee.userName property).

Evaluating the Default Fiscal Name

This section outlines the procedure for determining the default fiscal device for a ticket

  1. Using Zone's defaultFiscalName Property: The default fiscal name is extracted from the defaultFiscalName property of the Zone linked to the Ticket through the Ticket's location property. If the location property is empty (equal to null), move on to the next step.

  2. Checking Device's Settings.DefaultFiscalName Property: The Settings.DefaultFiscalName property of the Device associated with the authorized user is checked. If the property value is equal to null, proceed to the next step.

  3. No Default Fiscal Name Set: If none of the above steps yield a default fiscal name, it means that the default fiscal name is not configured. In such cases, the TicketCloseToAnyFiscal user right is not required.

Printing preliminary ticket

When printing preliminary ticket, following user rights are required:

  • TicketPrintPreliminary

  • TicketUpdate: necessary when ticket is linked to an authorized user (determined through the employee.userName property).

  • TicketUpdateAny: necessary when ticket is linked to a user other than the authorized user (determined through the employee.userName property).

Last updated