openapi: 3.0.1 info: title: Expedia Group EPS Deposit Bookings Rate Plan API description: 'The EPS Deposit API manages the deposit policy for a property, offering operations to create/update, read and delete it.

To start experimenting, please use your existing EQC credentials and properties. We''ve also made the following test credentials available: EQCtest12933870 / ew67nk33 assigned to test property ID 12933870.' contact: name: Expedia Partner Services url: https://expediaconnectivity.com/developer email: eqcss@expedia.com version: '1.0' servers: - url: https://services.expediapartnercentral.com/ security: - Basic: [] tags: - name: Rate Plan description: The rate plan resource paths: /properties/{propertyId}/roomTypes/{roomTypeId}/ratePlans: get: tags: - Rate Plan summary: Expedia Group Obtain a list of rate plans operationId: getRatePlans parameters: - name: propertyId in: path description: Expedia Property ID required: true schema: type: string - name: roomTypeId in: path description: Room type resource ID required: true schema: type: string - name: status in: query description: Status filter. String. Only supported value is "all". schema: type: string responses: '200': description: OK content: application/vnd.expedia.eps.product-v2+json: schema: $ref: '#/components/schemas/ResponseWrapperDTO«List«RatePlanDTO»»' security: - Basic: [] post: tags: - Rate Plan summary: Expedia Group Creates a new rate plan operationId: createRatePlan parameters: - name: propertyId in: path description: Expedia Property ID required: true schema: type: string - name: roomTypeId in: path description: Room type resource ID required: true schema: type: string requestBody: description: JSON message describing the new rate plan content: application/vnd.expedia.eps.product-v2+json: schema: $ref: '#/components/schemas/RatePlanDTO' required: true responses: '201': description: Created content: application/vnd.expedia.eps.product-v2+json: schema: $ref: '#/components/schemas/ResponseWrapperDTO«RatePlanDTO»' security: - Basic: [] x-codegen-request-body-name: ratePlanDTO /properties/{propertyId}/roomTypes/{roomTypeId}/ratePlans/{ratePlanId}: get: tags: - Rate Plan summary: Expedia Group Read a single rate plan operationId: getRatePlan parameters: - name: propertyId in: path description: Expedia Property ID required: true schema: type: string - name: roomTypeId in: path description: Room type resource ID required: true schema: type: string - name: ratePlanId in: path description: Rate plan resource ID required: true schema: type: string responses: '200': description: OK content: application/vnd.expedia.eps.product-v2+json: schema: $ref: '#/components/schemas/ResponseWrapperDTO«RatePlanDTO»' security: - Basic: [] put: tags: - Rate Plan summary: Expedia Group Modify an existing rate plan operationId: updateRatePlan parameters: - name: propertyId in: path description: Expedia Property ID required: true schema: type: string - name: roomTypeId in: path description: Room type resource ID required: true schema: type: string - name: ratePlanId in: path description: Rate plan resource ID required: true schema: type: string requestBody: description: JSON message of modified rate plan content: application/vnd.expedia.eps.product-v2+json: schema: $ref: '#/components/schemas/RatePlanDTO' required: true responses: '200': description: OK content: application/vnd.expedia.eps.product-v2+json: schema: $ref: '#/components/schemas/ResponseWrapperDTO«RatePlanDTO»' security: - Basic: [] x-codegen-request-body-name: ratePlan delete: tags: - Rate Plan summary: Expedia Group Delete an existing rate plan operationId: deleteRatePlan parameters: - name: propertyId in: path description: Expedia Property ID required: true schema: type: string - name: roomTypeId in: path description: Room type resource ID required: true schema: type: string - name: ratePlanId in: path description: Rate plan resource ID required: true schema: type: string responses: '204': description: No Content content: {} security: - Basic: [] patch: tags: - Rate Plan summary: Expedia Group Patch an existing rate plan operationId: patchRatePlan parameters: - name: propertyId in: path description: Expedia Property ID required: true schema: type: string - name: roomTypeId in: path description: Room type resource ID required: true schema: type: string - name: ratePlanId in: path description: Rate plan resource ID required: true schema: type: string requestBody: description: JSON message of partially updated rate plan content: application/vnd.expedia.eps.product-v2+json: schema: type: string required: true responses: '200': description: OK content: application/vnd.expedia.eps.product-v2+json: schema: $ref: '#/components/schemas/ResponseWrapperDTO«RatePlanDTO»' security: - Basic: [] x-codegen-request-body-name: ratePlan components: schemas: RateDerivationRuleDTO: required: - adjustmentType - adjustmentValue - dateEnd - dateStart - exclusionDates type: object properties: adjustmentType: type: string description: Defines the type of adjustment made on the rate. Possible values are Percentage and Amount. enum: - Percentage - Amount adjustmentValue: type: number description: Defines the actual adjustment being applied to the rate. Can take a positive or negative value, depending on the type of adjustment applied. format: double dateEnd: type: string description: Ending date of the rate derivation rule. Format is YYYY-MM-DD. format: date dateStart: type: string description: Starting date of the rate derivation rule. Format is YYYY-MM-DD. format: date exclusionDates: type: array description: Periods of time during which the rate derivation rule does not apply. items: $ref: '#/components/schemas/PeriodDTO' PeriodDTO: required: - dateEnd - dateStart type: object properties: dateEnd: type: string description: Ending date of the period. Format is YYYY-MM-DD. format: date dateStart: type: string description: Starting date of the period. Format is YYYY-MM-DD. format: date RatePlanDTOLinks: type: object properties: depositPolicy: $ref: '#/components/schemas/LinkDTO' derivedRatePlans: type: array description: List of URLs that point to the derived Rate Plans. These Rate Plans have their rates and availability derived from this Rate Plan. items: $ref: '#/components/schemas/LinkDTO' parentRatePlan: $ref: '#/components/schemas/LinkDTO' self: $ref: '#/components/schemas/LinkDTO' AdditionalGuestAmountDTO: required: - ageCategory type: object properties: ageCategory: type: string description: The age category for the additional guests enum: - Adult - ChildAgeA - ChildAgeB - ChildAgeC - ChildAgeD - Infant amount: type: number description: Min value 0.000, accepts up to 3 decimal points format: double dateEnd: type: string description: Date at which this amount will not be effective anymore. If no end date defined, will be returned as 2079-06-06. format: date dateStart: type: string description: Date at which this amount started being applicable, can be in the past format: date percent: type: number description: Min value 0.0, Max value 1.0 format: double ServiceFeesPerStayDTO: required: - isTaxable type: object properties: amountPerNight: type: number description: Per night service charge. Min value 0.000, accepts up to 3 decimal points format: double amountPerStay: type: number description: Per stay service charge. Min value 0.000, accepts up to 3 decimal points format: double isTaxable: type: boolean description: 'If the service fee is taxable. Values: true/false' example: false percent: type: number description: Percentage of the base rate. Value between 0 and 1, accepts up to 4 decimal points format: double DistributionRuleDTO: required: - distributionModel type: object properties: compensation: $ref: '#/components/schemas/CompensationRuleDTO' distributionModel: type: string description: 'Distribution model adopted by the rate plan, matching property configuration. ExpediaCollect: indicates that when customers book this rate plan, they will pay Expedia. HotelCollect: indicates that when customers book this rate plan, they will pay the property. Note: if a product can be sold as both ExpediaCollect and HotelCollect, there will be 2 distribution rules under the rate plan to indicate this' enum: - HotelCollect - ExpediaCollect expediaId: type: string description: String, min 1, max 50 characters. Expedia rate plan ID that will be specified in booking messages and that should be used to manage avail/rates if this set of distribution rules is marked as manageable. manageable: type: boolean description: Cannot be provided in a create request. Default to yes for HotelCollect-only or ExpediaCollect-only rate plans. For ExpediaTravelerPreference rate plans, if rate acquisition type is net, ExpediaCollect will default to true; if rate acquisition type is Sell/LAR, HotelCollect will default to true. readOnly: true example: false partnerCode: type: string description: Unique partner identifier for the rate plan. For a given room type, this code has to be unique per distribution model (e.g. for all ExpediaCollect rate plan distribution rules under this room, this code has to be unique). Uniqueness will be validated by Expedia during create or update operations. Accepted characters are a-z, A-Z, 0-9, '.', '_' and '-' CancelPolicyDTO: type: object properties: defaultPenalties: type: array description: Default penalties' definition. Min 1, Max 3 penalties defined items: $ref: '#/components/schemas/PenaltyDTO' exceptions: type: array description: List of exceptional cancel penalties defined for the Rate Plan items: $ref: '#/components/schemas/CancelPolicyExceptionDTO' CompensationExceptionRuleDTO: type: object properties: dateEnd: type: string description: 'End date of the exception rule. Accepted format: YYYY-MM-DD' format: date dateStart: type: string description: 'Starting date of the exception rule. Accepted format: YYYY-MM-DD' format: date fri: type: boolean description: For any exception, all 7 days of week are returned with a true/false indicator. example: false minAmount: type: number description: Accepts up to 3 decimal points format: double mon: type: boolean description: For any exception, all 7 days of week are returned with a true/false indicator. example: false percent: type: number description: Between 0 and 1, accepts up to 3 decimal points format: double sat: type: boolean description: For any exception, all 7 days of week are returned with a true/false indicator. example: false sun: type: boolean description: For any exception, all 7 days of week are returned with a true/false indicator. example: false thu: type: boolean description: For any exception, all 7 days of week are returned with a true/false indicator. example: false tue: type: boolean description: For any exception, all 7 days of week are returned with a true/false indicator. example: false wed: type: boolean description: For any exception, all 7 days of week are returned with a true/false indicator. example: false RatePlanDTO: required: - distributionRules - name - occupantsForBaseRate type: object properties: _links: $ref: '#/components/schemas/RatePlanDTOLinks' additionalGuestAmounts: type: array description: Array of additional guest amounts. Up to 6 can be specified, 1 per category. Only 1 amount can be given per category, for all dates items: $ref: '#/components/schemas/AdditionalGuestAmountDTO' bookDateEnd: type: string description: Date at which this rate plan stops being available for searching on any Expedia POS. Format YYYY-MM-DD. If not restricted, will be returned as 2079-06-06. If in 2079, indicates this rate plan book end date is unrestricted format: date bookDateStart: type: string description: 'Date at which this rate plan starts being available for searching on any Expedia POS. If in the past, indicates rate plan book date start is not restricted. Accepted format: YYYY-MM-DD. If not restricted, will be returned as 1900-01-01' format: date cancelPolicy: $ref: '#/components/schemas/CancelPolicyDTO' creationDateTime: type: string description: Date at which the rate plan has been created. The date is formatted in the ISO 8601 format. format: date-time readOnly: true depositRequired: type: boolean description: Indicates if a deposit is required upon booking. This flag is only available for Rate Plan with business models HotelCollect or ExpediaTravelerPreference. example: false distributionRules: type: array description: Used to provide information about how this rate plan can be sold (ExpediaCollect, HotelCollect or both). items: $ref: '#/components/schemas/DistributionRuleDTO' lastUpdateDateTime: type: string description: Date of the last modifications to this rate plan. The date is formatted in the ISO 8601 format. format: date-time readOnly: true maxAdvBookDays: type: integer description: The maximum days before a stay date that the rate plan can be sold. Min 1, Max 500 format: int32 maxLOSDefault: type: integer description: Default maximum LengthOfStay restriction. Min 1, Max 28. Set to 28 by default if not provided in a create request. Will always be considered along the value defined for each stay date, and the most restrictive of this default and the daily restriction will prevail format: int32 minAdvBookDays: type: integer description: The minimum days before a stay date that the rate plan can be sold. Min 1, Max 500 format: int32 minLOSDefault: type: integer description: Default minimum LengthOfStay restriction. Min 1, Max 28. Set to 1 by default if not provided in a create request. Will always be considered along the value defined for each stay date, and the most restrictive of this default and the daily restriction will prevail format: int32 mobileOnly: type: boolean description: Indicates this rate plan is only available through shopping done on mobile devices example: false name: type: string description: Name of the rate plan, for information/identification purposes. Min 1, Max 40 characters. If not provided, defaults to the manageable rate plan partner code. occupantsForBaseRate: type: integer description: Max occupants allowed for the base rate. Min 1, Max 20. This is only applicable for per day pricing properties, and required in create requests. It indicates how many occupants the per day price applies to format: int32 pricingModel: type: string description: Rate Plan pricing model. Will default to property’s pricing model, and if provided, it has to match the property’s pricing model enum: - PerDayPricing - PerDayPricingByDayOfArrival - OccupancyBasedPricing - OccupancyBasedPricingByDayOfArrival rateAcquisitionType: type: string description: Rate acquisition type, inherited from the Property readOnly: true enum: - NetRate - SellLAR ratePlanLinkage: $ref: '#/components/schemas/RatePlanLinkageDTO' resourceId: type: integer description: Expedia ID for this resource. Generated when created. Generated on POST, required on PUT format: int32 serviceFeesPerPerson: type: array description: Array of services fees per person. Up to 12 can be specified, 1 taxable and 1 non taxable for each of the 6 age categories, for all dates items: $ref: '#/components/schemas/ServiceFeesPerPersonDTO' serviceFeesPerStay: type: array description: Array of service fees per stay. Up to 2 can be specified, 1 taxable and 1 non taxable. items: $ref: '#/components/schemas/ServiceFeesPerStayDTO' status: type: string description: Defaults to active if not provided during creation enum: - Active - Inactive taxInclusive: type: boolean description: Returned to indicate whether the rate being exchanged over other APIs (availability/rates or booking) is inclusive of taxes or not. During creation, for properties managing net rates, the default value is false. For sell rates, it is based on the property's configuration example: false travelDateEnd: type: string description: Latest date at which customers can checkout for a stay including this rate plan. Format YYYY-MM-DD. If not restricted, will be returned as 2079-06-06. If in 2079, indicates rate plan travel end date is not restricted format: date travelDateStart: type: string description: Date at which customers can start checking in for a stay including this rate plan. Format YYYY-MM-DD. If not restricted, will be returned at 1900-01-01.If in the past, indicates rate plan travel start date is not restricted format: date type: type: string description: Rate Plan type. Only Standalone, Package and Corporate Rate Plans can be created and managed through the Product API. Wholesale Rate Plan is only available during Rate Plan GET. Defaults to Standalone if not provided during creation enum: - Standalone - Package - Corporate - Wholesale valueAddInclusions: type: array description: Array of value add inclusions. Value add inclusions are special features included with this rate. Breakfast, Internet, or parking inclusions are the most frequently used ones items: type: string ErrorDTO: type: object properties: code: type: integer format: int32 message: type: string ResponseWrapperDTO«RatePlanDTO»: type: object properties: entity: $ref: '#/components/schemas/RatePlanDTO' errors: type: array items: $ref: '#/components/schemas/ErrorDTO' ServiceFeesPerPersonDTO: required: - ageCategory - dateEnd - dateStart - isTaxable type: object properties: ageCategory: type: string description: The age category for the service fees enum: - Adult - ChildAgeA - ChildAgeB - ChildAgeC - ChildAgeD - Infant amountPerNight: type: number description: Per night service charge. Min value 0.000, accepts up to 3 decimal points format: double amountPerStay: type: number description: Per stay service charge. Min value 0.000, accepts up to 3 decimal points format: double dateEnd: type: string description: Date at which this amount will be not effective anymore. format: date dateStart: type: string description: Date at which this fee started being applicable, can be in the past format: date isTaxable: type: boolean description: 'If the service fee is taxable. Values: true/false' example: false RatePlanLinkageDTO: required: - deriveAvailabilityStatus - deriveClosedToArrival - deriveClosedToDeparture - deriveLengthOfStayRestriction - rateDerivationRules type: object properties: deriveAvailabilityStatus: type: boolean description: Indicates if the rate plan availability status (open/close) is linked to parent or not. example: false deriveClosedToArrival: type: boolean description: Indicates if the restriction on close to arrival is derived from the parent Rate Plan or not. example: false deriveClosedToDeparture: type: boolean description: Indicates if the restriction on close to departure is derived from the parent Rate Plan or not. example: false deriveLengthOfStayRestriction: type: boolean description: Indicates if the restriction on minimum and maximum length of stay are derived from the parent Rate Plan or not. example: false rateDerivationRules: type: array description: Rules that describe how the rate and availability are derived from the parent Rate Plan. items: $ref: '#/components/schemas/RateDerivationRuleDTO' PenaltyDTO: type: object properties: amount: type: number description: Min value 0.000 (3 decimal points). The amount provided here should be based on the property rate acquisition type. If the property rate acquisition type is Net, the rate provided here should be net of Expedia compensation. If it is SellLAR, the rate should be what the customer will be charged (inclusive of Expedia compensation). Used to define a flat amount that would be charged as a cancel or change penalty. This would normally replace a per-stay fee, but it can also be added on top of a per-stay fee if that is what the partner requires format: double deadline: type: integer description: Number of hours prior to the arrival of the guest. When set to 0, it means up until end of the day of arrival. Min 0, Max 32767 format: int32 perStayFee: type: string description: Fee that will be charged if the customer cancels within the specified deadline. enum: - None - 1stNightRoomAndTax - 2NightsRoomAndTax - 10PercentCostOfStay - 20PercentCostOfStay - 30PercentCostOfStay - 40PercentCostOfStay - 50PercentCostOfStay - 60PercentCostOfStay - 70PercentCostOfStay - 80PercentCostOfStay - 90PercentCostOfStay - FullCostOfStay CancelPolicyExceptionDTO: required: - endDate - startDate type: object properties: endDate: type: string description: 'Format: YYYY-MM-DD. Cancel penalty exception''s end date' format: date penalties: type: array description: Definition of the exception penalties applied items: $ref: '#/components/schemas/PenaltyDTO' startDate: type: string description: 'Format: YYYY-MM-DD. Cancel penalty exception''s starting date' format: date ResponseWrapperDTO«List«RatePlanDTO»»: type: object properties: entity: type: array items: $ref: '#/components/schemas/RatePlanDTO' errors: type: array items: $ref: '#/components/schemas/ErrorDTO' CompensationRuleDTO: required: - minAmount - percent type: object properties: exceptions: type: array description: Depending on the contractual agreement between Expedia and the partner, compensation can vary based on different criteria. This array of exceptions will reflect this items: $ref: '#/components/schemas/CompensationExceptionRuleDTO' minAmount: type: number description: Minimum amount. Accepts up to 3 decimal points. Only applicable to ExpediaCollect distribution rules format: double percent: type: number description: Compensation percentage applied by default. Expressed as a value. Between 0 and 1, accepts up to 4 decimal points format: double LinkDTO: type: object properties: href: type: string description: The link's URL. securitySchemes: Basic: type: http scheme: basic