3rd party eSolution development

The status from one's own perspective serves to coordinate the expectation. If there is a perfectly, Hypersoft assumes that the function is strong in Hypersoft and perfectly supported in the interface, so that a 3rd party can use it to solve all requirements for this area. This and other things thus serve as orientation for you.

Functions and information Status from own perspective Info for 3rd parties Code Information
Programming language - - Microsoft .NET C# - WebService / SOAP
Initialise web service - - Initialise web service

Item master data:

 

 

 

Retrieve item data

perfect

Items eSolutions API Item data / master data GetItemData
Item queries (modifier)

Extension possible, date pending.

Item queries

Sub-queries and sub-components

DataSet Type1 Table name: SYS_AbfragenNoVK:
Item Queries Headings

perfect

Item queries

Please enquire if required

Item Changes

perfect

- Different master data retrievals and checks.
Item App Description

perfect

Item App Description DataSet Typ2: Table Name: SYS_Artikel:
Item free text

perfect

Change item text and price DataSet dsBooking:
Item free fields

perfect

Free fields for further item data (properties)  
Item Menu Course

perfect

- Booking functions with menu:
Sort items

perfect

Sort item -
Sort items (in queries)

perfect

Item queries  
Item conditionally offer blacklist

perfect

Offer item conditionally
Offer item conditionally Availability

perfect

Offer item conditionally availability manager Function to retrieve all availability items.
Item Stocks with CONTROLLER

perfect

Item Storage locations and stock levels of the basic articles

Function to call up all outlets/warehouses

Function to retrieve the stock as JSON string

SetProdStock For the time being, this function is deactivated for security reasons.

Item Media data

perfect

Media data  
Item Nutritional values

perfect

   
Item Portions

Extension possible, date pending.

Item Portion size

 
Item Additives

perfect

   

Post operations:

 

 

 

Instant release (automatic)

perfect

Instant release station  
Post transaction

perfect

- eSolutions API booking methods
Check process

perfect

- DataSet CheckTransaction(string Company, string SerialNumber, string MediaID, DataSet dsBooking)
/Transaction ResponsibilityClosed The first operator who posts or opens an item in a process is referred to as the person responsible for the process. As long as the process is not completed, it is considered as its process. With the cash register function operator change, the responsibility can be transferred to another operator.

perfect

process responsibility  

Miscellaneous:

 

 

 

Out of home status

perfect

Out-of-home service call  
bonus points

perfect

  Retrieve the valid vouchers taking into account the assortments:
DeliveryID

perfect

  DeliveryID functions
Error codes web service

perfect

  In case of an error "Message=Error", another table with the faulty items is returned. The content of the table is the transferred item data plus a status.
Fiscal requirements

On the part of Hypersoft fulfils

3rd Party eSolution fiscal requirements

-

Hypersoft customer number

perfect

  Determining the Hypersoft customer number of the location
Customers (book to customers)

See the links in the boxes on the right or use another API.

You can also use another API for this: 3rd party customers, reservation, tickets integrations.

Book on customers The following types are currently supported:
Read customer card

Queries may be necessary

  Retrieve a card transaction by card number:
menu courses

perfect

Use menu courses DataSet Type2: Table name: SYS_MenueGaenge:
Card management

perfect

Hypersoft POS Closed Loop Systems Retrieve a card transaction by card number:
Keyboard layouts

perfect

Keyboards and numbers for layouts Different master data retrievals and checks.
Multi-Object transactions

perfect

   
NoCOO Digital Invoice Directory

perfect

  Retrieve operations:
opening hours -

To be solved in the 3rd party system

-
pledge

perfect

Deposit system DataSet Typ3: Tabellenname: SYS_Artikel:
Prices: Free price

perfect

Change item text and price  
Prices: Price levels

perfect

Price levels with 3rd parties

DataSet Type2: Table Name: SYS_PEText:

DataSet Typ3: Tabellenname: SYS_Artikel:

discounts

perfect

