Launch Requirements - B2C Standalone
Disclaimer: The requirements below are not final and may be changed, removed, or expanded in the future.
1. General Requirements
1.1 Affiliate must not hold themselves to be the supplier of the hotel
In any description of your business wherever it resides - your integration, related websites, marketing material, etc. - you must not claim or suggest that you are the supplier of any EAN property.
This includes suggestions of property exclusivity (e.g. "our unique collection of hotels") or price exclusivity (e.g. "the lowest prices on the web").
Your brand's association with EAN properties must clearly remain as a marketer of EAN properties, not a supplier.
1.2 No use of Expedia or EAN names or logos
None of the Expedia or EAN names or logos may be used on affiliate sites for any purpose. Any exceptions must be approved by legal and relevant groups within Expedia, with approval attached to the affiliate launch record. |
Example
![]() |
1.3 Affiliate is providing name of actual traveller in the booking
EAN bookings must always be submitted with the name of the actual traveller booking the reservation. This means that in your booking request body, the values for |
|
Code Sample
|
Example![]() |
1.4 Links to the EAN booking Terms & Conditions URL to be displayed in the Affiliates Terms and Conditions
You must provide a link to the EAN Terms and Conditions within your site's own Terms and Conditions text. Place the following linkin an easy-to-find location, such as top of your own Terms and Conditions page: http://developer.ean.com/terms/en/ |
Example![]() |
1.5 No change to pricing or booking conditions that are returned from the API
You may not modify any price- or booking-related values that describe factual aspects of costs of stay, the property and its amenities. This also includes omitting or obscuring any part of such data.
Changes that do not affect the meaning of the contained language are acceptable, e.g. changing "swimming pool" to "pool," "wireless internet" to "WiFi."
Do not attempt to provide additional information than what is provided in the response. EAN cannot be held responsible for disputes resulting from inappropriate affiliate modifications or additions to API data.
1.6 Customer support numbers to be clearly displayed, including links to online customer service tools
Clearly display EAN's support number, or your own if you are not relying on EAN's customer support centers. You must also provide links to online customer service tools to allow customers to retrieve and review their own bookings.
ExamplesCustomer service number and self-service tools presented in top menu/header area

1.7 Proper use and display regarding credit card regulations
Affiliates must follow PCI (Payment Card Industry) regulations when requesting, handling, and storing customer credit card data. A complete reference for these regulations is available at the official PCI Security Standards web site.
To assist with the PCI rules most critical to your integration, EAN provides a targeted guide for partners: https://rapid.ean.com/reference/credit-card-guide
By following the above guide, you will ensure that:
- CSV is required on all booking requests
- Card number truncation requirements met for display and storage
- SSL used on all booking-related pages
- Brand parity requirements met
1.8 Evidence of PCI compliance supplied for applicable partners
Where EAN is Merchant of Record, evidence of PCI compliance, such as an an Attestation of Compliance (AOC), must be supplied.
EAN Affiliates must use the PCI Security Standards Council's Self-Assessment Questionnaire file "SAQ D - Merchants" to produce the proper AOC.
You can review the instructions and guidelines for SAQs and find the "SAQ D - Merchants" file on the official PCI Security Standards Document Library, or download the SAQ D - Merchants file directly as a PDF or Word document.
1.9 Completed TripAdvisor agreement is provided for any TripAdvisor content usage
If you intend to consume the TripAdvisor content available in the EAN API, you must agree to comply with TripAdvisor’s guidelines to be authorized access.
This agreement must be provided via email to support@ean.com, or in writing, at the time of requesting approval to launch, or any time after going live. TripAdvisor hold the right to withhold/remove access to the TripAdvisor content, even after authorization is approved, at any time.
2. Search Page
2.1 Where affiliate allows children to be included in bookings, proper messaging and input of child ages is implemented
If your integration permits child guests, you must offer the ability to specify child guests and their ages separately from adult guests for all Expedia Collect properties. This information is provided via the When customers specify child guests, the API response may contain age restrictions and/or extra occupancy or crib charges that may affect the cost or eligibility of the booking. These items must be clearly messaged to customers during shopping and before checkout. Each hotel configures what age range they classify as a child. Typically individuals aged 17 or younger are considered children. Some properties do not allow guests under age 18. |
|
Code Sample |
Example![]() |
3. Hotel List Results Page
3.1 If a tax and fee breakdown is provided, individual charges must be clearly displayed
Providing a breakdown of charges is optional for the hotel list results page. If you choose to display additional charges along with the nightly rates, you will need to display all taxes and fees as returned by the |
|
Code Sample |
![]() |
4. Hotel/Room Availability
4.1 Taxes and Fees are clearly stated as a separate line item
When a price breakdown is provided on the room availability page, the value returned for tax_and_service_fee
must be displayed separately for all tax references.
This display must include the exact text below, as it is legally required for all Expedia Collect inventory when referring to any "taxes and fees" totals. Base your display on the point of supply of the hotel, not the customer's location.
- Europe: "Tax Recovery Charges"
- All Other Regions: "Tax Recovery Charges and Service Fees"

