Verifone POI Orders API

The POI Orders API from Verifone — 1 operation(s) for poi orders.

Operations 1

POST /orders/pois Create POI Order #

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/verifone-poi-orders-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

verifone-poi-orders-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: 3D Secure 3DS Authentication POI Orders API
  version: 3.43.0
  description: Operations for listing and retrieving 3DS authentication records. Use these endpoints to query historical authentication results filtered by amount, currency, card, status, and more.
servers:
- url: https://emea.gsc.verifone.cloud/oidc/3ds-service
  description: EMEA Production
- url: https://us.gsc.verifone.cloud/oidc/3ds-service
  description: Americas Production
- url: https://nz.gsc.verifone.cloud/oidc/3ds-service
  description: New Zealand Production
- url: https://cst.test-gsc.vfims.com/oidc/3ds-service
  description: Global Sandbox
- url: https://uscst-gb.gsc.vficloud.net/oidc/3ds-service
  description: Americas Sandbox
security:
- BearerAuth: []
- BasicAuth: []
tags:
- name: POI Orders
paths:
  /orders/pois:
    post:
      tags:
      - POI Orders
      summary: Create POI Order
      description: Adds new Point Of Interactions (terminals) to an existing merchant/store and optionally order hardware and services.
      operationId: addPoiOrder
      parameters:
      - $ref: '#/components/parameters/saveDraftHeaderParam'
      - $ref: '#/components/parameters/validateAcquirerHeaderParam'
      - $ref: '#/components/parameters/SimplifiedFlowHeaderParam'
      requestBody:
        description: Terminals to add
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PoiOrder'
      responses:
        '200':
          description: Create POI Order Response.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PoiOrderResponse'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '403':
          $ref: '#/components/responses/403'
        '404':
          $ref: '#/components/responses/404'
        '429':
          $ref: '#/components/responses/429'
        '500':
          $ref: '#/components/responses/500'
        '503':
          $ref: '#/components/responses/503'
        '504':
          $ref: '#/components/responses/504'
