Your EPS account
Sign in to view secure API documentation, update your account details, log support requests and much more.
Your email or password is incorrect. Please try again or reset your password.
If the issue persists please contact your EPS representative.
Reset your password
Please enter your email address below. We will send password reset instructions to the email associated with your EPS account.
Thank you
An email has been sent to your account email address with further instructions on how to reset your password.
Launch Requirements - B2C Standalone
These launch requirements apply to all EPS Rapid partners with a business-to-consumer (B2C) integration model where end customers interact with your integration directly.
The requirements have been categorized into two sections to support your integration experience best:
B2C SA Requirements
These are specific to this booking flow. Please read through these requirements carefully as these may differ from any other rate types/ booking flows you have integrated previously.
Common Requirements
These requirements are common across all booking flows. Please ensure to meet all these requirements across all flows.
Checklist
You can find a checklist to help support your development or to provide feedback on the requirements on this link. If you are going to provide screenshots for your site review please add the screenshots and corresponding logs in the checklist as this will help us to complete your review.
1. B2C SA Requirements
Booking Page
BP5 - Price Display must include the total price and breakdown of the taxes and fees
A) Total Price
The total price for the booking must be displayed to the traveler on the booking page. The total price should match the API response, with no rounding or currency conversion permitted. The final breakdown must include nightly rates (total or per-night), any additional nightly fees, all stay amounts, and a chargeable total.
B) Tax Breakdown
The value returned for tax_and_service_fee
must be displayed separately for all tax references and/or where a price breakdown is provided, this should be displayed as "Taxes and Fees". The exact text below is legally required to be displayed when referring to any "Taxes and Fees" totals within a price breakdown.
A description of “Taxes and Fees” must be provided relaying the information below. This can be displayed as a pop-up, plain text, modal, or other implementation:
“This charge includes estimated amounts the travel service provider (i.e. hotel, car rental company) pays for their taxes, and/or taxes that we pay, to taxing authorities on your booking (including but not limited to sales, occupancy, and value added tax). This amount may also include any amounts charged to us for resort fees, cleaning fees, and other fees and/or a fee we, the hotel supplier and/or the website you booked on, retain as part of the compensation for our and/or their services, which varies based on factors such as location, the amount, and how you booked. For more details, please see the Terms and Conditions.”
C) Sales Tax
When sales_tax
is returned by the nightly array, display this item separately within the charge breakdown. This item details taxes collected by local municipalities or states and must be displayed per local laws.
D) Partner Service & Booking Charges
To the extent that EG grants a waiver to permit Booking Charges, Partner service or booking charges must be clearly separated. If a partner-imposed service charge is added to the booking, it must be clear to the customer that the charge is levied by the partner, and not EPS for a separate service (i.e. not a further charge for the provision of accommodation). Charges may not be included inside of existing “Taxes and Fees” line items. Partner must not use the word “Fee” to describe any charge imposed by them. They could use “Affiliate Booking Charge" or “Affiliate Service Charge”.
CP1 - Price Display must include the total price and taxes and fees if a breakdown is provided
A) Total Price
The total price for the booking must be displayed to the traveler on the booking page. The total price should match the API response, with no rounding or currency conversion permitted. The final breakdown must include nightly rates (total or per-night), any additional nightly fees, all stay amounts, and a chargeable total.
B) Tax Breakdown
The value returned for tax_and_service_fee
must be displayed separately for all tax references and/or where a price breakdown is provided. The exact text below is legally required to be displayed when referring to any "Taxes and Fees" totals within a price breakdown.
A description of “Taxes and Fees” must be provided relaying the information below. This can be displayed as a pop-up, plain text, modal, or other implementation:
“This charge includes estimated amounts the travel service provider (i.e. hotel, car rental company) pays for their taxes, and/or taxes that we pay, to taxing authorities on your booking (including but not limited to sales, occupancy, and value added tax). This amount may also include any amounts charged to us for resort fees, cleaning fees, and other fees and/or a fee we, the hotel supplier and/or the website you booked on, retain as part of the compensation for our and/or their services, which varies based on factors such as location, the amount, and how you booked. For more details, please see the Terms and Conditions.”
C) Sales Tax
When sales_tax
is returned by the nightly array, display this item separately within the charge breakdown. This item details taxes collected by local municipalities or states and must be displayed per local laws.
D) Partner Service & Booking Charges
To the extent that EG grants a waiver to permit Booking Charges, Partner service or booking charges must be clearly separated. If a partner-imposed service charge is added to the booking, it must be clear to the customer that the charge is levied by the partner, and not EPS for a separate service (i.e. not a further charge for the provision of accommodation). Charges may not be included inside of existing “Taxes and Fees” line items. Partner must not use the word “Fee” to describe any charge imposed by them. They could use “Affiliate Booking Charge" or “Affiliate Service Charge”.
Confirmation Email
ER6 - Price Display must include the total price and breakdown of the taxes and fees
A) Total Price
The total price for the booking must be displayed to the traveler on the booking page. The total price should match the API response, with no rounding or currency conversion permitted. The final breakdown must include nightly rates (total or per-night), any additional nightly fees, all stay amounts, and a chargeable total.
B) Tax Breakdown
The value returned for tax_and_service_fee
must be displayed separately for all tax references and/or where a price breakdown is provided. The exact text below is legally required to be displayed when referring to any "Taxes and Fees" totals within a price breakdown.
A description of “Taxes and Fees” must be provided relaying the information below. This can be displayed as a pop-up, plain text, modal, or other implementation:
“This charge includes estimated amounts the travel service provider (i.e. hotel, car rental company) pays for their taxes, and/or taxes that we pay, to taxing authorities on your booking (including but not limited to sales, occupancy, and value added tax). This amount may also include any amounts charged to us for resort fees, cleaning fees, and other fees and/or a fee we, the hotel supplier and/or the website you booked on, retain as part of the compensation for our and/or their services, which varies based on factors such as location, the amount, and how you booked. For more details, please see the Terms and Conditions.”
C) Sales Tax
When sales_tax
is returned by the nightly array, display this item separately within the charge breakdown. This item details taxes collected by local municipalities or states and must be displayed per local laws.
D) Partner Service & Booking Charges
To the extent that EG grants a waiver to permit Booking Charges, Partner service or booking charges must be clearly separated. If a partner-imposed service charge is added to the booking, it must be clear to the customer that the charge is levied by the partner, and not EPS for a separate service (i.e. not a further charge for the provision of accommodation). Charges may not be included inside of existing “Taxes and Fees” line items. Partner must not use the word “Fee” to describe any charge imposed by them. They could use “Affiliate Booking Charge" or “Affiliate Service Charge”.
2. Common Requirements
The below launch requirements apply to all EPS partners across all booking flows. Additional requirements specific to each rate type, including a detailed description of price display, are provided individual rate requirement lists.
General Requirements
GR1 - No use of Expedia Group or EPS names and logos
None of the Expedia Group/ EPS names or logos may be used on any customer-facing partner sites for any purpose. Any exception (e.g. Guest Reviews) must be approved in advance by EPS and explicitly agreed in writing.
Example

