Expedia Group OrderPurchaseScreen API

The OrderPurchaseScreen API from Expedia Group — 1 operation(s) for orderpurchasescreen.

Operations 1

POST /order/purchase/screen Expedia Group Run fraud screening for one transaction #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/expedia-group-orderpurchasescreen-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

expedia-group-orderpurchasescreen-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Expedia Group Fraud Prevention Service Order Purchase Screen API
  version: v2
  description: Fraud & Risk APIs to detect fraud
  contact:
    name: Risk Tech Verge
    email: RiskTechVerge@expedia.com
  x-eg-lifecycle: PLANNED
servers:
- url: https://api.sandbox.expediagroup.com/fraud-prevention/v2
tags:
- name: OrderPurchaseScreen
paths:
  /order/purchase/screen:
    post:
      tags:
      - OrderPurchaseScreen
      description: 'The Order Purchase API gives a Fraud recommendation for a transaction. A recommendation can be Accept, Reject, or Review. A transaction is marked as Review whenever there are insufficient signals to recommend Accept or Reject. These incidents are manually reviewed, and a corrected recommendation is made asynchronously. '
      summary: Expedia Group Run fraud screening for one transaction
      operationId: screen
      security:
      - orderPurchaseScreenAuth:
        - fraudandrisk.fraud.order-purchase-screen
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrderPurchaseScreenRequest'
      responses:
        '200':
          description: The OrderPurchaseScreenRequest was successfully received and the order screening is complete.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderPurchaseScreenResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotFoundError'
        '429':
          description: Too many requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TooManyRequestsError'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerError'
        '502':
          description: Bad gateway
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadGatewayError'
        '503':
          description: Retryable Order Purchase Screen Failure
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RetryableOrderPurchaseScreenFailure'
        '504':
          description: Gateway timeout
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GatewayTimeoutError'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestError'
components:
  schemas:
    PaymentStatus:
      title: PaymentStatus
      description: The status of the payment operation.
      type: string
      enum:
      - COMPLETED
      - FAILED
    Address:
      title: Address
      type: object
      properties:
        address_type:
          type: string
          enum:
          - HOME
          - WORK
        address_line1:
          description: Address line 1 of the address provided.
          type: string
          maxLength: 200
        address_line2:
          description: Address line 2 of the address provided.
          type: string
          maxLength: 200
        city:
          description: City of the address provided.
          type: string
          maxLength: 200
        state:
          description: The two-characters ISO code for the state or province of the address.
          type: string
          pattern: ^[A-Z]{2}$
        zip_code:
          description: Zip code of the address provided.
          type: string
          maxLength: 20
        country_code:
          description: ISO alpha-3 country code of the address provided.
          pattern: ^[A-Z]{3}$
          type: string
    InternalServerError:
      description: Indicates that the API encountered an unexpected condition that prevented it from fulfilling the request. Sometimes used as a generic catch-allerror type when no other error types can be used. Retrying the same request will usually result in the same error. Please reach out to support team as next step for this error resolution.
      example:
        code: INTERNAL_SERVER_ERROR
        message: The server encountered an internal error.
      allOf:
      - $ref: '#/components/schemas/Error'
    Name:
      title: Name
      description: Group of attributes intended to hold information about a customer or traveler's name for the order.
      type: object
      required:
      - first_name
      - last_name
      properties:
        last_name:
          description: Surname, or last name, of the person.
          type: string
          maxLength: 200
        first_name:
          description: Given, or first name, of the person.
          type: string
          maxLength: 200
        middle_name:
          description: Middle name of the person.
          type: string
          maxLength: 200
        title:
          description: Title of the person for name (e.g. Mr., Ms. etc).
          type: string
          maxLength: 200
        suffix:
          description: Generational designations (e.g. Sr, Jr, III) or values that indicate the individual holds a position, educational degree, accreditation, office, or honor (e.g. PhD, CCNA, OBE).
          type: string
          maxLength: 50
    UnauthorizedError:
      description: Indicates that the token sent in the 'Authorization' header is either invalid or missing. Please check the value in the token field along with the token expiration time before retrying.
      example:
        code: UNAUTHORIZED
        message: Invalid EG token provided. Please provide a valid token in the Authorization header.
      allOf:
      - $ref: '#/components/schemas/Error'
    OrderPurchaseScreenResponse:
      title: OrderPurchaseScreenResponse
      type: object
      properties:
        risk_id:
          type: string
          description: Unique identifier assigned to the transaction by Expedia's Fraud Prevention Service.
          maxLength: 200
          example: '1234567'
        decision:
          $ref: '#/components/schemas/FraudDecision'
    PaymentReason:
      title: PaymentReason
      description: 'The reason of payment. Possible values:

        - `FULL` - If the amount is paid i full for the order

        - `DEPOSIT` - The initial payment. Amount to be paid up front.

        - `SCHEDULED` - The amount to be payment based on a schedule for the remaining portion of the booking amount.

        - `SUBSEQUENT` - An additional amount paid that was not originally scheduled.

        - `DEFERRED`

        '
      type: string
      enum:
      - FULL
      - DEPOSIT
      - SCHEDULED
      - SUBSEQUENT
      - DEFERRED
    BadGatewayError:
      description: Indicates that the server received an invalid response from the upstream server. Causes could be incorrectly configured target server at gateway, EOF exception, incorrectly configured keep-alive timeouts. Please reach out to support team as next step for this error resolution.
      example:
        code: BAD_GATEWAY
        message: The server received an invalid response from an upstream server.
      allOf:
      - $ref: '#/components/schemas/Error'
    Authorize:
      title: Authorize
      description: Authorize operation on the payment. An authorize operation represents placing the funds on hold with the specified form of payment.
      allOf:
      - $ref: '#/components/schemas/PaymentOperation'
      - type: object
    Error:
      description: The object used to describe an error, containing both human-readable and 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: BAD_REQUEST
          enum:
          - UNAUTHORIZED
          - FORBIDDEN
          - NOT_FOUND
          - ORDER_PURCHASE_UPDATE_NOT_FOUND
          - TOO_MANY_REQUESTS
          - INTERNAL_SERVER_ERROR
          - BAD_GATEWAY
          - RETRYABLE_ORDER_PURCHASE_SCREEN_FAILURE
          - RETRYABLE_ORDER_PURCHASE_UPDATE_FAILURE
          - GATEWAY_TIMEOUT
          - BAD_REQUEST
        message:
          description: A human-readable explanation of the error, specific to this error occurrence.
          type: string
          example: An input validation error was encountered. Please see causes for more details.
      required:
      - code
      - message
    PaymentThreeDSCriteria:
      title: PaymentThreeDSCriteria
      description: Payment ThreeDS criteria attributes.
      type: object
      properties:
        probable_flag:
          description: This is a flag passed that indicates that this transaction could potentially go through 3DS.
          type: boolean
        transaction_model:
          description: Model used to process payment transaction.
          type: string
          maxLength: 200
    TravelProduct:
      title: TravelProduct
      description: 'The `type` field value is used as a discriminator, with the following mapping:

        * `CRUISE`: `Cruise`

        * `AIR`: `Air`

        * `CAR`: `Car`

        * `INSURANCE`: `Insurance`

        * `HOTEL`: `Hotel`

        * `RAIL`: `Rail`

        * `ACTIVITY`: `Activity`

        '
      required:
      - price
      - type
      - inventory_type
      - inventory_source
      type: object
      discriminator:
        propertyName: type
        mapping:
          CRUISE: '#/components/schemas/Cruise'
          AIR: '#/components/schemas/Air'
          CAR: '#/components/schemas/Car'
          INSURANCE: '#/components/schemas/Insurance'
          HOTEL: '#/components/schemas/Hotel'
          RAIL: '#/components/schemas/Rail'
          ACTIVITY: '#/components/schemas/Activity'
      properties:
        price:
          $ref: '#/components/schemas/Amount'
        type:
          $ref: '#/components/schemas/TravelProductType'
        inventory_type:
          description: 'Type of inventory.

            Ensure attributes mentioned in dictionary below are set to corresponding values only.

            `inventory_type` has the following mapping with TravelProduct `type` attribute:

            *       inventory_type            :      type

            * ------------------------------------------------------

            *  `Cruise`                       : `CRUISE`

            *  `Air`                          : `AIR`

            *  `Car`                          : `CAR`

            *  `Insurance`                    : `INSURANCE`

            *  `Hotel`                        : `HOTEL`

            *  `Rail`                         : `RAIL`

            *  `Activity`                     : `ACTIVITY`

            '
          type: string
          maxLength: 30
        inventory_source:
          description: 'Identifies the business model through which the supply is being sold. Merchant/Agency.

            * `MERCHANT` is used when Partner is the merchant of record for this order.

            * `AGENCY` is used when this order is through an agency booking.

            '
          type: string
          enum:
          - MERCHANT
          - AGENCY
        travelers_references:
          description: 'List of travelerGuids who are part of the traveling party on the order for the product.

            Information for each product and its required travelers should be provided in the API request.

            If the product booking does not require accompanying quest information then that does not need to be provided in the API request.

            Example:

            * For Air products, all travelers'' details are required to complete the booking.

            * For Hotel products, typically the details on the person checking-in is required.

            * For Car products, typically only the primary driver information is required.

            If multiple traveler details are in the itinerary, this structure allows to fill up traveler details once in the `travelers` section, and then associate individual products to the respective travelers.

            This association is made using `traveler_id` field. A GUID can be generated for each object in the `travelers` section. The same GUID can be provided in the `traveler_references` below.

            The `travelers` array should have at least one `traveler` object, and each `traveler` object should have a `traveler_id` which is not necessarily an account id.

            Example:

            *   Travelers

            * ------------

            *  A - GUID1

            *  B - GUID2

            *  C - GUID3

            *

            *   Products

            * ------------

            * Air

            *   [GUID1, GUID2, GUID3]

            * Hotel

            *   [GUID1]

            * Car

            *   [GUID3]

            * Rail

            *   [GUID2]

            * Activity

            *   [GUID1]

            * The example above demonstrates the association of travelers with various products.

            * All three travelers (A, B, and C) are associated with the Air product.

            * Traveler A is associated with the Hotel and Activity products.

            * Traveler C is associated with the Car product.

            * Traveler B is associated with the Rail product.

            '
          type: array
          minItems: 1
          maxItems: 40
          items:
            type: string
            maxLength: 50
        pay_later:
          description: "The attribute serves as a boolean indicator that significantly influences the handling of payment information during the fraud prevention process:\n* When 'pay_later' is set to 'true':\n  - This configuration signals that payment information is optional for the booking. Travelers are given the choice to defer payment until they arrive at the rental counter following the completion of the booking.\n  - It is imperative for partners to explicitly set this attribute to 'true' when payment information can be optional for a particular booking scenario.\n* When 'pay_later' is set to 'false':\n  - In this mode, the attribute mandates the inclusion of payment information during the order purchase screen request. Travelers are required to provide payment details.\n  - Partners must exercise caution and ensure they supply the necessary payment information, as failure to do so in cases where 'pay_later' is set to 'false' will result in a 'Bad Request' error. This error helps maintain the consistency and accuracy of the fraud prevention process and payment handling.\n"
          type: boolean
    RetryableOrderPurchaseScreenFailure:
      description: 'Indicates that the API is either down for maintenance or overloaded and cannot fulfill the request at the current time. This is a temporary error and retrying the same request after a certain delay could eventually result in success.

        There will be a Retry-After HTTP header in API response specifying how long to wait to retry the request. If there is no Retry-After HTTP header then retry can happen immediately. If the error persists after retrying with delay, please reach out to <support team>."

        '
      example:
        code: RETRYABLE_ORDER_PURCHASE_SCREEN_FAILURE
        message: A temporary internal error occurred. You can safely retry your call using the same order details.
      allOf:
      - $ref: '#/components/schemas/Error'
    Operations:
      title: Operations
      description: 'All operations related to a payment throughout its lifespan. An operation represents an event external to Fraud Prevention Service that specifies to perform a payment operation. Possible operation types include:


        - `Verify`


        - `Authorize`


        - `AuthorizeReversal`


        - `Capture`


        - `Refund`

        '
      type: object
      properties:
        verify:
          $ref: '#/components/schemas/Verify'
        authorize:
          $ref: '#/components/schemas/Authorize'
        authorize_reversal:
          $ref: '#/components/schemas/AuthorizeReversal'
        capture:
          $ref: '#/components/schemas/Capture'
        refunds:
          type: array
          items:
            $ref: '#/components/schemas/Refund'
          maxItems: 20
    NotFoundError:
      description: Indicates that the API cannot find the resource that is either being requested or against which the operation is being performed. Please check the request again to make sure that the request is valid.
      example:
        code: NOT_FOUND
        message: The requested resource does not exist.
      allOf:
      - $ref: '#/components/schemas/Error'
    TravelProductType:
      title: TravelProductType
      description: Type of product.
      type: string
      enum:
      - CRUISE
      - AIR
      - CAR
      - INSURANCE
      - HOTEL
      - RAIL
      - ACTIVITY
    Verify:
      title: Verify
      description: A verify operation represents the intent to verify the payment associated with this transaction.
      allOf:
      - $ref: '#/components/schemas/PaymentOperation'
      - type: object
        properties:
          type:
            $ref: '#/components/schemas/VerificationType'
    Traveler:
      title: Traveler
      type: object
      required:
      - traveler_name
      - primary
      properties:
        traveler_name:
          $ref: '#/components/schemas/Name'
        email_address:
          description: Email address associated with the traveler as supplied by the partner system.
          type: string
          format: email
          maxLength: 200
        telephones:
          type: array
          items:
            $ref: '#/components/schemas/Telephone'
          minItems: 1
          maxItems: 250
        primary:
          description: Indicator for one of the travelers who is the primary traveler. One traveler in each itinerary item must be listed as primary. By default, for a single traveler this should be set to `true`.
          type: boolean
        age:
          description: Age of the traveler.
          type: number
        birth_date:
          description: Date of birth for traveler, in ISO-8601 date and time format `yyyy-MM-ddTHH:mm:ss.SSSZ`.
          type: string
          format: date-time
          maxLength: 50
        citizenship_country_code:
          description: The alpha-3 ISO country code of the traveler's nationality.
          type: string
          pattern: ^[A-Z]{3}$
          minLength: 3
          maxLength: 3
        traveler_id:
          description: A unique identifier for travelers in the transaction.
          type: string
          maxLength: 100
    PaymentOperation:
      title: PaymentOperation
      type: object
      properties:
        id:
          type: string
          maxLength: 200
        amount:
          $ref: '#/components/schemas/Amount'
        outcome:
          $ref: '#/components/schemas/PaymentOutcome'
    SiteInfo:
      title: SiteInfo
      type: object
      required:
      - country_code
      - agent_assisted
      properties:
        country_code:
          description: The alpha-3 ISO code that represents a country name.
          pattern: ^[A-Z]{3}$
          type: string
          example: USA
        agent_assisted:
          description: Identifies if an agent assisted in booking travel for the customer. `False` if the order was directly booked by customer.
          type: boolean
    PaymentOutcome:
      title: PaymentOutcome
      type: object
      properties:
        status:
          $ref: '#/components/schemas/PaymentStatus'
        code:
          description: A mnemonic code for the payment processing.
          type: string
          maxLength: 200
        description:
          description: A short description providing additional explanation regarding the mnemonic code.
          type: string
          maxLength: 200
    Capture:
      title: Capture
      description: Capture operation on the payment. A capture operation represents a notification received usually from a 3rd party payment processor to indicate that the funds placed on hold will be captured and the funds transfer process will occur from the customer's funds to the merchant's funds.
      allOf:
      - $ref: '#/components/schemas/PaymentOperation'
      - type: object
    OrderPurchaseScreenRequest:
      title: OrderPurchaseScreenRequest
      type: object
      properties:
        transaction:
          $ref: '#/components/schemas/OrderPurchaseTransaction'
      required:
      - transaction
    AuthorizeReversal:
      title: AuthorizeReversal
      description: Authorize Reversal operation on the payment. An authorize reversal operation represents a notification received usually from a 3rd party payment processor to indicate that an authorization hold should be released as a result of a sale being partially or completely cancelled.
      allOf:
      - $ref: '#/components/schemas/PaymentOperation'
      - type: object
    TooManyRequestsError:
      description: Indicates that the API cannot fulfill the request because server resources have been exhausted. Perhaps the client has sent too many requests in a given amount of time or has reached some specific quota. Please check the rate limits for the product and adjust as necessary before retries. If you believe the rate limit was incorrect or if you need a different rate limit, please reach out to the <support team> regarding the next steps.
      example:
        code: TOO_MANY_REQUESTS
        message: The request failed because the server resources for this client have been exhausted.
      allOf:
      - $ref: '#/components/schemas/Error'
    TransactionDetails:
      title: TransactionDetails
      required:
      - order_id
      - current_order_status
      - order_type
      - travel_products
      - travelers
      type: object
      properties:
        order_id:
          description: Unique identifier assigned to the order by the partner. `order_id` is specific to the partner namespace.
          type: string
          maxLength: 50
          example: '1000000234'
        current_order_status:
          description: 'Status of the order:

            * `IN_PROGRESS` is used when order has not processed fully. For example, inventory has not yet been reserved, or payment has not yet been settled.

            * `COMPLETED` is used when an order has been processed fully. For example, inventory has been reserved, and the payment has been settled.

            '
          type: string
          enum:
          - IN_PROGRESS
          - COMPLETED
        order_type:
          description: 'Type of order. Possible `order_types`.


            `CREATE` - Initial type of a brand new order.


            `CHANGE` - If a `OrderPurchaseScreenRequest` has already been submitted for the initial booking with `order_type = CREATE`, but has now been modified and partner wishes to resubmit for Fraud screening then the `order_type = CHANGE`. Examples of changes that are supported are changes made to `check-in/checkout dates` or `price of a TravelProduct`.

            '
          type: string
          enum:
          - CREATE
          - CHANGE
          example: CREATE
        travel_products:
          type: array
          minItems: 1
          maxItems: 20
          items:
            $ref: '#/components/schemas/TravelProduct'
        travelers:
          description: Individuals who are part of the travel party for the order. At minimum there must be at least `1` traveler.
          type: array
          items:
            $ref: '#/components/schemas/Traveler'
          minItems: 1
          maxItems: 30
        payments:
          description: List of the form(s) of payment being used to purchase the order.  One or more forms of payment can be used within an order. Information gathered will be specific to the form of payment.
          type: array
          items:
            $ref: '#/components/schemas/Payment'
          minItems: 1
          maxItems: 30
    TelephonePlatformType:
      title: TelephonePlatformType
      description: Classification of the phone platform.
      type: string
      enum:
      - MOBILE
      - LANDLINE
      - VOIP
    GatewayTimeoutError:
      description: Indicates that the API gateway has issues completing the request on time. Request can be retried if it is idempotent, If the issue persists, please reach out to support. For non-idempotent requests, please reach out to <support team> to know the status of your request before attempting retries.
      example:
        code: GATEWAY_TIMEOUT
        message: The server timed out while trying to complete the request.
      allOf:
      - $ref: '#/components/schemas/Error'
    TelephoneType:
      title: TelephoneType
      description: 'Classification of the phone (e.g. `Home`, `Mobile`). '
      type: string
      enum:
      - HOME
      - MOBILE
      - BUSINESS
      - FAX
      - OTHER
    VerificationType:
      title: VerificationType
      description: The type of the verification used to verify the instrument. If the Card Verfication Value was provided to verify the credit card used for the transaction, `type = CVV`.
      type: string
      enum:
      - CVV
      - 3DS
    PaymentMethod:
      title: PaymentMethod
      description: 'The payment method used at the time of purchase for the transaction. Supported `method`''s are: `CREDIT_CARD`, `PAYPAL`, `POINTS`, `GIFT_CARD`, `INTERNET_BANK_PAYMENT`, `DIRECT_DEBIT`.'
      type: string
      enum:
      - CREDIT_CARD
      - PAYPAL
      - POINTS
      - GIFT_CARD
      - INTERNET_BANK_PAYMENT
      - DIRECT_DEBIT
    Payment:
      title: Payment
      description: 'The `method` field value is used as a discriminator, with the following mapping:

        * `CREDIT_CARD`: `CreditCard`

        * `PAYPAL`: `PayPal`

        * `POINTS`: `Points`

        * `GIFT_CARD`: `GiftCard`

        * `INTERNET_BANK_PAYMENT`: `InternetBankPayment`

        * `DIRECT_DEBIT`: `DirectDebit`

        '
      type: object
      required:
      - brand
      - method
      - billing_name
      - billing_email_address
      - billing_address
      discriminator:
        propertyName: method
        mapping:
          CREDIT_CARD: '#/components/schemas/CreditCard'
          PAYPAL: '#/components/schemas/PayPal'
          POINTS: '#/components/schemas/Points'
          GIFT_CARD: '#/components/schemas/GiftCard'
          INTERNET_BANK_PAYMENT: '#/components/schemas/InternetBankPayment'
          DIRECT_DEBIT: '#/components/schemas/DirectDebit'
      properties:
        brand:
          description: 'The `brand` field value is the payment brand used for payment on this transaction.

            For credit card payment method ensure attributes mentioned in dictionary below are set to corresponding values only.

            Ensure to comply with the naming standards provided in below dictionary. For example, some Payment processors use “Japan Credit Bureau” but “JCB” should be used when calling Fraud API.

            Incorrect `brand` - `card_type` combination will result in data quality issues and result in degraded risk recommendation.

            ''brand'' is an enum value with the following mapping with CreditCard ''card_type'' attribute:

            *       brand                 :      card_type

            * -------------------------------------------------------

            * `AMERICAN_EXPRESS`          : `AMERICAN_EXPRESS`

            * `DINERS_CLUB_INTERNATIONAL` : `DINERS_CLUB`

            * `BC_CARD`                   : `DINERS_CLUB`

            * `DISCOVER`                  : `DISCOVER`

            * `BC_CARD`                   : `DISCOVER`

            * `DINERS_CLUB_INTERNATIONAL` : `DISCOVER`

            * `JCB`                       : `DISCOVER`

            * `JCB`                       : `JCB`

            * `MASTER_CARD`               : `MASTER_CARD`

            * `MAESTRO`                   : `MASTER_CARD`

            * `POSTEPAY_MASTERCARD`       : `MASTER_CARD`

            * `SOLO`                      : `SOLO`

            * `SWITCH`                    : `SWITCH`

            * `MAESTRO`                   : `MAESTRO`

            * `CHINA_UNION_PAY`           : `CHINA_UNION_PAY`

            * `UATP`                      : `UATP`

            * `UATP_SUPPLY`               : `UATP`

            * `AIR_PLUS`                  : `UATP`

            * `UA_PASS_PLUS`              : `UATP`

            * `VISA`                      : `VISA`

            * `VISA_DELTA`                : `VISA`

            * `VISA_ELECTRON`             : `VISA`

            * `CARTA_SI`                  : `VISA`

            * `CARTE_BLEUE`               : `VISA`

            * `VISA_DANKORT`              : `VISA`

            * `POSTEPAY_VISA_ELECTRON`    : `VISA`

            * `PAYPAL`                    :


            ''brand'' with ''Points'' payment_type is an enum value with following:

            * `EXPEDIA_REWARDS`

            * `AMEX_POINTS`

            * `BANK_OF_AMERICA_REWARDS`

            * `DISCOVER_POINTS`

            * `MASTER_CARD_POINTS`

            * `CITI_THANK_YOU_POINTS`

            * `MERRILL_LYNCH_REWARDS`

            * `WELLS_FARGO_POINTS`

            * `DELTA_SKY_MILES`

            * `UNITED_POINTS`

            * `DISCOVER_MILES`

            * `ALASKA_MILES`

            * `RBC_REWARDS`

            * `BILT_REWARDS`

            * `ORBUCKS`

            * `CHEAP_CASH`

            * `BONUS_PLUS`

            * `ULTIMATE_REWARDS`


            ''brand'' with ''GiftCard'' payment_type is an enum value with following:

            * `GIFT_CARD`


            ''brand'' with ''InternetBankPayment'' payment_type is an enum value with following:

            * `IBP`

            * `LOCAL_DEBIT_CARD`

            * `SOFORT`

            * `YANDEX`

            * `WEB_MONEY`

            * `QIWI`

            * `BITCOIN`


            ''brand'' with ''DirectDebit'' payment_type is an enum value with following:

            * `ELV`

            * `INTER_COMPANY`

            * `SEPA_ELV`

            '
          type: string
          enum:
          - AMERICAN_EXPRESS
          - DINERS_CLUB_INTERNATIONAL
          - BC_CARD
          - DISCOVER
          - JCB
          - MASTER_CARD
          - MAESTRO
          - POSTEPAY_MASTERCARD
          - SOLO
          - SWITCH
          - CHINA_UNION_PAY
          - UATP
          - UATP_SUPPLY
          - AIR_PLUS
          - UA_PASS_PLUS
          - VISA
          - VISA_DELTA
          - VISA_ELECTRON
          - CARTA_SI
          - CARTE_BLEUE
          - VISA_DANKORT
          - POSTEPAY_VISA_ELECTRON
          - PAYPAL
          - EXPEDIA_REWARDS
          - AMEX_POINTS
          - BANK_OF_AMERICA_REWARDS
          - DISCOVER_POINTS
          - MASTER_CARD_POINTS
          - CITI_THANK_YOU_POINTS
          - MERRILL_LYNCH_REWARDS
          - WELLS_FARGO_POINTS
          - DELTA_SKY_MILES
          - UNITED_POINTS
          - DISCOVER_MILES
          - ALASKA_MILES
          - RBC_REWARDS
          - BILT_REWARDS
          - ORBUCKS
          - CHEAP_CASH
          - BONUS_PLUS
          - ULTIMATE_REWARDS
          - GIFT_CARD
          - IBP
          - LOCAL_DEBIT_CARD
          - SOFORT
          - YANDEX
          - WEB_MONEY
          - QIWI
          - BITCOIN
          - ELV
          - INTER_COMPANY
          - SEPA_ELV
        method:
          $ref: '#/components/schemas/PaymentMethod'
        reason:
          $ref: '#/components/schemas/PaymentReason'
        billing_name:
          $ref: '#/components/schemas/Name'
        billing_address:
          allOf:
          - $ref: '#/components/schemas/Address'
          - required:
            - zip_code
            - address_line1
            - city
            - country_code
        billing_email_address:
          description: Email address associated with the payment.
          type: string
          format: email
          maxLength: 200
        authorized_amount:
          $ref: '#/components/schem

# --- truncated at 32 KB (40 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/expedia-group/refs/heads/main/openapi/expedia-group-orderpurchasescreen-api-openapi.yml