Expedia EPS Deposit API

The EPS Deposit API manages the deposit policy for a property, offering operations to create, update, read, and delete deposit policies for Expedia partner properties.

OpenAPI Specification

expedia-deposit-openapi-original.yml Raw ↑
openapi: 3.0.1
info:
  title: Expedia Group EPS Deposit API
  description: "The EPS Deposit API manages the deposit policy for a property, offering operations to create/update, read and delete it. <br/><br/>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: [email protected]
  version: "1.0"
servers:
  - url: https://services.expediapartnercentral.com/
security:
  - Basic: []
tags:
  - name: Deposit
    description: The Deposit resource
paths:
  /properties/{propertyId}/depositPolicy:
    get:
      tags:
        - Deposit
      summary: Expedia Group Obtain the deposit policy for a given property
      operationId: getDepositPolicy
      parameters:
        - name: propertyId
          in: path
          description: Expedia Property ID
          required: true
          schema:
            type: string
      responses:
        "200":
          description: Success. The property has a deposit policy and it was returned.
          headers:
            Transaction-ID:
              description: Unique transaction ID
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessfulGetResponse'
        "401":
          description: Unauthorized. Invalid credentials were used to perform the request.
          headers:
            Transaction-ID:
              description: Unique transaction ID
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "403":
          description: Forbidden. The authenticated user is not authorized to perform this request.
          headers:
            Transaction-ID:
              description: Unique transaction ID
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "404":
          description: Not Found. The property does not have a deposit policy defined.
          headers:
            Transaction-ID:
              description: Unique transaction ID
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Internal Server Error. A system error occurred while processing the request. Retrying the request will likely yield to the same result.
          headers:
            Transaction-ID:
              description: Unique transaction ID
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "503":
          description: Service Unavailable. A temporary system error occurred while processing the request. You can retry the request later.
          headers:
            Transaction-ID:
              description: Unique transaction ID
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - Basic: []
    put:
      tags:
        - Deposit
      summary: Expedia Group Create/update the deposit policy for a given property
      operationId: setDepositPolicy
      parameters:
        - name: propertyId
          in: path
          description: Expedia Property ID
          required: true
          schema:
            type: string
      requestBody:
        description: JSON document describing the deposit policy to be created/updated
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Deposit'
        required: true
      responses:
        "201":
          description: "Created. The property didn't have a deposit policy, therefore it was created."
          headers:
            Transaction-ID:
              description: Unique transaction ID
              schema:
                type: string
          content: {}
        "204":
          description: "NoContent. The property already had a deposit policy defined, and it was updated successfully."
          headers:
            Transaction-ID:
              description: Unique transaction ID
              schema:
                type: string
          content: {}
        "400":
          description: Bad Request. An error occurred because the request is invalid. The error code and description contained in the payload of the response will give more information as to what was wrong with the request.
          headers:
            Transaction-ID:
              description: Unique transaction ID
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "401":
          description: Unauthorized. Invalid credentials were used to perform the request.
          headers:
            Transaction-ID:
              description: Unique transaction ID
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "403":
          description: Forbidden. The authenticated user is not authorized to perform this request.
          headers:
            Transaction-ID:
              description: Unique transaction ID
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Internal Server Error. A system error occurred while processing the request. Retrying the request will likely yield to the same result.
          headers:
            Transaction-ID:
              description: Unique transaction ID
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "503":
          description: Service Unavailable. A temporary system error occurred while processing the request. You can retry the request later.
          headers:
            Transaction-ID:
              description: Unique transaction ID
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - Basic: []
      x-codegen-request-body-name: depositPolicy
    delete:
      tags:
        - Deposit
      summary: Expedia Group Delete the deposit policy for a given property
      operationId: deleteDepositPolicy
      parameters:
        - name: propertyId
          in: path
          description: Expedia Property ID
          required: true
          schema:
            type: string
      responses:
        "204":
          description: No Content. The property had a deposit policy and it was successfully deleted.
          headers:
            Transaction-ID:
              description: Unique transaction ID
              schema:
                type: string
          content: {}
        "401":
          description: Unauthorized. Invalid credentials were used to perform the request.
          headers:
            Transaction-ID:
              description: Unique transaction ID
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "403":
          description: Forbidden. The authenticated user is not authorized to perform this request.
          headers:
            Transaction-ID:
              description: Unique transaction ID
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "404":
          description: "Not Found. The property did not have a deposit policy, therefore nothing was deleted."
          headers:
            Transaction-ID:
              description: Unique transaction ID
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "500":
          description: Internal Server Error. A system error occurred while processing the request. Retrying the request will likely yield to the same result.
          headers:
            Transaction-ID:
              description: Unique transaction ID
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        "503":
          description: Service Unavailable. A temporary system error occurred while processing the request. You can retry the request later.
          headers:
            Transaction-ID:
              description: Unique transaction ID
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - Basic: []
components:
  schemas:
    SuccessfulGetResponse:
      required:
        - entity
      type: object
      properties:
        entity:
          $ref: '#/components/schemas/Deposit'
    ErrorResponse:
      required:
        - errors
      type: object
      properties:
        errors:
          type: array
          description: List of errors.
          items:
            $ref: '#/components/schemas/Error'
    Deposit:
      type: object
      properties:
        defaultPolicy:
          $ref: '#/components/schemas/DefaultPolicy'
        exceptionPolicies:
          type: array
          description: Optional. Up to 4 exception policies can be defined. List of policies that override the default policy for the date range(s) specified in the exception. Order in the array of exception policies matters. The order of the elements in this array determines the order in which the policies should be applied in case of date overlap between exceptions.
          items:
            $ref: '#/components/schemas/ExceptionPolicy'
        _links:
          $ref: '#/components/schemas/Links'
    DefaultPolicy:
      required:
        - payments
      type: object
      properties:
        description:
          type: string
          description: Default policy description. This field is optional.
        payments:
          type: array
          description: List of payment policies. Up to 4 payment policies can be defined.
          items:
            $ref: '#/components/schemas/PaymentPolicy'
    PaymentPolicy:
      required:
        - type
        - when
      type: object
      properties:
        type:
          type: string
          description: Defines the type of payment policy.
          enum:
            - NIGHT
            - AMOUNT
            - PERCENTAGE
            - REMAINDER
        value:
          type: number
          description: "Indicates the amount of money that must be paid. If type is REMAINDER, value cannot be specified. If type is either NIGHT or PERCENTAGE then the number must be whole (no fractional digits)."
          format: double
        when:
          $ref: '#/components/schemas/PaymentTime'
    PaymentTime:
      required:
        - type
      type: object
      properties:
        type:
          type: string
          description: Defines the type of payment time.
          enum:
            - DAYS_PRIOR
            - UPON_ARRIVAL
            - UPON_BOOKING
        value:
          type: integer
          description: Only present if type is DAYS_PRIOR. Indicates the number of days prior to arrival that the customer must pay the deposit.
          format: int32
      description: "Order of payments in the array matters. Payments must be specified in chronological order: UPON_BOOKING followed by DAYS_PRIOR followed by UPON_ARRIVAL."
    ExceptionPolicy:
      type: object
      properties:
        description:
          type: string
          description: Exception policy description. This field is optional.
        payments:
          type: array
          description: List of payment policies. Up to 4 payment policies can be defined.
          items:
            $ref: '#/components/schemas/PaymentPolicy'
        dateRanges:
          type: array
          description: List of date range during which the exception policy applies. One exception can contain from 1 to 15 date ranges maximum.
          items:
            $ref: '#/components/schemas/DateRange'
    DateRange:
      required:
        - endDate
        - startDate
      type: object
      properties:
        startDate:
          type: string
          description: Starting date of the exception policy. Format is YYYY-MM-DD.
          format: date
        endDate:
          type: string
          description: Ending date of the exception policy. Format is YYYY-MM-DD.
          format: date
        daysOfWeek:
          type: string
          description: List of days of the week the exception policy is applicable.
          enum:
            - MON
            - TUE
            - WED
            - THU
            - FRI
            - SAT
            - SUN
    Error:
      required:
        - code
        - message
      type: object
      properties:
        code:
          type: integer
          description: Error code
          format: int32
        message:
          type: string
          description: Error message
      description: An object describing an error returned by the service.
    Links:
      required:
        - ratePlans
        - self
      type: object
      properties:
        self:
          $ref: '#/components/schemas/Link'
        ratePlans:
          type: array
          description: Collection of links to the rate plans (active and inactive) on which this deposit policy is applicable.
          items:
            $ref: '#/components/schemas/Link'
      description: Object describing links to other resources to which this deposit policy is linked to.
    Link:
      required:
        - href
      type: object
      properties:
        href:
          type: string
          description: The fully-qualified URL of the resource.
          format: URL
      description: Object describing a single link to a resource to which this deposit policy is linked to.
  responses:
    InternalServerError:
      description: Internal Server Error. A system error occurred while processing the request. Retrying the request will likely yield to the same result.
      headers:
        Transaction-ID:
          description: Unique transaction ID
          schema:
            type: string
      content:
        '*/*':
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    ServiceUnavailableError:
      description: Service Unavailable. A temporary system error occurred while processing the request. You can retry the request later.
      headers:
        Transaction-ID:
          description: Unique transaction ID
          schema:
            type: string
      content:
        '*/*':
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    BadRequestError:
      description: Bad Request. An error occurred because the request is invalid. The error code and description contained in the payload of the response will give more information as to what was wrong with the request.
      headers:
        Transaction-ID:
          description: Unique transaction ID
          schema:
            type: string
      content:
        '*/*':
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    UnauthorizedError:
      description: Unauthorized. Invalid credentials were used to perform the request.
      headers:
        Transaction-ID:
          description: Unique transaction ID
          schema:
            type: string
      content:
        '*/*':
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    ForbiddenError:
      description: Forbidden. The authenticated user is not authorized to perform this request.
      headers:
        Transaction-ID:
          description: Unique transaction ID
          schema:
            type: string
      content:
        '*/*':
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    Basic:
      type: http
      scheme: basic