revision in progress


TOC /INHALTSVERZEICHNIS



EN - AOI on localhost Amadeus II

For a quick start we present you some examples how you can accomplish the most common tasks with the AOI. We assume that you are working on the same server as the corresponding ACF is located and that you used 1234 for the serial number. We also asume that a waiter with pin 999 is available on the system. 

AOI in Amadeus local POS server is DEPRECATED summer 2023
in summer 2023 we're going to switch from Amadeus II to Amadeus III server. The new one will not contain AOI anymore. AOI is accessed by Amadeus360 Third Party API /POS API


Order an item. 

The classical Workflow for ordering an item. A waiter logs in, opens a table, orders a item and logs out. 

http://localhost:1410?sno=1234&asql=init 999 // Login.

http://localhost:1410?sno=1234&asql=table 1 // Open table number 1.

http://localhost:1410?sno=1234&asql=book plu 123 // Order the item with the PLU 123.

http://localhost:1410?sno=1234&asql=init // Log out. 

Show all open tables of the current waiter

http://localhost:1410?sno=1234&asql=init 999 // Login

http://localhost:1410?sno=1234&asql=table


You will get an XML response containing information about all tables opened by the waiter at the moment. 


<section name="table.list">
<dataset>
<var key="table.lastbookdatetime">2017-02-15T11:37:43.000+01:00</var>
<var key="table.firstbookdatetime">2017-02-15T11:37:42.000+01:00</var>
<var key="type">table</var>
<var key="table.number">5</var>
<var key="table.balance">11.0</var>
<var key="table.adults">2</var>
<var key="table.infants">0</var>
<var key="table.kids">0</var>
<var key="waiter.number">999</var>
<var key="waiter.name">Ebner Service</var>
<action key="STANDARD">table 5;</action>
</dataset>

or

http://localhost:1410?sno=1234&asql=tableinfo nowaiter

You will get informations about all open tables regardless of the waiter currently logged in. 

http://localhost:1410?sno=1234&asql=init 999 // Login

http://localhost:1410?sno=1234&asql=table 1 // Open table number 1

http://localhost:1410?sno=1234&asql=finance 20 // Pay table saldo by cash

http://localhost:1410?sno=1234&asql=print 1 // print receipt with template number 1

http://localhost:1410?sno=1234&asql=init // Logout

This processs can be shortened by submitting a macro: 

http://localhost:1410?sno=1234&asql=init 999 // Login

http://localhost:1410?sno=1234&asql=table 1; finance 20; print 1; //Macro open table, pay cash, print receipt

http://localhost:1410?sno=1234&asql=init // Logout


EBon - electronic bill

Configure EBon in POS  to print 0 ; repay contains a link to EBon (pdf)
<.. "qr">https://.....de/extern/ebon/index/uuid/998899  <..>


http://localhost:1410?sno=1234&asql=init 999 //login waitor

http://localhost:1410?sno=1234&asql=table 1; book PLU 3; finance 20; print 0;
                     //Macro open table, book article, pay cash, print as pdf.


<document name="screen" messageid="3000015">
<section name="status">
<dataset>
<var key="terminal.number">3</var>
<var key="terminal.status">open</var>
<var key="terminal.tapster">inactive</var>
<var key="organization.name">Gastro MIS DEMO</var>
<var key="pricelevel.name">Standardpreis</var>
<var key="pricelevel.number">1</var>
<var key="site.number">0</var>
<var key="situation.name">Gesamtbetrieb</var>
<var key="execution.code">23600100</var>
<var key="message.target">BILL</var>
<var key="master">true</var>
<var key="message.status">FINISH</var>

<var key="qr">https://dev.amadeus360.de/extern/ebon/index/uuid/d76#######8cc0c9</var>

<var key="profile.name">Standard</var>
<var key="profile.number">1</var>
<var key="profile.tendercountsplit">tfm</var>
<var key="site.color">notset</var>
<var key="terminal.name">Kasse Webservice</var>
<var key="site.name">Gesamtbetrieb</var>
<var key="situation.color">notset</var>
<var key="organization.businessdate">21.09.2023</var>
<var key="organization.currency">EUR</var>
<var key="situation.number">0</var>
<var key="execution.severity">I</var>
<var key="execution.message">Rechnung 12,345 gedruckt.</var>
<var key="organization.number">2571</var>
<var key="waiter.name">Service</var>
<var key="waiter.number">999</var>
<var key="bill.number">2313</var>
</dataset>
</section>
<section name="bill.list"/>
</document>


http://localhost:1410?sno=1234&asql=init //Abmelden des Kellners

