3 |
Partner queries hotelId for available cardTypes and paymentMethods.
A successful response contains the Card Types and Payment Methods
in use at the property. The "parameterValue" data of the "parameterName"=CardType
along with the "parameterValue":"Y" for the "parameterName": "ResvPaymentYN"
indicates the cardType and the "code" indicates the paymentMethod
that can be used in a post reservation (Step 5). This configuration
does not change often, and it is recommended to cache the result and
revalidate only if issues emerge around the reservation payment methods. |
getPaymentMethodsLOV
GET {{HostName}}/lov/v1/listOfValues/hotels/{{HotelId}}/paymentMethods?includeInactiveFlag=false
200 Response:
{
"listOfValues": {
"items": [
{
"flexfields": [
{
"parameterName": "CardType",
"parameterValue": "CP"
},
{
"parameterName": "ChipPinYN",
"parameterValue": "Y"
},
{
"parameterName": "ResvPaymentYN",
"parameterValue": "Y"
},
{
"parameterName": "BillingPaymentYN",
"parameterValue": "Y"
},
{
"parameterName": "DepositPaymentYN",
"parameterValue": "Y"
},
{
"parameterName": "ARPaymentYN",
"parameterValue": "Y"
},
{
"parameterName": "CompPaymentYN",
"parameterValue": "N"
},
{
"parameterName": "CheckPaymentYN",
"parameterValue": "N"
},
{
"parameterName": "CashPaymentYN",
"parameterValue": "N"
},
{
"parameterName": "DirectBillYN",
"parameterValue": "N"
},
{
"parameterName": "TrxCode",
"parameterValue": "CP"
},
{
"parameterName": "AuthDuringStayYN",
"parameterValue": "Y"
},
{
"parameterName": "AuthAtCheckinYN",
"parameterValue": "Y"
},
{
"parameterName": "PostAllowedYN",
"parameterValue": "N"
},
{
"parameterName": "RoundFactorYn",
"parameterValue": "N"
},
{
"parameterName": "GuestLedgerDepositsYn",
"parameterValue": "N"
},
{
"parameterName": "DepositFoliosYn",
"parameterValue": "N"
},
{
"parameterName": "DepositReceiptsYn",
"parameterValue": "N"
},
{
"parameterName": "AuthStlmtAtCheckOutYn",
"parameterValue": "N"
},
{
"parameterName": "FiscalPaymentPayloadEligibilityYn",
"parameterValue": "N"
}
],
"code": "CP",
"name": "Chip and Pin",
"description": "Chip and Pin",
"active": true
},
{
"flexfields": [
{
"parameterName": "CardType"
},
{
"parameterName": "ChipPinYN",
"parameterValue": "N"
},
{
"parameterName": "ResvPaymentYN",
"parameterValue": "Y"
},
{
"parameterName": "BillingPaymentYN",
"parameterValue": "Y"
},
{
"parameterName": "DepositPaymentYN",
"parameterValue": "Y"
},
{
"parameterName": "ARPaymentYN",
"parameterValue": "N"
},
{
"parameterName": "CompPaymentYN",
"parameterValue": "N"
},
{
"parameterName": "CheckPaymentYN",
"parameterValue": "N"
},
{
"parameterName": "CashPaymentYN",
"parameterValue": "Y"
},
{
"parameterName": "DirectBillYN",
"parameterValue": "N"
},
{
"parameterName": "TrxCode",
"parameterValue": "9000"
},
{
"parameterName": "AuthDuringStayYN",
"parameterValue": "N"
},
{
"parameterName": "AuthAtCheckinYN",
"parameterValue": "N"
},
{
"parameterName": "PostAllowedYN",
"parameterValue": "N"
},
{
"parameterName": "RoundFactorYn",
"parameterValue": "Y"
},
{
"parameterName": "GuestLedgerDepositsYn",
"parameterValue": "N"
},
{
"parameterName": "DepositFoliosYn",
"parameterValue": "N"
},
{
"parameterName": "DepositReceiptsYn",
"parameterValue": "N"
},
{
"parameterName": "AuthStlmtAtCheckOutYn",
"parameterValue": "N"
},
{
"parameterName": "FiscalPaymentPayloadEligibilityYn",
"parameterValue": "N"
}
],
"code": "CA",
"name": "Cash",
"description": "Cash",
"active": true
},
{
"flexfields": [
{
"parameterName": "CardType",
"parameterValue": "AX"
},
{
"parameterName": "ChipPinYN",
"parameterValue": "Y"
},
{
"parameterName": "ResvPaymentYN",
"parameterValue": "Y"
},
{
"parameterName": "BillingPaymentYN",
"parameterValue": "Y"
},
{
"parameterName": "DepositPaymentYN",
"parameterValue": "Y"
},
{
"parameterName": "ARPaymentYN",
"parameterValue": "Y"
},
{
"parameterName": "CompPaymentYN",
"parameterValue": "N"
},
{
"parameterName": "CheckPaymentYN",
"parameterValue": "N"
},
{
"parameterName": "CashPaymentYN",
"parameterValue": "N"
},
{
"parameterName": "DirectBillYN",
"parameterValue": "N"
},
{
"parameterName": "TrxCode",
"parameterValue": "90025"
},
{
"parameterName": "AuthDuringStayYN",
"parameterValue": "Y"
},
{
"parameterName": "AuthAtCheckinYN",
"parameterValue": "Y"
},
{
"parameterName": "PostAllowedYN",
"parameterValue": "Y"
},
{
"parameterName": "RoundFactorYn",
"parameterValue": "N"
},
{
"parameterName": "GuestLedgerDepositsYn",
"parameterValue": "N"
},
{
"parameterName": "DepositFoliosYn",
"parameterValue": "N"
},
{
"parameterName": "DepositReceiptsYn",
"parameterValue": "N"
},
{
"parameterName": "AuthStlmtAtCheckOutYn",
"parameterValue": "N"
},
{
"parameterName": "FiscalPaymentPayloadEligibilityYn",
"parameterValue": "N"
}
],
"code": "AX",
"name": "AMEX",
"description": "American Express",
"active": true
},
{
"flexfields": [
{
"parameterName": "CardType"
},
{
"parameterName": "ChipPinYN",
"parameterValue": "N"
},
{
"parameterName": "ResvPaymentYN",
"parameterValue": "Y"
},
{
"parameterName": "BillingPaymentYN",
"parameterValue": "Y"
},
{
"parameterName": "DepositPaymentYN",
"parameterValue": "N"
},
{
"parameterName": "ARPaymentYN",
"parameterValue": "Y"
},
{
"parameterName": "CompPaymentYN",
"parameterValue": "N"
},
{
"parameterName": "CheckPaymentYN",
"parameterValue": "N"
},
{
"parameterName": "CashPaymentYN",
"parameterValue": "N"
},
{
"parameterName": "DirectBillYN",
"parameterValue": "Y"
},
{
"parameterName": "TrxCode",
"parameterValue": "96674"
},
{
"parameterName": "AuthDuringStayYN",
"parameterValue": "N"
},
{
"parameterName": "AuthAtCheckinYN",
"parameterValue": "N"
},
{
"parameterName": "PostAllowedYN",
"parameterValue": "Y"
},
{
"parameterName": "RoundFactorYn",
"parameterValue": "N"
},
{
"parameterName": "GuestLedgerDepositsYn",
"parameterValue": "N"
},
{
"parameterName": "DepositFoliosYn",
"parameterValue": "N"
},
{
"parameterName": "DepositReceiptsYn",
"parameterValue": "N"
},
{
"parameterName": "AuthStlmtAtCheckOutYn",
"parameterValue": "N"
},
{
"parameterName": "FiscalPaymentPayloadEligibilityYn",
"parameterValue": "N"
}
],
"code": "DB",
"name": "Direct Bill",
"description": "Direct Bill",
"active": true
},
{
"flexfields": [
{
"parameterName": "CardType",
"parameterValue": "DS"
},
{
"parameterName": "ChipPinYN",
"parameterValue": "Y"
},
{
"parameterName": "ResvPaymentYN",
"parameterValue": "Y"
},
{
"parameterName": "BillingPaymentYN",
"parameterValue": "Y"
},
{
"parameterName": "DepositPaymentYN",
"parameterValue": "Y"
},
{
"parameterName": "ARPaymentYN",
"parameterValue": "N"
},
{
"parameterName": "CompPaymentYN",
"parameterValue": "N"
},
{
"parameterName": "CheckPaymentYN",
"parameterValue": "N"
},
{
"parameterName": "CashPaymentYN",
"parameterValue": "N"
},
{
"parameterName": "DirectBillYN",
"parameterValue": "N"
},
{
"parameterName": "TrxCode",
"parameterValue": "90004"
},
{
"parameterName": "AuthDuringStayYN",
"parameterValue": "Y"
},
{
"parameterName": "AuthAtCheckinYN",
"parameterValue": "Y"
},
{
"parameterName": "PostAllowedYN",
"parameterValue": "N"
},
{
"parameterName": "RoundFactorYn",
"parameterValue": "N"
},
{
"parameterName": "GuestLedgerDepositsYn",
"parameterValue": "N"
},
{
"parameterName": "DepositFoliosYn",
"parameterValue": "N"
},
{
"parameterName": "DepositReceiptsYn",
"parameterValue": "N"
},
{
"parameterName": "AuthStlmtAtCheckOutYn",
"parameterValue": "N"
},
{
"parameterName": "FiscalPaymentPayloadEligibilityYn",
"parameterValue": "N"
}
],
"code": "DS",
"name": "Discover",
"description": "Discover",
"active": true
},
{
"flexfields": [
{
"parameterName": "CardType",
"parameterValue": "DC"
},
{
"parameterName": "ChipPinYN",
"parameterValue": "N"
},
{
"parameterName": "ResvPaymentYN",
"parameterValue": "Y"
},
{
"parameterName": "BillingPaymentYN",
"parameterValue": "Y"
},
{
"parameterName": "DepositPaymentYN",
"parameterValue": "Y"
},
{
"parameterName": "ARPaymentYN",
"parameterValue": "N"
},
{
"parameterName": "CompPaymentYN",
"parameterValue": "N"
},
{
"parameterName": "CheckPaymentYN",
"parameterValue": "N"
},
{
"parameterName": "CashPaymentYN",
"parameterValue": "N"
},
{
"parameterName": "DirectBillYN",
"parameterValue": "N"
},
{
"parameterName": "TrxCode",
"parameterValue": "90005"
},
{
"parameterName": "AuthDuringStayYN",
"parameterValue": "Y"
},
{
"parameterName": "AuthAtCheckinYN",
"parameterValue": "Y"
},
{
"parameterName": "PostAllowedYN",
"parameterValue": "N"
},
{
"parameterName": "RoundFactorYn",
"parameterValue": "N"
},
{
"parameterName": "GuestLedgerDepositsYn",
"parameterValue": "N"
},
{
"parameterName": "DepositFoliosYn",
"parameterValue": "N"
},
{
"parameterName": "DepositReceiptsYn",
"parameterValue": "N"
},
{
"parameterName": "AuthStlmtAtCheckOutYn",
"parameterValue": "N"
},
{
"parameterName": "FiscalPaymentPayloadEligibilityYn",
"parameterValue": "N"
}
],
"code": "DC",
"name": "Diner Club",
"description": "Diner Club",
"active": true
},
{
"flexfields": [
{
"parameterName": "CardType",
"parameterValue": "VA"
},
{
"parameterName": "ChipPinYN",
"parameterValue": "Y"
},
{
"parameterName": "ResvPaymentYN",
"parameterValue": "Y"
},
{
"parameterName": "BillingPaymentYN",
"parameterValue": "Y"
},
{
"parameterName": "DepositPaymentYN",
"parameterValue": "Y"
},
{
"parameterName": "ARPaymentYN",
"parameterValue": "N"
},
{
"parameterName": "CompPaymentYN",
"parameterValue": "N"
},
{
"parameterName": "CheckPaymentYN",
"parameterValue": "N"
},
{
"parameterName": "CashPaymentYN",
"parameterValue": "N"
},
{
"parameterName": "DirectBillYN",
"parameterValue": "N"
},
{
"parameterName": "TrxCode",
"parameterValue": "90002"
},
{
"parameterName": "AuthDuringStayYN",
"parameterValue": "Y"
},
{
"parameterName": "AuthAtCheckinYN",
"parameterValue": "Y"
},
{
"parameterName": "PostAllowedYN",
"parameterValue": "Y"
},
{
"parameterName": "RoundFactorYn",
"parameterValue": "N"
},
{
"parameterName": "GuestLedgerDepositsYn",
"parameterValue": "N"
},
{
"parameterName": "DepositFoliosYn",
"parameterValue": "N"
},
{
"parameterName": "DepositReceiptsYn",
"parameterValue": "N"
},
{
"parameterName": "AuthStlmtAtCheckOutYn",
"parameterValue": "N"
},
{
"parameterName": "FiscalPaymentPayloadEligibilityYn",
"parameterValue": "N"
}
],
"code": "VA",
"name": "VISA",
"description": "VISA",
"active": true
},
{
"flexfields": [
{
"parameterName": "CardType",
"parameterValue": "MC"
},
{
"parameterName": "ChipPinYN",
"parameterValue": "Y"
},
{
"parameterName": "ResvPaymentYN",
"parameterValue": "Y"
},
{
"parameterName": "BillingPaymentYN",
"parameterValue": "Y"
},
{
"parameterName": "DepositPaymentYN",
"parameterValue": "Y"
},
{
"parameterName": "ARPaymentYN",
"parameterValue": "N"
},
{
"parameterName": "CompPaymentYN",
"parameterValue": "N"
},
{
"parameterName": "CheckPaymentYN",
"parameterValue": "N"
},
{
"parameterName": "CashPaymentYN",
"parameterValue": "N"
},
{
"parameterName": "DirectBillYN",
"parameterValue": "N"
},
{
"parameterName": "TrxCode",
"parameterValue": "90001"
},
{
"parameterName": "AuthDuringStayYN",
"parameterValue": "Y"
},
{
"parameterName": "AuthAtCheckinYN",
"parameterValue": "Y"
},
{
"parameterName": "PostAllowedYN",
"parameterValue": "Y"
},
{
"parameterName": "RoundFactorYn",
"parameterValue": "N"
},
{
"parameterName": "GuestLedgerDepositsYn",
"parameterValue": "N"
},
{
"parameterName": "DepositFoliosYn",
"parameterValue": "N"
},
{
"parameterName": "DepositReceiptsYn",
"parameterValue": "N"
},
{
"parameterName": "AuthStlmtAtCheckOutYn",
"parameterValue": "N"
},
{
"parameterName": "FiscalPaymentPayloadEligibilityYn",
"parameterValue": "N"
}
],
"code": "MC",
"name": "Master Card",
"description": "Master Card",
"active": true
}
],
"lovName": "PaymentMethods",
"itemCount": 8
}
}
|
5 |
Partner posts the completed reservation
to the hotelId with the required reservationPaymentMethods defined
in the post Reservation.
When there is no active
OPI at a property, clear text credit card numbers can be sent in the
Post Reservation, and they will be accepted/handled. The data is secured
with the protocol layer and card number is stored encrypted according
to PCI compliance.
The Post Reservation contains
“reservationPaymentMethods” including the following:
- ‘cardNumber’ — The actual Credit Card Number.
- ‘cardOrToken’ — The add the value ‘cardNumber’ to indicate a cardNumber
exists.
In the sample Request Body provided here,
the result is the following:
- The VISA payment method is added to the reservation in OPERA Cloud.
Within the UI, the "1111" displays for all (as the card’s last 4 digits).
- Should the OPERA Cloud user have the ‘Sensitive Data Role’ assigned,
they have the ability to view the complete card number in OPERA Cloud.
- Financial transactions are carried out with the credit card number
on the reservation.
When OPI is active at the property, tokens
are to be sent in the Post Reservation. If credit card numbers are
defined, they are stripped from the reservation.
The Post Reservation contains the “reservationPaymentMethods”
including the following:
- ‘cardNumber’ — Set as the token value (retrieved from the PSP
directly or through OPI Cloud).
- cardNumberMasked – 12 XXXs and the last 4 of the actual card number.
- ‘cardOrToken’ — Set as ‘Token’ to identify the cardNumber is a
token.
In the sample Request Body provided here,
the result is the following:
- The AMEX payment method is added to the reservation in OPERA Cloud.
Within the UI, the "1007" displays for all (as the card’s last 4 digits).
- Should OPERA Cloud users have the ‘Sensitive Data Role’ assigned,
they have the ability to view the complete Token in OPERA Cloud.
- Financial transactions are carried out with the Token on the reservation.
|
postReservation
POST {{HostName}}/rsv/v1/hotels/{{HotelId}}/reservations
Request Body when OPI in not active and credit
card number is in use:
{
"reservations": {
"reservation": {
"reservationGuests": {
"profileInfo": {
"profileIdList": {
"id": "{{ProfileId}}",
"type": "Profile"
}
}
},
"reservationPaymentMethods": {
"paymentCard": {
"cardHolderName": "Test CC Number",
"cardType": "VA",
"cardNumber": "4444333322221111",
"expirationDate": "2029-12-31",
"cardOrToken": "CardNumber"
},
"folioView": 1,
"paymentMethod": "VA"
},
"markAsRecentlyAccessed": true,
"hotelId": "{{HotelId}}",
"reservationStatus": "Reserved",
"roomStay": {
"guarantee": {
"onHold": false,
"guaranteeCode": "6PM"
},
"roomRates": {
"sourceCode": "CAT",
"numberOfUnits": 1,
"rates": {
"rate": {
"start": "2024-05-01",
"end": "2024-10-30",
"base": {
"amountBeforeTax": 150,
"currencyCode": "USD"
}
}
},
"start": "2024-09-11",
"marketCode": "CORP",
"end": "2024-09-12",
"roomTypeCharged": "STDQ",
"ratePlanCode": "IHUBASE1",
"roomType": "STDQ",
"pseudoRoom": false
},
"guestCounts": {
"children": 0,
"adults": 2
},
"departureDate": "2024-09-12",
"arrivalDate": "2024-09-11"
}
}
}
}
Request Body when OPI is active and token is in
use:
{
"reservations": {
"reservation": {
"reservationGuests": {
"profileInfo": {
"profileIdList": {
"id": "{{ProfileId}}",
"type": "Profile"
}
}
},
"reservationPaymentMethods": {
"paymentCard": {
"cardHolderName": "Test Token",
"cardType": "AX",
"cardNumberMasked": "XXXXXXXXXXXX1007",
"cardNumber": "853230000012007",
"expirationDate": "2029-12-31",
"cardOrToken": "Token"
},
"folioView": 1,
"paymentMethod": "AX"
},
"markAsRecentlyAccessed": true,
"hotelId": "{{HotelId}}",
"reservationStatus": "Reserved",
"roomStay": {
"guarantee": {
"onHold": false,
"guaranteeCode": "6PM"
},
"roomRates": {
"sourceCode": "CAT",
"numberOfUnits": 1,
"rates": {
"rate": {
"start": "2024-05-01",
"end": "2024-10-30",
"base": {
"amountBeforeTax": 150,
"currencyCode": "USD"
}
}
},
"start": "2024-09-11",
"marketCode": "CORP",
"end": "2024-09-12",
"roomTypeCharged": "STDQ",
"ratePlanCode": "IHUBASE1",
"roomType": "STDQ",
"pseudoRoom": false
},
"guestCounts": {
"children": 0,
"adults": 2
},
"departureDate": "2024-09-12",
"arrivalDate": "2024-09-11"
}
}
}
}
|