3rd Party PMS API Code
Programming-Language: Microsoft .NET C#
The referencing data types DataSet + DataTable are Microsoft-specific data types that are represented in standard XML streams
The interface consists of several areas:
-
Room occupancy file
-
Document information
-
Individual items of the vouchers
Room Reservation File: <PMS-Reservation.xml>
The room reservation file must be provided and updated by the PMS in the selected directory for data transfer. The Hypersoft POS system takes over the contents of this file and deletes it after processing.
Lines with a yellow background are mandatory information.
Reservations:
Reservation | |||
ID |
Integer | Unique reservation / occupancy number | Mandatory / Unique |
RoomNumber |
ALPHA | Room number / object name | Mandatory |
GuestLast-Name |
ALPHA | Guest Surname | Mandatory |
CheckInDate | Date | Arrival/ Check In Date | Format: YYYYMMDD |
CheckInTime | Time | Arrival/ Check In Time | Format: HHMMSS |
CheckOutDate | Date | Departure/ Check Out Date | Format: YYYYMMDD |
CheckOutTime | Time | Departure/ Check Out Time | Format: HHMMSS |
GuestFirst-Name | ALPHA | Guest first name | |
GuestTitle | ALPHA | Title - Mr, Mrs, Dr... | |
InvoiceNumber | TEXT | Will be handed over if available. | Format ARxxxxxxx |
Example reservations...
<reservations>
<reservation>
<id>22143</id>
<RoomNumber>101</RoomNumber>
<GuestName>Mustermann</GuestName>
<GuestFirstName>Peter</GuestFirstName>
<GuestTitle>Mr</GuestTitle>
<CheckInDate>20181010</CheckInDate>
<CheckInTime>130000</CheckInTime>
<CheckOutDate>20181013</CheckOutDate>
<CheckOutTime>110000</CheckOutTime>
</reservation>
<reservation>
<id>22144</id>
<RoomNumber>Blue Salon</RoomNumber>
<GuestName>Smith</GuestName>
<GuestFirstName>Martin</GuestFirstName>
<GuestTitle>Mr</GuestTitle>
<CheckInDate>20181010</CheckInDate>
<CheckInTime>163000</CheckInTime>
<CheckOutDate>20181011</CheckOutDate>
<CheckOutTime>60000</CheckOutTime>
</reservation>
</reservations>
Booking information <PMS-Booking.xml>
The PMS booking file is provided by the Hypersoft POS system per booking in the specified file directory. The PMS system takes over this file and deletes it after processing.
Evidence:
GuestCheck | |||
CheckNumber |
Integer | POS voucher number (possibly no invoice) | Mandatory |
CheckDate |
Date | POS document date | Mandatory format: YYYYMMDD |
CheckTime |
Time | POS document time | Mandatory Format: HHMMSS |
HotelID | Integer | Hotel ID | |
ReservationID |
Integer | Unique reservation number or voucher number | Mandatory |
RoomNumber |
Alpha | Room number (No text) | Mandatory |
*InquiryInfo | Alpha | Search Option / Inquiry (Oracle) | |
*GuestID |
Integer | Guest number / profile number | Mandatory |
GuestLastName |
Alpha | Guest surname | Mandatory |
GuestFirstName | Alpha | Guest first name | |
Covers | Integer | Number of guests / number of customers | |
ItemNo |
Integer | POS Station number | Mandatory |
PosName |
Alpha | Cash register name | Mandatory |
RevenueCenter | Integer | Profit centre / Revenue centre | |
Shift | Alpha | Shift feature | |
PayMethod1 |
Integer | Payment type 1 | Mandatory |
until... | |||
PayMethod16 | Integer | Payment method 16 | |
Method1_ForeigenName |
Alpha | Name of the currency 1 | Mandatory |
until... | |||
Method16_ForeigenName | Designation of the currency 16 | ||
Method1_ForeigenTotalAmount |
Double | Payment in foreign currency 1 | Mandatory |
until... | |||
Method16_ForeigenTotalAmount | Payment in foreign currency 16 | ||
Method1_CurrencyRate |
Double | Conversion factor 1 | Mandatory |
until... | |||
Method16_CurrencyRate | Conversion factor 16 | ||
Method1_MainTotalAmount |
Double | Total sum 1 | Mandatory |
until... | |||
Method16_MainTotalAmount | Total sum 16 | ||
TipAmount | Double | gratuity | |
ExpenseAmount | Double | disbursements | |
ServiceCharge | Double | Service fee | |
PayTotalAmount | Double | Total (after tip, expenses, service charge) | |
WaiterID | Integer | Operator number | |
WaiterName | Alpha | operator name | |
*MatchfromList (only for Oracle PMS) |
Integer | Search list index |
Individual items of the vouchers
GuestCheckPosition | ||
Group | Integer | Item group of the item |
HGR | Integer | major group |
WGR | Integer | Product group |
UGR | Integer | Subgroup |
VatTab | Integer | VAT number |
VatValue | Double | Value-added tax value |
Quantum | Double | number |
ProductID | Integer | Item ID |
ItemText | Alpha | Item Bontext 1 |
UnitPrice | Double | Unit price |
TotalPrice | Double | Total price of the item (item price x quantity) |
Example of receipts...
<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>
<PosNo>1</PosNo>
<PosName>Cash Register 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>
Extension of the PMS booking file to include the "PayID" field (12.2023)
An additional "PayID" field has been added to the booking file to uniquely identify a card payment that is transferred to the PMS. This field is assigned the unique value "45" for a pending payment before it is transferred to the payment terminal.
Once payment has been completed at the payment terminal, the hotel payment type is written from the currency table to the booking file via the BZV interface and the booking file is then transferred to the PMS interface.
Back to the parent page: 3rd Party PMS Integration