Apply discounts DataSet Type1 Table name: SYS_Artikel:
service call

Not finished, currently being revised.

Out-of-home service call string CallService(string Company, string SerialNumber, string fpMessage, string MediaID)
Slider Time-dependent

Extension possible, date pending.

 

 

Gritting

perfect

Additional splitting settings for the eSolutions API... eSolutions API Split Invoices Code
languages

perfect

Multi-language support eSolution 3rd Party API Translations
Assortments

perfect (expandable)

Best practice for article master data for eSolutions DataSet Typ1: Table name SYS_Abfragen:
stages

perfect

Cash terminal Responsibility and equipment
Superhero function

perfect

Superhero function

DataSet dsBooking:

Superhero function Functions

Voids

perfect

Cancellations with 3rd parties -
Day change

perfect

Day change with 3rd parties Retrieve operations:
tickets

Tickets can be used with another API: 3rd party customers, reservation, tickets integrations

- -
timeout

perfect

eSolutions 3rd Party Timer -
gratuity

perfect

Tip with the API  
process responsibility

perfect

process responsibility Retrieval of all open transactions:
Commodity group structure and call-off

perfect

Commodity groups with 3rd parties
Time dependent items   Restricted bookability  

Best practice example for paying for existing operations

For all functions that require a Company and SerialNumber parameter, please always use the defaults given to you by Hypersoft.

First steps to pay for existing operations (tables)...

The following methods are available for the workflow of a payment of the table:

List of all bookings...

With the method "GetOpenTable" you get a list of all bookings from all open transactions.

Lister of all bookings of a transaction...

With the method "GetOpenTableBySelection" you get the same data as with "GetOpenTable", but then only for the table that you have passed in the SelectionTable parameter, e.g. "2" for table 2.

We assume that the table number is known to your APP (via the QR code) and therefore only the method "GetOpenTableBySelection" is used.

Calculate operation total...

Adding up the "quantity" * "price" of each item gives the transaction total.

Pay process...

With the method "BookTransaction" or "BookTransactionStr" this open table transaction can be passed as paid, e.g.:

BookTransactionStr("MyCompany", "MySerialNumber", "TNR:2|ZA:47=MyPayment")

If the total under MyPayment corresponds to the transaction total, the transaction is settled by the POS system. In the event of an overpayment (more payment than transaction total), the difference is booked as a tip (the tip is assigned in Hypersoft to the operator with transaction responsibility). Any payment less than the transaction total is saved as an interim payment in the transaction and the transaction with the remaining amount remains open (this allows you to make partial payments that are not assigned to specific item entries).

Billing information...

In the feedback, you will receive the DeliveryID with which you can then, if necessary, send a message. be able to retrieve the billing information. For this purpose, please use the method "GetDeliveryInfo".

The ID 47 from the example is internally fixed to "Pay per App" for the payment type. This payment type can always be used if separation of the actual payment type is not desired. Otherwise, the method "GetMyPaymentMethod" can be used to determine the available payment methods from the POS system.

E.g. 20 = ec, 25 = VISA, 26 = Mastercard, 49 = Sofortüberweisung etc.

Within the Hypersoft system your programme is integrated as a channel, via this channel the bookings are evaluated as >"your solution" Payment<.

Please refer to the documentation for the data structure of the parameters and the feedback of all available methods.

Item and processes with 3rd parties

Item texts and information

The items texts are provided in varying degrees, the standard item name is the Bontext 1. There is a method for additional languages regarding the short text and an HTML formatted detail text. Further information such as allergens, ingredients and energy values can also be retrieved.

Another essential point are the adjustments of an item when ordering (modifiers). These can be booked in the form of queries (forced queries) or at the POS and mPOS also by free attachments. Queries have an enormous impact on the master data of an item.

Structure and IDs of the item data...