Ausführen einer Funktion über Funktionsnummern

Many operations can be executed by function numbers. The AOI guides you through the process step by step. 

http://localhost:1410?sno=1234&asql=init 999 // Login

http://localhost:1410?sno=1234&asql=func 81 // get journal of ordered items. 

There are two possibillities to execute the function, Journal for the table or journal for all tables. The AOI asks you which one you'd like to execute.

 

<section name="function.list.details">
<dataset>
<var key="type">function</var>
<var key="function.number">1</var>
<var key="function.name">Buchungsjournal</var>
<action key="STANDARD">FUNC 81 1;</action>
</dataset>
<dataset>
<var key="type">function</var>
<var key="function.number">2</var>
<var key="function.name">Tischjournal</var>
<action key="STANDARD">FUNC 81 2;</action>
</dataset>
</section>

Possible next function steps are placed in  <action key="STANDARD"></action> tags.
You could execute 
or
now.
There are functions with up to 5 consecutive steps, for example selling a voucher is such an operation. 




DE - AOI am loKalen Server Amadeus II

Um den Einstieg in die Entwicklung mit dem AOI zu erleichtern, sind hier einige Beispiele aufgeführt, welche in nahezu jeder Application vorkommen. Alle Beispiele gehen davon aus, dass das ACF auf demselben Rechner läuft wie die Application und die Webkasse, die die Seriennummer 1234 hat. Außerdem wird als Kellnerpin 999 angenommen. 


AOI ist für den lokalen Amadeus POS server ABGEKÜNDIGT für Sommer 2023
Im Sommer 2023 werden wir von Amadeus II nach Amadeus III Server umschalten. Der neue wird kein AOI haben, das AOI ist über die Amadeus360 Third Party API /POS API zugänglich


Artikel bonieren

Der klassische Workflow an jedem Kassenplatz. Der Kellner kommt zur Kasse, meldet sich an, öffnet einen Tisch, boniert einen Artikel, und meldet sich wieder ab. 

http://localhost:1410?sno=1234&asql=init 999 //Anmelden des Kellners

http://localhost:1410?sno=1234&asql=table 1 //Öffnen von Tisch mit der Nummer 1

http://localhost:1410?sno=1234&asql=book plu 123 //Bonieren des Artikels mit der Artikelnummer 123

http://localhost:1410?sno=1234&asql=init //Abmelden des Kellners


Anzeigen der geöffneten Tische des angemeldeten Kellners

http://localhost:1410?sno=1234&asql=init 999 //Anmelden des Kellners

http://localhost:1410?sno=1234&asql=table

Es wird eine XML-Struktur zurückgegeben, welche alle zur Zeit geöffneten Tische enthält, auf die der Kellner Zugriff hat. Zusätzlich werden Informationen wie der aktuelle Saldo ist oder der Zeitpunkt der letzten Aktion angezeigt. 

<section name="table.list">
<dataset>
<var key="table.lastbookdatetime">2017-02-15T11:37:43.000+01:00</var>
<var key="table.firstbookdatetime">2017-02-15T11:37:42.000+01:00</var>
<var key="type">table</var>
<var key="table.number">5</var>
<var key="table.balance">11.0</var>
<var key="table.adults">2</var>
<var key="table.infants">0</var>
<var key="table.kids">0</var>
<var key="waiter.number">999</var>
<var key="waiter.name">Ebner Service</var>
<action key="STANDARD">table 5;</action>
</dataset>

oder 


http://localhost:1410?sno=1234&asql=tableinfo nowaiter

Es werden Informationen ohne Rücksicht auf die Kellneranmeldung zurückgegeben, um z.B. in einem Tischplan anzuzeigen, welche Tische von welchem Kellner belegt sind.


Ausdrucken einer Rechnung

Um für einen Tisch eine Rechnung auszudrucken kann die folgende Abfolge von Befehlen verwendet werden. 

http://localhost:1410?sno=1234&asql=init 999 //Anmelden des Kellners

http://localhost:1410?sno=1234&asql=table 1 //Öffnen von Tisch mit der Nummer 1

http://localhost:1410?sno=1234&asql=finance 20 //Abschließen auf Finanzweg 20 - Bar gegeben.

http://localhost:1410?sno=1234&asql=print 1 //Drucken der Rechnung mit Belegnummer 1

http://localhost:1410?sno=1234&asql=init //Abmelden des Kellners

Diese Folge kann auch verkürzt als Macro übergeben werden: 

http://localhost:1410?sno=1234&asql=init 999 //Anmelden des Kellners