components:
  parameters:
    SimplifiedFlowHeaderParam:
      name: X-Use-Simplified-Order-Flow
      in: header
      description: An optional header indicating to the client, the new approach delegates more logic to the backend, requiring the API/UI client to supply only the essential data when possible. Our backend now intelligently derives missing fields by leveraging defaults and configurations from the Portfolio Service
      required: false
      schema:
        type: boolean
    validateAcquirerHeaderParam:
      name: validateAcquirer
      in: header
      description: An optional header indicating whether to validate the acquirer.
      required: false
      schema:
        type: boolean
    saveDraftHeaderParam:
      name: saveDraft
      in: header
      description: An optional header indicating whether to save the order into a DRAFT status. If this value is not specified or set to false then the order will be SUBMITTED immediately.
      required: false
      schema:
        type: boolean
  schemas:
    ContactName:
      allOf:
      - $ref: '#/components/schemas/Name'
    OrderStats:
      type: object
      description: Order Statistics
      properties:
        minsSinceCreatedToLastUpdate:
          type: integer
          description: Number of minutes since last status update and created order time
          default: 0
        minsSinceLastStatusUpdate:
          type: integer
          description: Number of minutes (if > 0) since last status update
          default: 0
    SignersInformation:
      description: Information on the signers in the request.
      type: object
      properties:
        providerRef:
          description: Signing Provider reference to the signers signing request.
          type: string
        contact:
          $ref: '#/components/schemas/ContactType'
        signed:
          description: Has the signer signed the contract.
          type: boolean
          default: false
        signedDateTime:
          description: Date/Time signer signed the request.
          type: string
          format: date-time
        signingLink:
          description: This is the link used for signing the contract.
          type: string
      required:
      - contact
    CountryCode3Enum:
      title: Country Code
      type: string
      description: The [ISO 3166-1 alpha-3](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3) country code.<blockquote><strong>Note:</strong> The country code for Great Britain is <code>GB</code> and not <code>UK</code> as is used in that country's top-level domain names.</blockquote>.
      enum:
      - ZZZ
      - ABW
      - AFG
      - AGO
      - AIA
      - ALA
      - ALB
      - AND
      - ARE
      - ARG
      - ARM
      - ASM
      - ATA
      - ATF
      - ATG
      - AUS
      - AUT
      - AZE
      - BDI
      - BEL
      - BEN
      - BES
      - BFA
      - BGD
      - BGR
      - BHR
      - BHS
      - BIH
      - BLM
      - BLR
      - BLZ
      - BMU
      - BOL
      - BRA
      - BRB
      - BSB
      - BRN
      - BTN
      - BVT
      - BWA
      - CAF
      - CAN
      - CCK
      - CHE
      - CHL
      - CHN
      - CIV
      - CMR
      - COD
      - COG
      - COK
      - COL
      - COM
      - CPV
      - CRI
      - CUB
      - CUW
      - CXR
      - CYM
      - CYP
      - CZE
      - DEU
      - DJI
      - DMA
      - DNK
      - DOM
      - DZA
      - ECU
      - EGY
      - ERI
      - ESH
      - ESP
      - EST
      - ETH
      - FIN
      - FJI
      - FLK
      - FRA
      - FRO
      - FSM
      - GAB
      - GBR
      - GEO
      - GGY
      - GHA
      - GIB
      - GIN
      - GLP
      - GMB
      - GNB
      - GNQ
      - GRC
      - GRD
      - GRL
      - GTM
      - GUF
      - GUM
      - GUY
      - HKG
      - HMD
      - HND
      - HRV
      - HTI
      - HUN
      - IDN
      - IMN
      - IND
      - IOT
      - IRL
      - IRN
      - IRQ
      - ISL
      - ISR
      - ITA
      - JAM
      - JEY
      - JOR
      - JPN
      - KAZ
      - KEN
      - KGZ
      - KHM
      - KIR
      - KNA
      - KOR
      - KWT
      - LAO
      - LBN
      - LBR
      - LBY
      - LCA
      - LIE
      - LKA
      - LSO
      - LTU
      - LUX
      - LVA
      - MAC
      - MAF
      - MAR
      - MCO
      - MDA
      - MDG
      - MDV
      - MEX
      - MHL
      - MKD
      - MLI
      - MLT
      - MMR
      - MNE
      - MNG
      - MNP
      - MOZ
      - MRT
      - MSR
      - MTQ
      - MUS
      - MWI
      - MYS
      - MYT
      - NAM
      - NCL
      - NER
      - NFK
      - NGA
      - NIC
      - NIU
      - NLD
      - NOR
      - NPL
      - NRU
      - NZL
      - OMN
      - PAK
      - PAN
      - PCN
      - PER
      - PHL
      - PLW
      - PNG
      - POL
      - PRI
      - PRK
      - PRT
      - PRY
      - PSE
      - PYF
      - QAT
      - REU
      - ROU
      - RUS
      - RWA
      - SAU
      - SDN
      - SEN
      - SGC
      - SGP
      - SHN
      - SJM
      - SLB
      - SLE
      - SLV
      - SMR
      - SOM
      - SPM
      - SRB
      - SSD
      - STP
      - SUR
      - SVK
      - SVN
      - SWE
      - SWZ
      - SXM
      - SYC
      - SYR
      - TCA
      - TCD
      - TGO
      - THA
      - TJK
      - TKL
      - TKM
      - TLS
      - TON
      - TTO
      - TUN
      - TUR
      - TUV
      - TWN
      - TZA
      - UGA
      - UKR
      - UMI
      - URY
      - USA
      - UZB
      - VAT
      - VCT
      - VEN
      - VGB
      - VIR
      - VNM
      - VUT
      - WLF
      - WSM
      - YEM
      - ZAF
      - ZMB
      - ZWE
    ReplacedDevice:
      title: ReplacedDevice
      type: object
      description: A device being replaced under a replacement agreement.
      required:
      - serialNumber
      - deviceModel
      properties:
        serialNumber:
          type: string
          minLength: 1
          maxLength: 12
          description: Serial number of the replaced device.
        deviceModel:
          type: string
          minLength: 1
          maxLength: 100
          description: Model name of the replaced device.
    CutoverTime:
      type: string
      description: 'The cutover time HH:MM. Usually this will be a local time where a timezone has to be used to be used to derive the UTC time. EG: processor.cutoverTimeZone'
      pattern: ^(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$
    ExtendedDetails:
      description: Detailed Status of the Order
      type: object
      properties:
        status:
          $ref: '#/components/schemas/DetailedStatusEnum'
        code:
          type: string
          description: Code associated with the status (if applicable)
        information:
          type: string
          description: Extra Information associated with the status (if applicable)
        lastChangeTime:
          $ref: '#/components/schemas/LastChangeTime'
        canCancel:
          type: boolean
          description: Can this order be cancelled.
    MerchantNameWrapper:
      description: Simple Wrapper object for Merchant Name.Used by UI.
      type: object
      properties:
        merchantName:
          $ref: '#/components/schemas/MerchantName'
    ContactAddressType:
      description: A Contact and their address details.
      type: object
      properties:
        contact:
          $ref: '#/components/schemas/ContractContactType'
        addressDetails:
          $ref: '#/components/schemas/BaseAddress'
        dateOfBirth:
          type: string
          description: Date of Birth
          format: date
        placeOfBirth:
          type: string
          description: Place of Birth
        isIDCheckRequired:
          type: boolean
          description: Is this contact's ID required to be checked
          default: false
        isContractSignatureRequired:
          type: boolean
          description: Is this contact's signature required
          default: false
        isLegalRepresentative:
          type: boolean
          description: Is this contact a legal representative
          default: false
        isAuthorizedRepresentative:
          type: boolean
          description: Is this contact an authorized representative
          default: false
        isBeneficiaryOwner:
          type: boolean
          description: Is a beneficiary owner
          default: false
        isPoliticallyExposed:
          type: boolean
          description: Is this contact a politically exposed person
          default: false
        representativeType:
          type: string
          description: Type of representative when this contact is legal or authorized rep
          enum:
          - GENERAL_COMMERCIAL_POWER
          - LIMITED_COMMERCIAL_POWER
          - NOT_APPLICABLE
      required:
      - contact
      - addressDetails
    ThreeDSecureMerchantIdentifiers:
      title: Merchant Identifier
      description: 'Override the Merchant ID (merchantId) with the default value configured in the payment provider contract (PPC), where applicable.

        In cases where the acquirer-issued Merchant ID for the authorization flow differs from the one used in the 3DS (SafeKey) flow, ensure the correct ID is applied for each flow.

        For example, Amex often requires merchants to complete separate onboarding processes for 3DS and authorization, resulting in two distinct Merchant IDs:

        * One used for SafeKey (3DS authentication) * Another used for authorization via the acquirer or gateway'
      required:
      - merchantId
      - paymentType
      properties:
        merchantId:
          type: string
          description: "Merchant ID assigned by Acquirer for 3DS flow. Override the Merchant ID (merchantId) with the default value configured in the payment provider contract (PPC), where applicable.\nIn cases where the acquirer-issued Merchant ID for the authorization flow differs from the one used in the 3DS (SafeKey) flow, ensure the correct ID is applied for each flow.\nFor example, Amex often requires merchants to complete separate onboarding processes for 3DS and authorization, resulting in two distinct Merchant IDs:\n\n  * One used for SafeKey (3DS authentication)\n  * Another used for authorization via the acquirer or gateway"
          pattern: ^$|^(?!\s*$).+
          maxLength: 30
        paymentType:
          $ref: '#/components/schemas/PaymentTypeEnum'
    TimeZone:
      description: A time zone, following the format defined in the IANA tz database (https://www.iana.org/time-zones). Valid examples are America/New_York and Etc/UTC. Do not use ambiguous, non-qualified values such as EST or GB. Before including this type in your interface, please consider whether it is actually appropriate to convey time zone information with your type. It is almost always the case that this should be transformed from UTC at the time of display to the user; this type might therefore be most associated with user-preference APIs.
      type: string
      minLength: 1
      maxLength: 127
    SepaAccount:
      title: SEPA Bank Account
      description: A SEPA Account structure extending the base account
      allOf:
      - $ref: '#/components/schemas/Account'
      - properties:
          country:
            $ref: '#/components/schemas/CountryCode3Enum'
          accountName:
            type: string
            description: Name of the account as known by the financial institution operating the account.
          iban:
            $ref: '#/components/schemas/IBANIdentifier'
          bic:
            $ref: '#/components/schemas/BICIdentifier'
    VariableResponseType:
      description: Variable/Value Pairs.
      type: object
      properties:
        variableName:
          type: string
          description: Variable name (this would be provided by Verifone)
          pattern: ^[A-Za-z0-9_-]*$
        variableValue:
          type: string
          maxLength: 10000
          description: Value of the variable
    CreatedUserId:
      description: The assigned User ID corresponding to the Order Created By.
      type: string
      format: uuid
    Name:
      title: Name Details
      description: An object representing the name or component names of a party, person or business. No elements are mandatory due to the different usages, but the business rules need to be applied in the context where name is used.
      type: object
      uniqueItems: false
      properties:
        firstName:
          description: The given name of contact.
          type: string
          minLength: 1
          maxLength: 120
        lastName:
          description: The surname name or family name of the contact. This is required when the name is for a party or person. Can also include the matronymic or mother's family name where this is customarily used.
          minLength: 1
          maxLength: 120
          type: string
        prefix:
          description: The prefix to the party name. This is sometimes referred to as a title, salutation or appellation.
          maxLength: 120
          type: string
        alternateFullName:
          description: The alternate name for the party. This can be a business name or nickname. This should be used where the name of the party cannot be parsed into its constituent parts such as first name or last name. If the party is a business then this should always be present.
          maxLength: 200
          type: string
        middleName:
          description: The middle name or names for a party or person.
          maxLength: 120
          type: string
        suffix:
          description: The name suffix for the party.
          maxLength: 120
          type: string
      required:
      - firstName
      - lastName
    AdjustedPriceType:
      type: object
      properties:
        priceModel:
          type: string
          description: Pricing Model
          enum:
          - MONTHLY_FEE
          - MONTHLY_FEE_PER_DEVICE
          - MINIMUM_AMT_PER_TRX
          - AMT_PER_TRX
          - PERC_PER_TRX
          - ONE_TIME
          - YEARLY_FEE
          - QUARTERLY_FEE
        price:
          $ref: '#/components/schemas/AmountSimple'
    MerchantDocument:
      type: object
      description: Merchant Document Info.
      allOf:
      - $ref: '#/components/schemas/RequiredDocument'
      - properties:
          uploadedDate:
            type: string
            description: The uploaded date for this document.
            format: date-time
          modifiedDate:
            type: string
            description: The modified date for this document on status change.
            format: date-time
    httpError429:
      title: HTTP 429 Error
      type: object
      description: The resource exists the number of requests has exceeded the specified quota.
      allOf:
      - $ref: '#/components/schemas/ErrorResp'
      - properties:
          code:
            type: string
            enum:
            - '429'
            default: '429'
          title:
            type: string
            enum:
            - Too Many Requests
            default: Too Many Requests
          message:
            type: string
            default: The number of requests from this client is restricted to a specified quota.
          timestamp:
            description: "The time that the error occurred. All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone."
            type: string
            format: date-time
          type:
            type: string
            enum:
            - RATE_LIMIT_ERROR
            default: RATE_LIMIT_ERROR
          param:
            description: The parameter the error relates to if the error is parameter-specific. You can use this to display a message near the correct form field, for example.
            type: string
      required:
      - code
      - title
      - message
      - type
      additionalProperties: false
    httpError404:
      title: HTTP 404 Error
      type: object
      description: The server cannot find the requested resource.
      allOf:
      - $ref: '#/components/schemas/ErrorResp'
      - properties:
          code:
            type: string
            enum:
            - '404'
            default: '404'
          title:
            type: string
            enum:
            - Not Found
            default: Not Found
          message:
            type: string
            default: The server cannot find the requested resource.
          timestamp:
            description: "The time that the error occurred. All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone."
            type: string
            format: date-time
          type:
            type: string
            enum:
            - INVALID_REQUEST_ERROR
            default: INVALID_REQUEST_ERROR
          param:
            description: The parameter the error relates to if the error is parameter-specific. You can use this to display a message near the correct form field, for example.
            type: string
      required:
      - code
      - title
      - message
      - type
      additionalProperties: false
    OrderStatusEnum:
      type: string
      enum:
      - DRAFT
      - SUBMITTED
      - INPROGRESS
      - COMPLETED
      - CANCELLED
      - ONHOLD
    PoiOrderResponse:
      allOf:
      - $ref: '#/components/schemas/PoiOrder'
      - properties:
          orderId:
            $ref: '#/components/schemas/OrderId'
          status:
            $ref: '#/components/schemas/OrderStatusEnum'
          createdUserUid:
            $ref: '#/components/schemas/CreatedUserId'
          createdBy:
            $ref: '#/components/schemas/UserName'
          createdDate:
            type: string
            description: The created date for this order.
            format: date-time
          modifiedUserUid:
            description: The assigned User_ID corresponding to the Order Modified By.
            type: string
            format: uuid
          modifiedBy:
            $ref: '#/components/schemas/UserName'
          modifiedDate:
            type: string
            description: The last modified date for this order.
            format: date-time
          orderType:
            type: string
            default: POIOrder
          entityUid:
            $ref: '#/components/schemas/EntityUid'
          merchantCompanyEntityUid:
            $ref: '#/components/schemas/MerchantCompanyEntityUid'
          merchant:
            $ref: '#/components/schemas/MerchantNameWrapper'
          internal:
            $ref: '#/components/schemas/InternalAllocatedInformation'
      required:
      - orderId
      - status
      - orderType
    AltVfiPoiId:
      description: 'An alternative Verifone assigned identifier used for the POI within Verifone systems for transaction processing. This

        is also referred to as the Terminal ID (TID). This value maps to DE41 in ISO8583 specification. This identifier may

        also be used per contract if required.


        <strong>This value is not guaranteed to be globally unique. The unique value is the internally assigned uuid - poiUid

        which is returned on the response.</strong>'
      type: string
      maxLength: 12
    LastChangeTime:
      description: Time status detailed status last changed.
      type: string
      format: date-time
    MerchantCompanyEntityUid:
      description: The Verifone allocated unique ID for this merchant company.
      type: string
      format: uuid
    BundleAndPrice:
      type: object
      properties:
        packageBundleId:
          $ref: '#/components/schemas/PackageBundleId'
        price:
          $ref: '#/components/schemas/AmountSimple'
      required:
      - packageBundleId
    ExternalOnboarding:
      description: External merchant onboarding details
      type: object
      discriminator:
        propertyName: provider
        mapping:
          BANKAXEPT: '#/components/schemas/BankAxeptExternalOnboarding'
      properties:
        provider:
          title: External Onboarding Provider
          description: The third-party provider used for merchant onboarding.
          type: string
          enum:
          - BANKAXEPT
          default: BANKAXEPT
        agreementId:
          type: string
          format: uuid
          description: 'Agreement or onboarding order identifier returned by the third-party provider when onboarding is initiated.

            '
        agreementStatus:
          type: string
          description: 'Latest onboarding or agreement status received from the third-party provider.

            '
    CustomerOrderLink:
      description: Customer Order Link Sent Details
      type: object
      properties:
        orderLink:
          description: 'The unique order link sent to the customer to help them navigate directly to the relevant  step in the order process. This link ensures the customer can update their order efficiently.

            '
          type: string
          format: uri
        linkInitiatorUserUid:
          description: The unique User ID of the user who generated the order link.
          type: string
          format: uuid
        linkInitiatorUsername:
          $ref: '#/components/schemas/UserName'
        linkReceiverUserUid:
          description: The unique User ID of the customer who received the order link.
          type: string
          format: uuid
        linkReceiverUsername:
          $ref: '#/components/schemas/UserName'
        linkSendTime:
          description: 'Date and time when the order link was sent to the customer.  This represents when the system triggered the link delivery.

            '
          type: string
          format: date-time
        linkOpendByCustomerTime:
          description: 'Date and time when the order link was opened by the customer.

            '
          type: string
          format: date-time
        customerUpdateTime:
          description: 'Date and time when the customer last updated their order after using the order link.

            '
          type: string
          format: date-time
    Account:
      title: Account
      description: 'Unambiguous identification of an account to which credit and debit entries are made.


        These entries are based on the Open Banking standards used in various countries - UK, Australia, New Zealand as well as a combination of details from the ISO20022 account properties.'
      additionalProperties: false
      properties:
        currency:
          $ref: '#/components/schemas/CurrencyCodeEnum'
        accountHolderType:
          type: string
          enum:
          - BUSINESS
          - PERSONAL
          default: BUSINESS
        description:
          description: Specifies the description of the account type.
          type: string
          minLength: 1
          maxLength: 35
        nickname:
          description: The nickname of the account, assigned by the account owner in order to provide an additional means of identification of the account.
          type: string
          minLength: 1
          maxLength: 70
    NotificationReminders:
      description: A container for all supported notification reminders.
      type: object
      properties:
        econtract:
          $ref: '#/components/schemas/NotificationReminder'
        draft:
          $ref: '#/components/schemas/NotificationReminder'
        docRequired:
          $ref: '#/components/schemas/NotificationReminder'
      additionalProperties: false
    DomesticAccount:
      title: Domestic Bank Account
      description: A Domestic Bank Account structure extending the base account.
      allOf:
      - $ref: '#/components/schemas/Account'
      - properties:
          accountName:
            description: Name of the account as known by the financial institution operating the account.
            type: string
          sortCode:
            description: The UK Sorting Code identifier the sort code is xx xx xx.
            type: string
            pattern: ^[0-9]{6,6}$
          bsb:
            description: An Australian/New Zealand term for the Bank State Branch indicator. It is a 6 digit value constructed with the first 2 digits identifying the bank.
            type: string
            pattern: ^[0-9]{6,6}$
          routingTransitNumber:
            type: string
            description: Routing transit number for the bank account. A routing transit number is a nine-digit number used to identify a bank or financial institution when clearing funds or processing checks. Established by the American Bankers Association (ABA).
            pattern: ^[0-9]{9,9}$
          accountNumberType:
            description: "The type of the `accountNumber` which asserts the format of the number:\n - `BANKGIRIT`: Up to 9 characters (example: 123-4567 or 1234-5678)\n - `PLUSGIROT`: Up to 24 characters; starts with \"SE50\"\n - `DEFAULT`: Format-less value"
            type: string
            enum:
            - BANKGIROT
            - PLUSGIROT
            - DEFAULT
            default: DEFAULT
          accountNumber:
            description: The number of the account.
            type: string
    BusinessTitle:
      type: string
      maxLength: 100
    PoiStatusEnum:
      type: string
      enum:
      - ACTIVE
      - DEACTIVE
    Notification:
      description: Object containing the sent date-time and template used for the notification.
      type: object
      properties:
        sentDateTime:
          description: Date and Time when the notification was sent.
          type: string
          format: date-time
        template:
          description: Template name used for the notification.
          type: string
        responseReferenceId:
          description: An ID from Messaging Service's response.
          type: string
    ContactType:
      description: The details of a Contact.
      type: object
      properties:
        contactType:
          $ref: '#/components/schemas/ContactTypeEnum'
        name:
          $ref: '#/components/schemas/ContactName'
        phoneNumbers:
          description: The phone numbers to be used for the Contact. If you include this property there should be at least one phone number.
          items:
            $ref: '#/components/schemas/Phone'
          minItems: 1
          uniqueItems: true
          type: array
        email:
          $ref: '#/components/schemas/EmailAddress'
        businessTitle:
          $ref: '#/components/schemas/BusinessTitle'
      required:
      - contactType
      - name
    BaseOrderData:
      type: object
      properties:
        orderReference:
          $ref: '#/components/schemas/OrderReference'
        customerEntityUid:
          type: string
          format: uuid
          description: Verifone allocated ID for the customer this order is for (packages and bundles are associated with this entity).
        requestedDate:
          type: string
          description: The requested date for this order.
          format: date-time
        poRef:
          type: string
          description: Purchase Order Reference
        paymentDetails:
          $ref: '#/components/schemas/PaymentDetails'
        notes:
          type: string
          description: Notes for the Order
        additionalOrderData:
          type: array
          description: Input data which maybe required for the country/business unit to to complete the order. For example some countries require a VAT ID, or different legal forms of business, this will be defined by Verifone if needed for your integration
          maxItems: 100
          items:
            $ref: '#/components/schemas/VariableResponseType'
      required:
      - orderReference
      - customerEntityUid
    httpError503:
      title: HTTP 503 Error
      type: object
      description: Service Unavailable Error
      allOf:
      - $ref: '#/components/schemas/ErrorResp'
      - properties:
          code:
            type: string
            enum:
            - '503'
            default: '503'
          title:
            type: string
            enum:
            - Service Unavailable
            default: Service Unavailable
          message:
            type: string
            default: The server is not ready to handle the request. If specified please check the <strong>Retry-After</strong> for the time period specified for recovery/re-attempt of request.
          timestamp:
            description: "The time that the error occurred. All dates in the JSON payloads are represented in ISO 8601 date-time format. \nAll date-time fields in responses must include the timezone."
            type: string
            format: date-time
          type:
            type: string
            enum:
            - API_ERROR
            default: API_ERROR
          param:
            description: The parameter the error relates to if the error is parameter-specific. You can use this to display a message near the correct form field, for example.
            type: string
      required:
      - code
      - title
      - message
      - type
      additionalProperties: false
    ContactTypeEnum:
      title: Contact Type
      description: 'An indicator for the type of contact.


        |Value|Description|

        |----|-----------|

        |BUSINESS|Generic business contact information, e.g. info@example.com|

        |DISPUTE_HANDLING|Generic contact information specific to dispute handling, e.g. disputes@example.com|

        |OWNER|Individual contact information of the owner of the Entity, e.g. ben.jerry@example.com|

        |PERSONAL|Personal contact information of the person representing the Entity, e.g. bjerr83@example-personal-email-domain.com|'
      type: string
      enum:
      - BUSINESS
      - DISPUTE_HANDLING
      - OWNER
      - PERSONAL
      default: BUSINESS
    DocumentStatusEnum:
      type: string
      description: Current status of the document. Rejected documents must be re-uploaded.
      enum:
      - PENDING_UPLOAD
      - UPLOADED
      - PENDING_SCAN
      - ACCEPTED_CLEAN
      - REJECTED_INFECTED
    VmssSchemeMatches:
      description: Number of matches found against the VMSS service.
      type: number
    EmailAddress:
      title: Email Address
      maxLength: 254
      minLength: 3
      type: string
      format: email
      pattern: ^[a-zA-Z0-9!#$%&'*+=?^_`{|}~.-]+@[a-zA-Z0-9-]+[.].+$
      description: A valid internation

# --- truncated at 32 KB (81 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/verifone/refs/heads/main/openapi/verifone-poi-orders-api-openapi.yml