A steak with salad or garlic bread cannot be a fixed item, but consists of the steak and the choice made, and thus of two out of three items. The lettuce is created once in the master data at the steak level and if this lettuce is to be sold individually, this is its ID (ProductID). If there are several items that have lettuce as a selection, the lettuce receives an additional unique ID (RezID) for each assignment, which is valid for exactly this assignment. The salad with the entrecôte thus has a different unique ID (RezID) than the same salad with the filet mignon. This method not only enables the historical evaluation of master data changes (required in Germany by GDPdU), but also represents the possibility to adapt the supplements and queries for stock management per possible item combination and different in-house and out-of-house recipes.

Basically, all saleable items can be found in the table SYS_Artikel and stored there with the ProductID. In this table, each item (each ProductID) exists only once. In addition, the items are also listed in their corresponding table of the group. The toppings/inserts/queries can be found in the tables SYS_Abfragen and SYS_ArtikelAbfragenNoVK where you can find the corresponding queries/inserts with the Link_ProductID. The RezID from these tables is then necessary for booking.

Go to Internal IDs Print to see how you can print out the master data with the IDs.

 

 

 

 

 

 

 

 

 

Customer data with 3rd parties

Book on customers

In the Hypersoft system there are different methods to book on customers.

  • You can call up a customer from the customer database as a customer and post to it as if it were a transaction. You book "on this customer". The customer steps here instead of a possible table number, so that there could be no additional table number.

  • You can simply add customer data to a transaction - even if this customer would exist in the customer database, you do not book to this customer from the database point of view. A table number can also be used here.

  • There are other possibilities.

DeliveryID

The DeliveryID is the unique process related to the Online Order System and all optional integrations.

Media data with 3rd parties

We urge you to use the possibility of images from the item master for the item data and to refrain from contributing image data externally or anchoring them statically in your connection, as this is disadvantageous in processing and can lead to further problems (e.g. during checks). Please see 3rd Party eSolution fiscal requirements.

If their use requires special formats, these can usually be entered in one of the available channels of the item master.

If required, the transmission of channels 2-9 can be activated manually in the sub-channel of the Online Order Connector.

The item master has several image channels. All image channels can be called up in the eSolutions interface. See the chapter Image processing with eSolutions.

Please note, especially with resources such as images, that you can place an unnecessary load on the customer system or also the Hypersoft servers by making too large or too frequent queries. The responsibility for not negatively influencing the system lies with you as the 3rd party. Should we find this out, we will come back to you. In this context, we reserve the right to block your access without further notice in the event of repeated problems.

If you need media data from areas other than the item master, we will be happy to check the possibilities on request.

NoCOO digital invoice directory for 3rd parties

NoCOO (no Co²) stands for a digital invoice directory that can be optionally booked by Hypersoft customers. If digital receipts are to be transmitted to the 3rd party, NoCOO is the solution. See the programme description at NoCOO - Digital Billing. Access and PIN are transmitted via the interface.

Price levels with 3rd parties

Price levels have several important functions in Hypersoft and control VAT in addition to different prices per item. Sentences and the status In-house / Out-of-house, there is also the topic Out-of-house service call. By the way, an item can have more than one fixed VAT rate in the Hypersoft system . Own set.

Discounts with 3rd parties