http://localhost:1410?sno=1234&asql=table 1; finance 20; print 1; //Macro Tisch öffnen, abschließen, Rechnung Drucken.

http://localhost:1410?sno=1234&asql=init //Abmelden des Kellners


EBon als Rechnung

In der Kasse EBon auf print 0 konfigurieren; in der Antwort auf print 0 ist der Link auf den EBon (pdf) enthalten
<.. "qr">https://.....de/extern/ebon/index/uuid/998899  <..>


http://localhost:1410?sno=1234&asql=init 999 //Anmelden des Kellners

http://localhost:1410?sno=1234&asql=table 1; book PLU 3; finance 20; print 0;
                     //Macro Tisch öffnen, Artikel # buchen, auf #bar abschließen, Rechnung auf EBon (pdf) drucken.


<document name="screen" messageid="3000015">
<section name="status">
<dataset>
<var key="terminal.number">3</var>
<var key="terminal.status">open</var>
<var key="terminal.tapster">inactive</var>
<var key="organization.name">Gastro MIS DEMO</var>
<var key="pricelevel.name">Standardpreis</var>
<var key="pricelevel.number">1</var>
<var key="site.number">0</var>
<var key="situation.name">Gesamtbetrieb</var>
<var key="execution.code">23600100</var>
<var key="message.target">BILL</var>
<var key="master">true</var>
<var key="message.status">FINISH</var>

<var key="qr">https://dev.amadeus360.de/extern/ebon/index/uuid/d76#######8cc0c9</var>

<var key="profile.name">Standard</var>
<var key="profile.number">1</var>
<var key="profile.tendercountsplit">tfm</var>
<var key="site.color">notset</var>
<var key="terminal.name">Kasse Webservice</var>
<var key="site.name">Gesamtbetrieb</var>
<var key="situation.color">notset</var>
<var key="organization.businessdate">21.09.2023</var>
<var key="organization.currency">EUR</var>
<var key="situation.number">0</var>
<var key="execution.severity">I</var>
<var key="execution.message">Rechnung 12,345 gedruckt.</var>
<var key="organization.number">2571</var>
<var key="waiter.name">Service</var>
<var key="waiter.number">999</var>
<var key="bill.number">2313</var>
</dataset>
</section>
<section name="bill.list"/>
</document>


http://localhost:1410?sno=1234&asql=init //Abmelden des Kellners



Ausführen einer Funktion über Funktionsnummern

Viele Funktionen können in Amadeus II über Funktionsnummern aufgerufen werden. Dabei wird der Ablauf der nötigen Befehle vom AOI zurückgegeben. 

http://localhost:1410?sno=1234&asql=init 999 //Anmelden des Kellners

http://localhost:1410?sno=1234&asql=func 81 //Journal aufrufen

Da es zwei Möglichkeiten gibt (komplettes Journal und Tischjournal) werden von Amadeus II zwei Blöcke zurückgegeben. 

<section name="function.list.details">
<dataset>
<var key="type">function</var>
<var key="function.number">1</var>
<var key="function.name">Buchungsjournal</var>
<action key="STANDARD">FUNC 81 1;</action>
</dataset>
<dataset>
<var key="type">function</var>
<var key="function.number">2</var>
<var key="function.name">Tischjournal</var>
<action key="STANDARD">FUNC 81 2;</action>
</dataset>
</section>
Die Möglichen Befehle werden dabei in <action key="STANDARD"></action> Tags zurückgegeben. Man kann also 
oder
ausführen. Es gibt Funktionen, die bis zu 5 Eingaben nacheinander erfordern, z.B. das Erstellen oder Einlösen von Gutschein bei externen Gutscheinanbietern. 


Beispiel für das Bonieren eines Menüs

book menu "3001|1x2100 PRICE 6.5 TYPE ARTICLE  COURSE 1 ADDINFO ZGF0YTp0ZXh0L3BsYWluO2Jhc2U2NCxaSFZ5WTJnZ1oyVmljbUYwWlc0PQ==|1x5000 PRICE 3.1 TYPE ARTICLE  COURSE 2|1x5015 PRICE 0 TYPE ARTICLE  COURSE 3|1x1103 PRICE 1 TYPE ARTICLE  COURSE 4 ADDINFO BASE64ENCODEDSTRING|1x400 PRICE 0 TYPE ARTICLE  COURSE 5";



Abrufen von Bestandsmengen eines Artikels

Der Befehl PLU article gibt alle Artikel aus.
Der Befehl PLU article #nummer# die Stammdaten des einen Artikels inklusive Anzahl.