GR2 - Links to the EPS Terms & Conditions URL to be displayed
Provide a link to the EPS Terms and Conditions within your site's own Terms and Conditions text or directly link to the terms from your booking page. These terms detail the policies that govern the booking. Place the following link in an easy-to-find location, using the link wording “Supplier Terms & Conditions”: The English Version can be found here: https://developer.expediapartnersolutions.com/terms/en other versions are listed on: https://support.expediapartnersolutions.com/hc/en-us/articles/360015079020

GR4 - EPS MOR - Proper use and display regarding credit card regulations
Where you obtain, use, transmit, store or process End Customer’s cardholder data, you shall comply with the PCI DSS as issued by the PCI Security Standards Council. A complete reference for these regulations is available at the official PCI Security Standards web site.
GR5 - EPS MOR or Property Collect - Evidence of PCI compliance supplied for applicable partners
Where EPS or the Property is Merchant of Record, an Attestation of Compliance (AOC), must be supplied as evidence of PCI compliance. EPS Partners 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.
Search Page
SP1 - Where affiliate allows children to be included in bookings, proper messaging and input of child ages is implemented
If your integration permits child travelers, you must offer the ability to specify the age of each child traveler. This information is provided via the occupancy
element (see code sample below).
When customers specify child travelers, the API response may contain age restrictions and/or extra occupancy or crib charges that may affect the cost or eligibility of the booking.
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 API Request
https://api.ean.com/2.4/properties/availability?checkin=2020-09-11 &checkout=2020-09-14 ¤cy=USD&language=en-US& occupancy=2-9,4 &property_id=XXXX &country_code=XX&sales_channel=XXXX &sales_environment=XXXX&filter=XXXX&rate_plan_count=XXXX &rate_option=XXXX&billing_terms=XXXX&payment_terms=XXXX &partner_point_of_sale=XXXX&platform_name=XXXX
Example API Response
"occupancies": { "2-9,4" : { "nightly": [ [
Example User Interface: 1 Room with 2 adults and 2 children aged 9 and 4

Hotel/Room Availability
AP1 - Bed type descriptions are present on each room
Shop responses may return the bed_groups
array with a single value or multiple options. Display the values contained in the configuration array to describe the customer's bed choice(s).
When the bed_groups
array returns with multiple options, display the price_check
links provided by the Shop response for each bed type to allow selection by the customer.
Messaging must be displayed to the traveler 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.
Room names are returned within the Shop response's rooms array as room_name.
Example API Response, Bed Groups:
"property_id": "11775754", "rooms": [ { "id": "230434524", "room_name": "Superior double room" , "rates": [ { ... "bed_groups": { "133243": { "id": "133243", "description": "Double bed" , "links": {...}, "configuration": [...] }, "133242": { "id": "133242", "description": "2 single beds" , "links": {...}, "configuration": [...] } },

AP2 - Non-refundable flag is clearly visible
Non-refundable availabilities are indicated byrefundable=false
in the Shop availability response. When refundable=false
is returned in an availability response, clearly label the applicable rooms. This value always takes precedence over any differing policy data. These reservations are not refunded by the property under any circumstances.
Example, Non-refundable Flag
Example API response:
"property_id": "XXXX", "rooms": "id": "XXXX", "room_name": "Fairmont King", "rates": "id": "XXXX", "status": "available", "available_rooms": 4999, "refundable": false , "deposit_required": false, "merchant_of_record": "expedia",

AP3 - Display Check-In & Special Check-in instructions
The contents of the checkin
, checkout
, fees, and policies objects must be displayed for each room as returned in the property content definition. This information must be displayed on your availability page to ensure the customer is aware of any potential fees at check-in or special access instructions.
Special Check-in 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.
Make sure to display both the instructions & special_instructions
to the traveler within the same area.
API Response Example, Special Check-in instructions:
"11775754": { "property_id": "11775754", "checkin": { "begin_time": "16:00 PM", "end_time": "4:00 AM", "instructions": "Minimum age to check in is 18 years old. Extra-person charges may apply and vary depending on property policy. Government-issued photo identification and a credit card may be 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. <ul>. ", "special_instructions": "Front desk staff will greet guests on arrival. For more details, please contact the property using the information on the booking confirmation.", "min_age": 18 "checkout": { "time": "11:00 AM" "fees": { "mandatory": "<p>You'll be asked to pay the following charges at the property:</p> <ul><li>Deposit: USD 50 per day</li> <li>Resort fee: USD 28.25 per accommodation, per night</li></ul> The resort fee includes:<ul><li>Pool access</li><li>Fitness center access</li><li>Fitness/yoga classes</li> <li>Airport shuttle</li><li>Phone calls</li><li>In-room safe</li><li>Self parking</li> <li>Valet parking</li><li>Parking</li></ul> <p>We have included all charges provided to us by the property. However, charges can vary, for example, based on length of stay or the room you book. </p>", "optional": "<p>The following fees and deposits are charged by the property at time of service, check-in, or check-out. </p> <ul> <li>Breakfast fee: between USD 6 and USD 25 per person (approximately)</li> <li>Late check-out is available for a fee (subject to availability)</li> <li>Rollaway bed fee: USD 20.0 per night</li> </ul> <p>The above list may not be comprehensive. Fees and deposits may not include tax and are subject to change. </p>" "policies": { "know_before_you_go": "<ul> <li>Up to 2 children 12 years old and younger stay free when occupying the parent or guardian's room, using existing bedding. </li> <li>The property has connecting/adjoining rooms, which are subject to availability and can be requested by contacting the property using the number on the booking confirmation. </li> </ul>"
Example Extracted Property Content:

Booking Page
BP1 - SSL encryption is present for personal data
When sending or transmitting personal data, you must use SSL encryption to secure connections between client browsers/applications and your site, as well as the network communications with dependent systems. Personal data includes guest names, phone numbers or emails, payment card details, and booking/itinerary receipts and confirmation pages. Stop or redirect the connection when it is not secured.
BP2 - Display Check-In & Special Check-in instructions
The contents of the checkin
, checkout
, fees, and policies objects must be displayed for each room as returned in the property content definition.This information must be displayed to ensure the customer is aware of any potential fees at check-in or special access instructions before they finalize their booking.
Special Check-in 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.
Make sure to display both the instructions and special_instructions
to the traveler within the same area.
BP3 - Cancellation policy & non-refundable tag clearly displayed
Before allowing customers to confirm their purchase on your final booking page, you must provide the cancellation policy/ non-refundable tag for the selected room or rooms and require customers to accept the policy.
Non-refundable rates are indicated by refundable=false
.This value always takes precedence over any differing policy data. These reservations are not refunded by the property under any circumstances.
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.
Example API Response, Cancellation policy & non-refundable flag:
"property_id": "11775754", "rooms": [ { "id": "230434524", "room_name": "Traditional Room (Partner:Connect Test)", "rates": "id": "276321199", "status": "available", "available_rooms": 4999, "refundable": true, "cancel_penalties": [ { "start": "2020-09-10T18:00:00.000-07:00", "end": "2020-09-11T18:00:00.000-07:00", "amount": "76.00", "currency": "USD"
Example, User Interface:

BP4 - Display charges due at the property separately within the price breakdown
When charges are returned in the fees array, display each value separately as a charge due at the property (check-in or check-out). These charges are collected directly by the property (not EPS or local gov'ts) and are not part of standard tax recovery charges, taxes, or fees included in the “Taxes and Fees” line.
Example API Response, Fees array:
"fees" : { "resort_fee": { "request_currency": { "value": "74.97", "currency": "USD" }, "billable_currency": { "value": "74.97", "currency": "USD" }, "scope": "per_accommodation", "frequency": "per_night" } },
Example, User Interface:

BP7 - If applicable, child ages must be reiterated
If your integration permits child travelers and the customer specified child travelers for their room selection, you must clearly confirm the number of child travelers and their ages on your booking pages. This information is provided via the occupancy
element.
BP8 - EPS MoR or Property Collect: State when payment will be taken from the end traveler
If EPS MoR, state that the credit card provided will be charged immediately for the full amount of the reservation.
If Property Collect state that the credit card provided will be charged by the property at check-in or check-out. If the property is serving a non-refundable post-pay rate, instead indicate that the customer could be charged by the property shortly after completing the booking.
BP9 - Compliance with European Economic Area Regulations: Payment Services Directive 2 (PSD2)
PSD2 Compliance is required for any partner that intends to transact with customers in the European Economic Area (EEA). Learn more here.
EPS MOR or Property Collect
If EPS is the Merchant of Record or Property Collect is used with European customers, the booking path must include the adoption of Rapid’s APIs for Two-Factor Authentication.
Affiliate MOR - General
Partners must follow the Strong Customer Authentication (SCA) requirements of the PSD2 regulations when transactions with customers are within the scope of the regulations. The complete text of the directive is available at the European Commission. Further information about the compliant standards that can be adopted is available in EMVCo’s “3-D Secure Protocol and Core Functions Specification”.
Affiliate MOR - Corporate Card or Virtual Card
Partners paying EPS with a partner-owned card, issued in a country within the EEA, must follow the requirements of PSD2 regulations. To mitigate the need for PSD2 2FA a partner could use a card that is compliant for B2B payments and is exempt from 2FA (Two-Factor Authentication).
Compliant options include:
- Single-use virtual cards
- Multi-use corporate card that is used to the company (not a person).
Example API Request for Price check:
https://api.ean.com/2.4/<Price Check link from previous availability request>
Example API Response for Price check:
{ "status": "available", "occupancy_pricing": {... }, "links": { "payment_session": { "method": "POST", "href": "/2.4/payment-sessions?token=XXXX" } } }
BP10 - EPS MoR – Payment processing location displayed on checkout pages
Where EPS is Merchant of Record, 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.
Example API Request for Payment Options:
https://api.ean.com/2.4/<payment-options link="" from="" previous="" availability="" request=""> <p><strong>Example API Response for Payment Options</strong></p> <pre>"credit_card": { "name": "Credit Card", "card_options": [ "name": "MasterCard", "processing_country": "US" "name": "Visa", "processing_country": "US"
Example User Interface:

Confirmation Email/Voucher
ER1 - Itinerary IDs displayed properly
If your integration will provide EPS's itinerary_id
directly to customers, you must clearly display this number on your confirmation email. If applicable, you must provide evidence that your agents have access to the original EPS itinerary IDs should they require assistance from EPS customer support.
ER2 - Customer support to be clearly displayed, including links to online customer service tools
Clearly display your customer support channels within the booking flow or within the confirmation email e.g Telephone Number or Live Chat. If EPS agents will be provided direct support to your customers, display the EPS support number in your booking flow.
ER3 - Bed type descriptions are present on each room
Confirm the traveler-requested bed type in your confirmation email/voucher and display messaging to the traveler 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.
Display the values contained in the configuration array to describe the customer's bed choice(s).
ER4 - Display Check-In & Special Check-in instructions
The contents of the checkin
, checkout
, fees, and policies objects must be displayed for each room as returned in the property content definition.This information must be displayed to ensure the customer is aware of any potential fees at check-in or special access instructions before they finalize their booking.
Special Check-in 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.
Make sure to display both the instructions and special_instructions
to the traveler within the same area.
ER5 - Display charges due at the property separately within the price breakdown
When charges are returned in the fees array, display each value separately as a charge due at the property (check-in or check-out). These charges are collected directly by the property (not EPS or local gov'ts) and are not part of standard tax recovery charges, taxes, or fees included in the “Taxes and Fees” line.
Technical & Sanctions Requirements
TR1 - Provide unique Affiliate Reference ID with each booking request
For every booking request, you must use the affiliate_reference_id element, with the intent of:
- Your own tracking
- Preventing duplicate bookings/duplicate charges from multiple form submissions
- Checking EPS systems for an itinerary if the reservation timed out or returned an empty result due to upstream timeouts.
{ "affiliate_reference_id": "Launch_Requirement_TR1" , "hold": false, "email": "TR4@Launch.Requirement", "phone": { "country_code": "Launch_Requirement_TR5b", "number": "Launch_Requirement_TR5b", "area_code": "Launch_Requirement_TR5b" }, "rooms": [ { "given_name": "John_Launch_Requirement_TR5a", "family_name": "Doe_Launch_Requirement_TR5a, "smoking": false, }, { "given_name": "David_Launch_Requirement_TR5a", "family_name": "Smith_Launch_Requirement_TR5a", "smoking": false, } ],
TR2 - Provide the traveler Country Code with each request
- he traveler
country_code
must be passed in API requests of Shopping and Recommendations. The country code must match the point of sale being accessed by the customer. - This requirement ensures EPS's systems provide customers with relevant content and the most suitable rates based on the sales market.
Example API Request:
https://api.ean.com/2.4/properties/availability?checkin=2020-09-11 &checkout=2020-09-14 ¤cy=USD&language=en-US&occupancy=2-3,4&property_id=XXXX &country_code=XX&sales_channel=XXXX &sales_environment=XXXX&filter=XXXX&rate_plan_count=XXXX &rate_option=XXXX&billing_terms=XXXX&payment_terms=XXXX &partner_point_of_sale=XXXX&platform_name=XXXX
TR3 - Billing Information
TR3a) Payor Name
For Customer, Corporate & Virtual Card:
- Partners must send the name of the cardholder whose card is being charged by EPS.
For Affiliate Collect / EAC Partners:
- Wherever possible, EPS strongly recommends that partners send the name of the actual end payor for the booking.
- This information is required for regulatory / sanctions screening purposes.
- If it is not possible to provide the name of the actual end payor, provide the name of the partner's company / legal entity paying EPS.
If the POS = Russia, Ukraine,Venezuela, then TRUE payor information is always required.
TR3b) Billing Country
Must represent the individual name passed in the billing contact / payor name field.
TR3c) Billing Zip
Must represent the individual name passed in the billing contact / payor name field.
For countries that do not maintain a Zip Code, this information does not need to be provided.
"payments": [ { "type": "customer_card", "billing_contact": { "given_name": "Launch_Requirement_TR3a", "family_name": "Launch_Requirement_TR3a", "address": { "line_1": "555 1st St", "line_2": "10th Floor", "line_3": "Unit 12", "city": "Seattle", "state_province_code": "WA", "postal_code": "Launch_Requirement_TR3c", "country_code": "Launch_Requirement_TR3b" } },
TR4 - Provide the customer email address or OR monitored email mailbox
The email element of each Itinerary must contain the traveler email address OR the mailbox your integration monitors for confirmation email handling. This is required for cases of booking disputes or troubleshooting.
TR5 - Provide accurate Traveler Information
TR5a) Traveler Name
EPS bookings must always be submitted with the name of the actual travelers staying in each booked room. This means that in your booking request body, the values for given_name
and family_name
within the rooms object must match the first and last name of the main guest checking in for each room.
TR5b) Traveler Phone Number
The booking must include a viable contact number for the traveler. Include this number in your booking request's phone field of each Itinerary. EPS will not contact the traveler if the partner’s agents provide direct support to end customers.
TR6 - Multi-room bookings
If multi-room bookings are supported, provide the API request and response logs for a test booking which shows each room has been booked and cancelled.
Each room that is booked will create a separate Confirmation ID, which allows the rooms to be cancelled separately. To cancel all rooms, complete a cancellation call for every Confirmation ID within the Itinerary.
EPS does not directly offer group bookings of more than 8 rooms through our API or template. Your EPS representative can advise you if you need to book more than 8 rooms.
Find out what changes we're making to the EPS Rapid API to support you and your travelers.
See the changes that we've made here.
EPS Home | EPS Portal Login | Expedia Partner Central | Advertise with Expedia | News | Privacy Policy | Cookie Policy
© 2021 Expedia, Inc. All Rights Reserved.