4.2 Sales tax values are reported separately when applicable
When providing a charge breakdown on the room availability page, |
4.3 Bed type descriptions are present on each room
Shop responses may return the When the You must also display messaging to the traveller that choices between multiple bed types for the same room are requests only and may not be honored at the hotel if availability does not permit. |
|
Code Sample Example Shop Response - Single Bed Option "bed_groups": [ { "links": { "price_check": { "method": "GET", "href": "/2/properties/availability/19248/rooms/abc123/rates/abc123/price-check?token=MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m" } }, "configuration": [ { "type": "Bed", "size": "Queen", "count": 1 } ] } ], |
4.4 Check-in instructions displayed
The contents of |
|
Code Sample |
4.5 Non-refundable policies are clearly visible
Non-refundable availabilities are indicated by When |
|
Code Sample |
4.6 Affiliate is displaying the contents of special_instructions when returned
The contents of the checkin object's |
Code Sample
|
5. Booking Page
5.1 SSL encryption is present for sensitive data
When sending or transmitting sensitive data, you must use SSL encryption. Sensitive data includes guest names, phone numbers or emails, payment card details, and booking/itinerary receipts and confirmation pages.
If the customer's browser does not employ a secure connection to send or receive this information, SSL is not properly incorporated .
Example
A valid SSL certificate as viewed in a browser

5.2 Clear breakdown of charges must be provided
A breakdown of charges is required for your booking pages. The breakdown must clearly provide individual charges in full as they are returned by the |
|
Code Sample |
Example![]() |
5.3 Taxes and Fees are clearly stated as a separate line item
The value returned for tax_and_service_fee
must be displayed separately for all tax references and/or where a price breakdown is provided on your booking form(s).
The exact text below is legally required on your site for all Expedia Collect inventory when referring to any "taxes and fees" totals within a price breakdown. Base your display on the point of supply of the hotel, not the customer's location.
- Europe: "Tax Recovery Charges"
- All Other Regions: "Tax Recovery Charges and Service Fees"
5.4 Total price charged is clearly displayed
Example

