openapi: 3.0.1
info:
title: Expedia Group EPS Deposit Bookings Loyalty 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: Loyalty
description: Template Loyalty Earn API
paths:
/loyalty/earn/transactions:
get:
operationId: loyaltyTransactions
tags:
- Loyalty
description: 'Get loyalty earn transactions for the requested transaction date range.
The response is a list of transactions sorted from the newest transaction date to the oldest.
'
parameters:
- $ref: '#/components/parameters/ItineraryId'
- $ref: '#/components/parameters/MembershipId'
- $ref: '#/components/parameters/TransactionType'
- $ref: '#/components/parameters/TransactionDateStart'
- $ref: '#/components/parameters/TransactionDateEnd'
- $ref: '#/components/parameters/From'
- $ref: '#/components/parameters/PageSize'
responses:
'200':
description: OK
headers:
link:
description: "Contains a single link to get the immediate next set of results. \nThis header will be missing when there are no further results\n"
schema:
type: string
example: /loyalty/earn/transactions?from=1000
url:
description: Url of the call made
schema:
type: string
example: /loyalty/earn/transactions?from=1000&transaction_type=AWARD
content:
application/json:
schema:
$ref: '#/components/schemas/LoyaltyResponse'
examples:
SingleAwardTransaction:
value:
data:
- transaction_id: d78fd53a7ed573b9c9731c569fae096f7a508e7ae586aaa29be96b11e94abb36
transaction_type: AWARD
transaction_date: 2023-10-21
transaction_datetime: 2023-10-21 00:00:00
award_date: 2023-10-21
itinerary:
id: '72564500000000'
package_indicator: Standalone
booking_item:
id: '1329922272'
product_line: Lodging
begin_use_date: 2023-10-17
end_use_date: 2023-10-20
booking_date: 2023-10-01
loyalty:
program_name: Alaska
member:
id: '456178230'
tier: Standard
last_name: Doe
points:
point_definition: 2X_09032020_Alaska
pending:
total: -100.11
base: -90.01
bonus: -10.1
awarded:
total: 100.11
base: 90.01
bonus: 10.1
pricing:
- gross_booking_value: 231.19
base_price: 190.12
currency: USD
MultipleItineraryTransactions:
value:
data:
- transaction_id: 92215381a66856eb1c3a859f3be9c58d0ba5584e20e3958f758ad3d03fbb84cc
transaction_type: PURCHASE
transaction_date: 2023-10-01
transaction_datetime: 2023-10-01 00:00:00
award_date: 2023-10-21
itinerary:
id: '72564500000000'
package_indicator: Standalone
booking_item:
id: '1329922272'
product_line: Lodging
begin_use_date: 2023-10-17
end_use_date: 2023-10-20
booking_date: 2023-10-01
loyalty:
program_name: Alaska
member:
id: '456178230'
tier: Standard
last_name: Doe
points:
point_definition: 2X_09032020_Alaska
pending:
total: 100.11
base: 90.01
bonus: 10.1
awarded:
total: 0.0
base: 0.0
bonus: 0.0
pricing:
- gross_booking_value: 231.19
base_price: 190.12
currency: USD
- transaction_id: 7c9b6df6cd6f7889df41f8f9b0dc03a94ed2b91770c63b0002b0c0943d5d6348
transaction_type: MODIFICATION
transaction_date: 2023-10-11
transaction_datetime: 2023-10-11 00:00:00
award_date: 2023-10-21
itinerary:
id: '72564500000000'
package_indicator: Standalone
booking_item:
id: '1329922272'
product_line: Lodging
begin_use_date: 2023-10-17
end_use_date: 2023-10-20
booking_date: 2023-10-01
loyalty:
program_name: Alaska
member:
id: '456178230'
tier: Standard
last_name: Doe
points:
point_definition: 2X_09032020_Alaska
pending:
total: 1.1
base: 1.1
bonus: 0.0
awarded:
total: 0.0
base: 0.0
bonus: 0.0
pricing:
- gross_booking_value: 0.0
base_price: 0.0
currency: USD
- transaction_id: d78fd53a7ed573b9c9731c569fae096f7a508e7ae586aaa29be96b11e94abb36
transaction_type: AWARD
transaction_date: 2023-10-21
transaction_datetime: 2023-10-21 00:00:00
award_date: 2023-10-21
itinerary:
id: '72564500000000'
package_indicator: Standalone
booking_item:
id: '1329922272'
product_line: Lodging
begin_use_date: 2023-10-17
end_use_date: 2023-10-20
booking_date: 2023-10-01
loyalty:
program_name: Alaska
tier: Standard
member:
id: '456178230'
tier: tierName
last_name: Doe
points:
point_definition: 2X_09032020_Alaska
pending:
total: -101.11
base: -90.01
bonus: -10.1
awarded:
total: 101.11
base: 90.01
bonus: 10.1
pricing:
- gross_booking_value: 231.19
base_price: 190.12
currency: USD
NoAwardTransaction:
value:
data: []
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: BAD_REQUEST
message: 'Transaction type not supported. Supported transactions types are: [PURCHASE, MODIFICATION, AWARD, CANCEL]'
'401':
description: Unauthorized
headers:
WWW-Authenticate:
description: Provides an example of the Authorization header.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: UNAUTHORIZED
message: Data required to authenticate your request is missing or inaccurate
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: FORBIDDEN
message: Your request could not be authorized.
'500':
description: Unknown Internal Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: INTERNAL_ERROR
message: An internal server error has occurred.
security:
- oauth: []
/loyalty/earn/last_update:
get:
operationId: loyaltyLastUpdate
tags:
- Loyalty
description: 'Get the last update datetime for loyalty earn transactions.
'
responses:
'200':
description: OK
headers:
url:
schema:
type: string
description: Url of the call made
example: /loyalty/earn/last_update
content:
application/json:
schema:
$ref: '#/components/schemas/LoyaltyLastUpdateResponse'
example:
last_update: 2023-10-18 12:23:01
'401':
description: Unauthorized
headers:
WWW-Authenticate:
description: Provides an example of the Authorization header.
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: UNAUTHORIZED
message: Data required to authenticate your request is missing or inaccurate
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: FORBIDDEN
message: Your request could not be authorized.
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: NOT FOUND
message: There is no data for the given request.
'500':
description: Unknown Internal Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
code: INTERNAL_ERROR
message: An internal server error has occurred.
security:
- oauth: []
components:
parameters:
MembershipId:
name: membership_id
in: query
description: Loyalty / Membership ID Number
schema:
type: string
example: '456178230'
ItineraryId:
name: itinerary_id
in: query
description: Itinerary Number
schema:
type: string
example: '72564500000000'
From:
name: from
in: query
description: Number of records to query from
schema:
type: integer
default: 0
example: 1000
PageSize:
name: page_size
in: query
description: Number of records per page
schema:
type: integer
default: 500
oneOf:
- minimum: 1
maximum: 1000
exclusiveMinimum: true
exclusiveMaximum: true
example: 500
TransactionDateStart:
name: transaction_date_start
in: query
description: Start date of the date range to filter transactions, ISO. 8601 format (YYYY-MM-DD)
schema:
type: string
format: date
example: 2023-09-17
required: true
TransactionDateEnd:
name: transaction_date_end
in: query
description: End date of the date range to filter transactions, ISO. 8601 format (YYYY-MM-DD)
schema:
type: string
format: date
example: 2023-09-18
required: true
TransactionType:
name: transaction_type
in: query
description: 'Transaction Type. Possible values: Purchase, Modification, Cancel, Award'
schema:
type: string
enum:
- PURCHASE
- AWARD
- MODIFICATION
- CANCEL
schemas:
Member:
type: object
properties:
id:
type: string
format: number
description: Membership id
tier:
type: string
description: Name of Loyalty Program
last_name:
type: string
description: Last name
Loyalty:
type: object
properties:
program_name:
type: string
description: Name of Loyalty Program
member:
$ref: '#/components/schemas/Member'
points:
$ref: '#/components/schemas/Points'
Points:
type: object
properties:
point_definition:
type: string
description: Definition of the points applied as related to the Campaign(s) or Base Points
pending:
$ref: '#/components/schemas/PointDefinition'
awarded:
$ref: '#/components/schemas/PointDefinition'
BookingItem:
type: object
properties:
id:
type: string
format: number
description: Booking item id
product_line:
type: string
description: Line of business of the item
begin_use_date:
type: string
format: date
description: Check in or start of the booking date
end_use_date:
type: string
format: date
description: Check out or end of the booking date
PointDefinition:
type: object
properties:
total:
type: number
description: Total number of points ( base points + bonus points)
base:
type: number
description: Points where point code / definition refers to base points
bonus:
type: number
description: Points where point code / definition refers to bonus points
LoyaltyTransactionsResponse:
type: array
items:
type: object
properties:
transaction_id:
type: string
description: Unique Identifier of the transaction
transaction_type:
type: string
description: Transaction Type
transaction_date:
type: string
format: date
description: Date booking was last updated in ISO 8601 format (YYYY-MM-DD)
transaction_datetime:
type: string
format: date-time
description: Datetime booking was last updated in ISO 8601 format (YYYY-MM-DDThhmmss.sss)
award_date:
type: string
format: date
description: Date at which points will be earned/rewarded in ISO 8601 format (YYYY-MM-DD)
itinerary:
$ref: '#/components/schemas/Itinerary'
loyalty:
$ref: '#/components/schemas/Loyalty'
pricing:
type: array
items:
$ref: '#/components/schemas/Pricing'
Itinerary:
type: object
properties:
id:
type: string
format: number
description: Itinerary Number
booking_date:
type: string
format: date
description: Date when the booking was made
package_indicator:
type: string
description: Whether or not the booking is a package
booking_item:
$ref: '#/components/schemas/BookingItem'
LoyaltyResponse:
type: object
properties:
data:
$ref: '#/components/schemas/LoyaltyTransactionsResponse'
LoyaltyLastUpdateResponse:
type: object
properties:
last_update:
type: string
format: date-time
Pricing:
type: object
properties:
currency_code:
type: string
description: Currency Code
gross_booking_value:
type: number
description: Gross Booking Value of booking
base_price:
type: number
description: Base Price (what points are based off of)
Error:
description: The object used the describe an error, containing both human-readable and in a machine-readable information.
type: object
properties:
code:
description: Snake cased all caps error code interpreted from the HTTP status code that can programmatically be acted upon.
type: string
example: FORBIDDEN
enum:
- UNAUTHORIZED
- FORBIDDEN
- NOT_FOUND
- TOO_MANY_REQUESTS
- INTERNAL_SERVER_ERROR
- BAD_GATEWAY
- SERVICE_UNAVAILABLE
- GATEWAY_TIMEOUT
- CONFLICT
- BAD_REQUEST
message:
description: A human-readable explanation of the error, specific to this error occurrence.
type: string
example: Your request could not be authorized.
required:
- code
- message
securitySchemes:
Basic:
type: http
scheme: basic