Hotel Loyalty Programs

Common:LoyaltyCard

A request can be modified to include a Loyalty Program identifier, also known as a Frequent Traveler or Frequent Guest identifier.

This identifier may return lower rates specifically designated for loyalty program members. A Loyalty Program can be sponsored by a specific hotel chain or by an affiliated travel organization, such as an Airline Loyalty Program with affiliated hotel rewards. Loyalty Programs may also provide privileges not associated to room rates; for example, VIP members for a loyalty program may be able to reserve rooms at a hotel property that is sold out and listed as unavailable.

Loyalty Card information can be added using a Traveler Profile. For some transactions and providers, Loyalty Cards information can also be entered directly into the request.

Implementation by Provider

See Implemented Transactions for provider functionality specific to each transaction.

Provider

Implementation

Galileo (1G) Supports up to four loyalty cards per booking traveler.
Apollo (1V) Supports up to four loyalty cards per booking traveler.
Worldspan (1P) Supports up to four loyalty cards per booking traveler. Available functionality varies by transaction.

Request

The minimum required data for loyalty cards in hotel requests is:

Chain code requirements vary by hotel supplier, but are always required in Universal API because supplier codes may be required for other types of loyalty programs. As of Release 8.0 (Hotel v29.0), a A default "$$" value is programmatically added by Universal API for LoyaltyCard @SupplierCode if a value is not sent in the request. However, this must be modified to “XX” for Worldspan (1P). See @SupplierCode for details.

Schema

The LoyaltyCard element is used to provide frequent traveler program information.

Note that the LoyaltyCard element is also use by Air, Vehicle, and types of travel segments. Information in this topic pertains only to LoyaltyCard usage for hotels.

 

Element/Attribute Description
LoyaltyCard Provides loyalty program identifier information.
@Key A value for @Key can be included in a request or is automatically assigned when a PNR is imported. The key that is sent in the request is returned in the response. If no value is provided in @Key in the request, a UUID is generated in the Universal API response.
@SupplierCode

Identifies the hotel chain associated with the loyalty membership.

Chain code requirements vary by hotel supplier, but are always required in Universal API because supplier codes may be required for other types of loyalty programs.

  • As of Release 8.0 (Hotel v29.0), a A generic "$$" value is used for LoyaltyCard @SupplierCode if a chain code value is not sent:
  • For Galileo and Apollo, "$$" is programmatically added by Universal API.
  • For Worldspan , "XX" must be added by the client API, as "$$" returns an error.
  • If a supplier chain code is not sent in the request and is not required by the supplier, the "$$" or "XX" value is ignored and not passed to the supplier.
  • If a supplier chain code is not sent in the request, but is required by the supplier, an error is returned.
  • If the supplier change code “$$” is sent in the request for Worldspan (1P) instead of “XX” and is rejected by the supplier, an error is returned.
  • If an invalid supplier chain code is sent in the request and is rejected by the supplier, an error is returned.
  • If a supplier chain code is sent in the request, but is not required by the supplier, the hotel supplier either ignores or rejects the supplier chain code. If the supplier rejects the chain code, a warning is returned.
@AllianceLevel

Optional in responses to indicate the corresponding alliance level for an associated loyalty card number. For example: "Star Alliance Gold" or "Star Alliance Silver".

@MembershipProgram
@EIStat

Element Status (@ElStat) and Key Override (@KeyOverride) values indicate situations where keys were modified by Universal API.

@KeyOverride
@CardNumber

The Loyalty Program member's ID number or code, which is assigned by the Loyalty Program supplier. A maximum of 36 characters is allowed by the schema, but this maximum varies by provider.

@Status  
@MembershipStatus Optional in responses to indicate the corresponding program membership for an associated loyalty card number. For example: "Aeroplan".
@FreeText Optional free-text messages can be sent to the supplier.
@SupplierType

Use values "Hotel" or "Air". For applicable providers and suppliers, Frequent Flyer cross-accrual is also supported, and an "Air" value is accepted.

  • Only one Hotel Frequent Guest and/or one Air Frequent Traveler program is supported per supplier type.
  • Vehicle Frequent Traveler programs are not cross-accrued for Hotel requests.
@Level Optional in responses to indicate the corresponding program level for an associated loyalty card number. For example: "Super Elite".
@PriorityCode Used for air segments; not applicable to hotel segments. Airlines can file optional services with ATPCO that are valid for a specific loyalty card priority code. The priority code is returned by the provider if the loyalty card was validated by the supplier (carrier).
ProviderReservationSpecificInfo Identifies the PNR and product association of the Loyalty Card at the supplier level.

 

Implemented Transactions