5.5 Affiliate service or booking fees must be clearly separated
If you will charge your own booking or service fee, it must be clear to the customer that the fee is levied by you, the affiliate, and not EAN for a separate service (i.e. not a further charge for the provision of accommodation). Fees may not be included inside of existing fee breakdowns.
Affiliate booking or service fees may not be bundled into the price and must be broken out separately.
Example:
The example room below has a tax and service fee total of 27.09 euros. In the incorrect example, the partner service fee has been rolled into the EAN fee total. The correct example provides the partner service fee separately and clearly identifies its source.
5.6 City/Mandatory tax values must be reported separately
When a mandatory_tax
value returns, return this value separately in your charge breakdowns as an additional charge due at the hotel. These charges are collected directly by the hotel and are not part of standard tax recovery charges.
5.7 Sales tax values are reported separately when applicable
When |
5.8 Check-in instructions displayed
The contents of |
|
Code Sample |
5.9 Affiliate is providing customer email address OR monitored email mailbox with each booking request
The email
element within BillingContact
must contain the customer's email address OR the mailbox your integration monitors for confirmation email handling. This ensures the destination of all EAN-generated emails is always known, which is required for cases of booking disputes or troubleshooting.
5.10 Pre-Pay booking to state payment is taken in full
Booking pages for Expedia Collect availabilities must state that the credit card provided will be charged immediately for the full amount of the reservation. Confirmation pages for Expedia Collect bookings must state that payment was made for the full amount of the reservation.
Example
5.11 If applicable, child ages must be clearly stated
If your integration permits child guests and the customer specified child guests for their room selection, you must clearly confirm the number of child guests and their ages on your booking pages for all Expedia Collect properties. This information is provided via the child_ages
element
.
When customers specify child guests, the API response may contain age restrictions and/or extra occupancy or crib charges that may affect the cost or eligibility of the booking. These items must be clearly messaged to customers before checkout.
Each hotel configures what age range they classify as a child. Typically individuals aged 17 or younger are considered children. Some properties do not allow guests under age 18.
Example
5.12 Non-refundable policies are clearly visible
Non-refundable availabilities are indicated by refundable=<strong>false</strong>
. This value always takes precedence over any differing policy data. Clearly state such rooms are non-refundable on room selection pages and reiterate the non-refundable policy on your final booking page. These reservations are not refunded by the property under any circumstances.
5.13 Cancellation policy clearly displayed
Before allowing customers to confirm their purchase on your final booking page, you must provide the cancellation policy for the selected room or rooms and require customers to accept the policy.
Customers must not be allowed to book without agreeing to the room's specific cancellation policy.
Cancellation policies must always be obtained from live shopping responses via the cancel_penalties
array.
It is acceptable to include this agreement as part of the customer's acceptance of your own terms & conditions, e.g. "By [selecting this checkbox/continuing with the booking/etc], you agree you have read and accepted our Terms and Conditions as well as the cancellation policy for your selected room."
Example
5.14 Telephone number to be included in each booking request
The booking must include a viable contact number for the customer. Include this number in your booking request's phone
field within the BillingContact
object. Inform customers that this number will be used to contact them in the event a problem needs to be resolved with their reservation ahead of check-in time.
Example
5.15 Affiliate is displaying the contents of special_instructions when returned
The contents of the checkin object's |
Code Sample
|
5.16 EAN MoR – Payment processing location displayed on checkout pages
Where EAN are Merchant of Record for transactions, the country where the payment will be processed must be displayed in a prominent place on the checkout page. The phrase “This payment will be processed in” must be inserted before the country name. Use the Payment Options function of the Shopping API to retrieve this information. |
Code Sample
{ "affiliate_collect": { "name": "Affiliate Collect" }, "credit_card": { "name": "Credit Card", "card_options": [ { "name": "AmericanExpress", "card_type": "AX" }, { "name": "MasterCard", "card_type": "CA", "processing_country": "US" } ] } } |
6. Confirmation Page
6.1 Total price charged is clearly displayed
Example