Hypersoft has an extensive discount system. For 3rd parties, this information can be used from the item data:

  • Item may or may not be discounted

  • Minimum price of the item (this must not be undercut even if the percentage discount would result in this arithmetically.

If necessary, we recommend that you retrieve and apply the set rounding parameters.

See everything on discounts from Apply discounts.

Multi-language support

Please do not use Old method: Additional language for itemsin the near future. Please use Languages: Hypersoft Multilingual.

Multi-Object transactions with eCOm API

If the multi-object operation option is active, all online order operations are saved with location numbers and location information. Thus, the first free seat number is used (as is usual in the Hypersoft system) and the first name and surname of the customer, for example, are saved as object information.

Stations with 3rd parties

Cash terminal Responsibility and equipment

As a rule, the cash register station on which the necessary Hypersoft eSolutions web service has been set up takes over the processing of bookings and transactions. Alternatively, a 3rd party interface can transmit a POS number (station number), which is then responsible for the bookings and transactions. This is also indicated if several eSolutions connections are running simultaneously on a POS system and may need to be set up differently (web shop, order app, etc.). Just by looking at the different headings on order slips or forms, they can give clues about the channel of the order.

One (or more) cash register subsystem(s) can be set up on a cash register station to apply individual settings for incoming bookings and transactions. On a server or a device without Hypersoft POS cashier mode a cashier instance without cashier mode can be set up (as for Orderman control systems) and optionally further subsystems.

The POS terminal or subsystem in question processes the postings and creates the order receipts and invoices/forms according to its settings.

A so-called overview receipt is often set up in connection with the eSolutions interface. For complex preparation tasks, Hypersoft recommends the combination with the Kitchen Monitor System.

Also 3rd party stations, if they are part of the system, should be set up as such at the location of the respective system.

Cancellations with 3rd parties

The Hypersoft system includes a distinctive cancellation management system, with which we offer our customers numerous options and they select the options that suit them best. This is described in the section Cancellation and loss management and the associated chapters such as Cancellations with integrated eSolutions. For the different international locations of the POS system, Hypersoft provides a secure tool to provide correct bookings, reports and exports in case of audits. The 3rd party partners also benefit from this in their daily cooperation. We were able to establish that it was not necessary to provide a function for cancellation via the eSolutions interface in the previous cooperation and can therefore also largely assess systems with an active 3rd party eSolutions connection during audits. We then expect the same from auditors who assess the overall system.

We therefore ask the 3rd parties and our customers to use the existing cancellation functions of the overall system and to continue to do without a cancellation option in the 3rd party eSolutions area. So far, everyone has been able to design a very good workflow with this and at the same time rely on the security of the Hypersoft world. Thank you for your understanding.

Day change with 3rd parties

In the Hypersoft Suite there is a sophisticated system for changing days. Use the time of the so-called /TTAClosed The theoretical end of day (TTA) applies the calendar day change at a time specified by you (default setting 6:00 a.m.). The programme can automatically perform closures, updates and maintenance at this time. A new sales day then begins with the first POS booking of the day. , if necessary, to reset things in their system, empty orphaned shopping baskets or change the day. See here the section Daily closing, daily change and TTA.

Tip with the API

Individual item bookings can be made by different operators. Hypersoft works with operation responsibility, which is always assigned to a specific operator (for example, the first operator to open a table). The tip is automatically assigned to this operator by Hypersoft. You don't have to worry about it.

If you create operations as a 3rd party and the system is set up accordingly, you can be given operation responsibility as a virtual operator and the tip could then be handled or distributed further. See all tips on how to Book a tip.

Two methods to trigger tip bookings

  • You can book an item with the corresponding amount that is defined as a tip item in the Hypersoft system.

  • You can increase the payment amount of the transaction, Hypersoft will book the overpayment as a tip.

Configuration for the treatment of overpayments...

With the option switch Book TRINKGELD on overpayment you can set a behaviour for the API specifically for your channel. This allows you to decide whether, in the case of an overpayment in connection with a transaction closure, the surplus is booked as a tip or as a refund. If the counter is off and a higher payment amount is handed over with the transaction closure, the POS treats the "overpayment" as change. This part is therefore not included in the cash balance and is also not listed as a tip in the operator's statement.

Tax treatment of tips...

Overpayments are booked as tax-free tips in the standard system. For tip items, taxation can be defined by settings.

In Germany, tipping is not generally tax-free. Many 3rd parties cause the tax liability of tips in general or in connection with uncoordinated workflows. Therefore, if in doubt, always book taxable tips.

Commodity groups with 3rd parties

Hypersoft has a three-tier commodity group concept.

Further documentation:

Sort - Order of the items.

categories


Further documentation:

eSolution 3rd Party API Code

eSolution 3rd Party API Translations

Back to the parent page: 3rd Party eSolution API