3rd Party PMS API Code
Programming-Language: Microsoft .NET C#
Die referenzierenden Datentypen DataSet + DataTable sind Microsoft-spezifische Datentypen, die in Standard-XML-Streams dargestellt werden
Die Schnittstelle besteht aus mehreren Bereichen:
-
Zimmerbelegungsdatei
-
Beleginformationen
-
Einzelpositionen der Belege
Zimmerbelegungsdatei: <PMS-Reservation.xml>
Die Zimmerbelegungsdatei muss vom PMS im gewählten Verzeichnis für die Datenübergabe bereitgestellt und aktualisiert werden. Das Hypersoft Kassensystem übernimmt den Inhalt dieser Datei und löscht diese nach der Verarbeitung.
Gelb hinterlegte Zeilen sind Pflichtinformationen.
Reservierungen:
Reservation | |||
ID |
Integer | Eindeutige Reservierung- / Belegungnummer | Pflicht / Unique |
RoomNumber |
ALPHA | Zimmernummer / Objektname | Pflicht |
GuestLast-Name |
ALPHA | Gast Nachname | Pflicht |
CheckInDate | Date | Ankunft/ Check In Date | Format: YYYYMMDD |
CheckInTime | Time | Ankunft/ Check In Time | Format: HHMMSS |
CheckOutDate | Date | Abreise/ Check Out Date | Format: YYYYMMDD |
CheckOutTime | Time | Abreise/ Check Out Time | Format: HHMMSS |
GuestFirst-Name | ALPHA | Gast Vorname | |
GuestTitle | ALPHA | Title – Herr, Frau, Dr... | |
InvoiceNumber | TEXT | Wird übergeben falls vorhanden. | Format ARxxxxxxxxx |
Beispiel Reservierungen...
<reservations>
<reservation>
<id>22143</id>
<RoomNumber>101</RoomNumber>
<GuestName>Mustermann</GuestName>
<GuestFirstName>Peter</GuestFirstName>
<GuestTitle>Herr</GuestTitle>
<CheckInDate>20181010</CheckInDate>
<CheckInTime>130000</CheckInTime>
<CheckOutDate>20181013</CheckOutDate>
<CheckOutTime>110000</CheckOutTime>
</reservation>
<reservation>
<id>22144</id>
<RoomNumber>Blue Salon</RoomNumber>
<GuestName>Müller</GuestName>
<GuestFirstName>Martin</GuestFirstName>
<GuestTitle>Herr</GuestTitle>
<CheckInDate>20181010</CheckInDate>
<CheckInTime>163000</CheckInTime>
<CheckOutDate>20181011</CheckOutDate>
<CheckOutTime>60000</CheckOutTime>
</reservation>
</reservations>
Beleginformationen <PMS-Booking.xml>
Die PMS-Bookingdatei wird vom Hypersoft POS-System pro Buchung in dem vorgegebenen Dateiverzeichnis bereitgestellt. Das PMS System übernimmt diese Datei und löscht Sie nach der Verarbeitung.
Belege:
GuestCheck | |||
CheckNumber |
Integer | POS Belegnummer (evtl. keine Rechnung) | Pflicht |
CheckDate |
Date | POS Belegdatum | Pflicht Format: YYYYMMDD |
CheckTime |
Time | POS Belegzeit | Pflicht Format: HHMMSS |
HotelID | Integer | Hotel ID | |
ReservationID |
Integer | Eindeutige Reservierungsnummer oder Belegnummer | Pflicht |
RoomNumber |
Alpha | Zimmernummer (Kein Text) | Pflicht |
*InquiryInfo | Alpha | Suchoption / Inquiry (Oracle) | |
*GuestID |
Integer | Gast-Nummer / Profilnummer | Pflicht |
GuestLastName |
Alpha | Gast-Nachname | Pflicht |
GuestFirstName | Alpha | Gast-Vorname | |
Covers | Integer | Gästeanzahl / Kundenanzahl | |
PosNr |
Integer | POS Stationsnummer | Pflicht |
PosName |
Alpha | Kassenname | Pflicht |
RevenueCenter | Integer | Profitcenter Ein Profitcenter ist in der Hypersoft Suite eine oder eine Gruppe von Kassen, die Sie einem Begriff, der das Profitcenter repräsentiert zuordnen. Diese Gruppierungen können für Berichte verwendet werden. / Revenue Center | |
Shift | Alpha | Schichtmerkmal | |
PayMethod1 |
Integer | Zahlungsart 1 | Pflicht |
bis... | |||
PayMethod16 | Integer | Zahlungsart 16 | |
Method1_ForeigenName |
Alpha | Bezeichnung der Währung 1 | Pflicht |
bis... | |||
Method16_ForeigenName | Bezeichnung der Währung 16 | ||
Method1_ForeigenTotalAmount |
Double | Zahlung in Fremdwährung 1 | Pflicht |
bis... | |||
Method16_ForeigenTotalAmount | Zahlung in Fremdwährung 16 | ||
Method1_CurrencyRate |
Double | Umrechnungsfaktor 1 | Pflicht |
bis... | |||
Method16_CurrencyRate | Umrechnungsfaktor 16 | ||
Method1_MainTotalAmount |
Double | Totalsumme 1 | Pflicht |
bis... | |||
Method16_MainTotalAmount | Totalsumme 16 | ||
TipAmount | Double | Trinkgeld | |
ExpenseAmount | Double | Auslagen Im Kassensystem werden Artikel ohne zugewiesneen MwSt. Satz als Auslagen behandelt. Diese Artikel erzeugen keinen Umsatz. Sollen Artikel ohne MwSt. Umsatz erzeugen, weisen Sie einen MwSt. Satz mit 0% zu. | |
ServiceCharge | Double | Servicegebühr | |
PayTotalAmount | Double | Gesamtsumme (nach Trinkgeld, Auslagen Im Kassensystem werden Artikel ohne zugewiesneen MwSt. Satz als Auslagen behandelt. Diese Artikel erzeugen keinen Umsatz. Sollen Artikel ohne MwSt. Umsatz erzeugen, weisen Sie einen MwSt. Satz mit 0% zu., Servicegebühr) | |
WaiterID | Integer | Bedienernummer | |
WaiterName | Alpha | Bedienername | |
*MatchfromList (nur für Oracle PMS) |
Integer | Index der Suchliste |
Einzelpositionen der Belege
GuestCheckPosition | ||
Group | Integer | Artikelgruppe des Artikels |
HGR | Integer | Hauptgruppe |
WGR | Integer | Warengruppe |
UGR | Integer | Subgruppe |
VatTab | Integer | Mehrwertsteuer-Nummer |
VatValue | Double | Mehrwertsteuer-Wert |
Quant | Double | Anzahl |
ProductID | Integer | Artikel ID |
ItemText | Alpha | Artikel Bontext 1 |
UnitPrice | Double | Einzelpreis |
TotalPrice | Double | Gesamtpreis des Artikels (Artikelpreis x Anzahl) |
Beispiel für Belege...
<GuestChecks>
<GuestCheck>
<CheckNumber>123334</CheckNumber>
<CheckDate>20181014</CheckDate>
<CheckTime>145500</CheckTime>
<HotelID>1</HotelID>
<ReservationID>47665</ReservationID>
<RoomNumber>101</RoomNumber>
<InquiryInfo>Mül</InquiryInfo>
<GuestLastName>Mustermann</GuestLastName>
<GuestFirstName>Peter</GuestFirstName>
<Covers>2</Covers>
<PosNr>1</PosNr>
<PosName>Kasse 01</PosName>
<PayMethod1>8</PayMethod1>
<Method1_ForegeinTotalAmount>85.00</Method1_ForegeinTotalAmount>
<Method1_ForegeinName>EURO</Method1_ForegeinName>
<Method1_CurrencyRate>1.0000</ Method1_CurrencyRate >
<Method1_MainTotalAmount>85.00<Method1_MainTotalAmount>
<TipAmount>8.00</TipAmount>
<ExpenseAmount>5.50</ExpenseAmount>
<ServiceCharge></ServiceCharge>
<PayTotalAmount>98.50</PayTotalAmount>
<WaiterID>129</WaiterID>
<WaiterName>Friendly Waiter</WaiterName>
<GuestCheckPosition>
<Group>344125</Group>
<HGR>3</HGR>
<WGR>44</WGR>
<UGR>125</UGR>
<VatTab>1</VatTab>
<VatValue>19.00</VatValue>
<Quant>2.00</Quant>
<ProductID>47</ProductID>
<ItemText>Cocal Cola</ItemText>
<UnitPrice>3.50</UnitPrice>
<TotalPrice>7.00</TotalPrice>
</GuestCheckPosition>
<GuestCheckPosition>
<Group>344125</Group>
<HGR>3</HGR>
<WGR>44</WGR>
<UGR>125</UGR>
<VatTab>1</VatTab>
<VatValue>19.00</VatValue>
<Quant>3</Quant>
<ProductID>48</ProductID>
<ItemText>Fanta</ItemText>
<UnitPrice>3.50</UnitPrice>
<TotalPrice>10.50</TotalPrice>
</GuestCheckPosition>
<GuestCheckPosition>
<Group>401001</Group>
<HGR>4</HGR>
<WGR>1</WGR>
<UGR>1</UGR>
<VatTab>1</VatTab>
<VatValue>19.00</VatValue>
<Quant>3.0</Quant>
<ProductID>222</ProductID>
<ItemText>Filet Steak</ItemText>
<UnitPrice>22.50</UnitPrice>
<TotalPrice>67.50</TotalPrice>
</GuestCheckPosition>
<GuestCheckPosition>
<Group>501027</Group>
<HGR>5</HGR>
<WGR>1</WGR>
<UGR>27</UGR>
<VatTab>0</VatTab>
<VatValue>0.00</VatValue>
<Quant>1.0</Quant>
<ProductID>222</ProductID>
<ItemText>Cigarettes</ItemText>
<UnitPrice>5.50</UnitPrice>
<TotalPrice>5.50</TotalPrice>
</GuestCheckPosition>
</GuestCheck>
</GuestChecks>
Erweiterung der PMS-Buchungsdatei um das Feld „PayID“(12.2023)
Zur eindeutigen Identifizierung einer Kartenzahlung die an das PMS übergeben wird, hat die Buchungsdatei ein zusätzliches Feld „PayID“ erhalten. Dieses Feld bekommt vor der Übergabe an das Zahlungsterminal den eindeutigen Wert „45“ für eine anstehende Zahlung.
Nach abgeschlossener Zahlung am Zahlungsterminal wird die Hotelzahlungsart aus der Währungstabelle, durch die BZV-Schnittstelle in die Buchungsdatei geschrieben und die Buchungsdatei danach an die PMS-Schnittstelle übergeben.
Zurück zur übergeordneten Seite: 3rd Party PMS Integration