7. Confirmation Email/Voucher
7.1 Clear breakdown of charges is provided in confirmation emails
The emails/vouchers you send to customers must provide a charge breakdown.
7.2 Taxes and Fees are clearly stated as a separate line item
The value returned for tax_and_service_fee
must be displayed separately for all tax references and/or where a price breakdown is given, such as room availability, booking form and confirmation results for Expedia Collect properties.
The exact text below is legally required on your site for all Expedia Collect inventory when referring to any "taxes and fees" totals. Base your display on the point of supply of the hotel, not the customer's location.
- Europe: "Tax Recovery Charges"
- All Other Regions: "Tax Recovery Charges and Service Fees"
7.3 Affiliate service or booking fees must be clearly separated
If you will charge your own booking or service fee, it must be clear to the customer that the fee is levied by you, the affiliate, and not EAN for a separate service (i.e. not a further charge for the provision of accommodation). Fees may not be included inside of existing fee breakdowns.
Affiliate booking or service fees may not be bundled into the price and must be broken out separately.
Example:
The example room below has a tax and service fee total of 27.09 euros. In the incorrect example, the partner service fee has been rolled into the EAN fee total. The correct example provides the partner service fee separately and clearly identifies its source.
7.4 City/Mandatory tax values must be reported separately
If a mandatory_tax
value returned earlier for the property to be booked, return this value separately in your pre-book price breakdown. These charges are collected directly by the hotel and are not part of standard tax recovery charges.
7.5 Travelscape LLC or Vacationspot, SL stated as the Supplier
You must clearly identify the supplier of the hotel as either Travelscape LLC or Vacationspot, SL, according to the hotel's point of sale as follows:
- Vacationspot: Applicable for all French and Belgium Points of Sale (PoSa), e.g. French: Mytravel.fr or Belgium: Mytravel.be
- Travelscape: Applicable for all other PoSa.
7.6 Bed type descriptions are present on each room
Confirm the customer's selected bed types in your confirmation email/voucher. Shop responses may return the Display the customer’s selected bed type as defined in the You must also display messaging to the traveller that choices between multiple bed types for the same room are requests only and may not be honored at the hotel if availability does not permit. |
|
Code Sample Example Shop Response - Single Bed Option "bed_groups": [ { "links": { "price_check": { "method": "GET", "href": "/2/properties/availability/19248/rooms/abc123/rates/abc123/price-check?token=MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m" } }, "configuration": [ { "type": "Bed", "size": "Queen", "count": 1 } ] } ], |
7.7 Check-in instructions displayed
The contents of REST … "checkin": { "begin_time": "3:00 PM", "end_time": "11:00 PM", "instructions": "Extra-person charges may apply and vary depending on hotel policy. Government-issued photo identification and a credit card or cash deposit are required at check-in for incidental charges. Special requests are subject to availability upon check-in and may incur additional charges. Special requests cannot be guaranteed. ", "min_age": 18 }, …… |
7.8 Itinerary IDs displayed properly
If your integration will provide EAN's itinerary_id directly to customers, you must clearly display this number on your confirmation email. You must include the itinerary retrieval link directly in your confirmation emails.
If applicable, you must provide evidence that your agents have access to the original EAN itinerary IDs should they require assistance from EAN customer support.Code Sample REST … { "itinerary_id": 8999989898988, "property_id": 8150374, "links": { "cancel": { "method": "DELETE", "href": "/2/itineraries/8999989898988?token=MY5S3j36cOcLfLBZjPYQ1abhfc8CqmjmFVzkk7euvWaunE57LLeDgaxm516m" } }, …… |
7.9 Affiliate is displaying the contents of special_instructions when returned
The contents of the checkin object's special_instructions field must be displayed for each room when returned in the property content definition.
This field may include information critical for check-in that is not included in the checkin object's instructions
field, such as a requirement to notify the property of expected arrival
time, check-in at a different location from the guest building, or an
alert to expect special check-in instructions from the property via
email.
Display this information in the same area as the primary check-in instructions. |
Code Sample
REST
"checkin": { "begin_time": "3:00 PM", "end_time": "11:00 PM", "instructions": "Extra-person charges may apply and vary depending on hotel policy. Government-issued photo identification and a credit card or cash deposit are required at check-in for incidental charges. Special requests are subject to availability upon check-in and may incur additional charges. Special requests cannot be guaranteed.", "special_instructions": "There is no front desk at this property. To make arrangements for check-in please contact the property ahead of time using the information on the booking confirmation.", "min_age": 18 }, |
8. Technical & Fraud Prevention Requirements
8.1 Affiliate is providing unique Affiliate Confirmation ID with each booking request
For every booking request, you must use the affiliateConfirmationId element, with the intent of:
- Your own tracking
- Preventing duplicate bookings/duplicate charges from multiple form submissions
- Checking EAN systems for an itinerary if the reservation timed out or returned an empty result due to upstream timeouts.
8.2 Affiliate is providing session ID with each request
You must send the Customer-Session-Id
for each customer, beginning with their first property search, to ensure the content returned is consistent throughout API calls and your customers have a consistent experience from shopping to booking.
This value greatly eases EAN's internal debugging process for issues with partner requests, as it explicitly links together request paths for individual customers.
8.3 Affiliate is providing customer IP address each request
The customer's device IP address must be passed in all API calls to identify the point of sale.
This requirement ensures the correct POS is set within EAN's systems to provide customers with relevant content and the most suitable rates based on their location.
Passing static, dummy, or server IPs will cause price mismatch errors and incorrect content to return.