Verifone Hardware Orders API

The Hardware Orders API from Verifone — 1 operation(s) for hardware orders.

OpenAPI Specification

verifone-hardware-orders-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: 3D Secure 3DS Authentication Hardware 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: Hardware Orders
paths:
  /orders/hardware:
    post:
      tags:
      - Hardware Orders
      summary: Create Hardware Order
      description: Adds a new hardware order to the system.
      operationId: addHardwareOrder
      parameters:
      - $ref: '#/components/parameters/saveDraftHeaderParam'
      - $ref: '#/components/parameters/SimplifiedFlowHeaderParam'
      requestBody:
        description: Hardware to add
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HardwareOrder'
      responses:
        '200':
          description: Create Hardware Order Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HardwareOrderResponse'
        '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:
  schemas:
    AmountSimple:
      title: Amount Simple Type
      type: string
      description: 'The value, which can be anything from:

        - An integer. For currencies that are not typically fractional, such as `JPY`. - A three-place decimal fraction. For currencies that are subdivided into thousandths, such as `TND`.

        *The required number of decimal places for a currency code is according to [ISO 4217](https://wikipedia.org/wiki/ISO_4217). However the following table documents exception to ISO 4217 that is also allowed:*


        |Code|Currency|Decimals|Fixed minor units|

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

        |ISK|Iceland Krona|2|.00|

        '
      maxLength: 32
      pattern: ^((-?[0-9]+)|(-?([0-9]+)?[.][0-9]+))$
    SigningInformation:
      description: Information on the signing request.
      type: object
      properties:
        provider:
          type: string
          description: Signing Provider used
          enum:
          - SIGNICAT
          - ADOBE
          - DOKOBIT
        providerRef:
          type: string
          description: Signing Provider reference to the signing request
        signedFileUrl:
          type: string
          description: URL to the signed file
        signingRequests:
          type: array
          items:
            $ref: '#/components/schemas/SignersInformation'
      required:
      - provider
      - providerRef
    EmailAddress:
      title: Email Address
      maxLength: 254
      minLength: 3
      type: string
      format: email
      pattern: ^[a-zA-Z0-9!#$%&'*+=?^_`{|}~.-]+@[a-zA-Z0-9-]+[.].+$
      description: A valid internationalized email address, as defined by RFC 5322, RFC 6530, and other RFCs. Due to RFC 5321, an email address can be up to 254 characters long even though up to 64 characters are allowed before and 255 characters are allowed after the @ sign. This pattern verifies only that the string contains an unquoted @ sign. See https://tools.ietf.org/html/rfc5322#section-3.4.1.
    httpError500:
      title: HTTP 500 Error
      type: object
      description: Unexpected Server Error
      allOf:
      - $ref: '#/components/schemas/ErrorResp'
      - properties:
          code:
            type: string
            enum:
            - '500'
            default: '500'
          title:
            type: string
            enum:
            - Internal Server Error
            default: Internal Server Error
          message:
            type: string
            default: The server encountered an unexpected condition which prevented it from fulfilling the 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
    HardwareOrderResponse:
      allOf:
      - $ref: '#/components/schemas/HardwareOrder'
      - 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: HardwareOrder
          internal:
            $ref: '#/components/schemas/InternalAllocatedInformation'
      required:
      - orderId
      - status
      - orderType
      - merchantCompanyEntityUid
    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
    OrderId:
      description: Verifone allocated ID for the Order.
      type: string
      format: uuid
    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.

            '
    HardwareOrder:
      type: object
      allOf:
      - $ref: '#/components/schemas/HardwareOrderData'
      - type: object
        properties:
          packageDetails:
            $ref: '#/components/schemas/PackageDetails'
          merchant:
            $ref: '#/components/schemas/HardwareMerchant'
        required:
        - merchant
    PackageBundleId:
      description: The Verifone allocated ID for the package bundle.
      type: string
      pattern: ^[A-Za-z0-9_-]*$
      maxLength: 100
    Phone:
      title: Phone number
      description: A simple Phone Number
      type: object
      additionalProperties: false
      properties:
        callingCode:
          description: Country Calling Code. Mapped to PARTY_PHONE.CALLING_CODE or VENUE_PHONE.CALLING_CODE
          type: string
        value:
          description: The actual phone number less country code and/or extension.
          type: string
          minLength: 5
        extension:
          description: The internal extension number where applicable or known.
          type: string
        isPrimary:
          description: Indicates that the phone is a the primary phone. Mapped to PARTY_PHONE_PRIMARY
          type: boolean
          default: false
        phoneType:
          $ref: '#/components/schemas/PhoneTypeEnum'
      required:
      - value
      - phoneType
    httpError504:
      title: HTTP 504 Error
      type: object
      description: Gateway Timeout Error
      allOf:
      - $ref: '#/components/schemas/ErrorResp'
      - properties:
          code:
            type: string
            enum:
            - '504'
            default: '504'
          title:
            type: string
            enum:
            - Gateway Timeout
            default: Gateway Timeout
          message:
            type: string
            default: The server, while acting as a gateway or proxy, did not get a response in time from the upstream server that it needed in order to complete the 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
    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
    LastChangeTime:
      description: Time status detailed status last changed.
      type: string
      format: date-time
    BaseProcessorParameters:
      description: Payment Processor Parameters related to Merchant onboarding.
      type: object
      properties:
        processor:
          title: Payment Provider ContractType Processor Acquirer Type
          description: A type indicator for the contract that is being processed.
          type: string
          enum:
          - ABS_ISO
          - ABS_PDM
          - ABS_WEB
          - AMEX
          - BANKAXEPT
          - BANQUE_CHABRIERES
          - BARCLAYS
          - BFCOI
          - BNPP_ATC
          - BNP_PARIBAS
          - BNPP_VERS_ATOS
          - BRED
          - CAISSE_D_EPARGNE
          - CBA
          - CEDICAM
          - CIC
          - CM_ARKEA
          - CREDIT_AGRICOLE
          - CREDIT_DU_NORD_VERS_ATOS
          - CREDIT_DU_NORD_VERS_NATIXIS
          - CREDIT_MUTUEL
          - CREDITGUARD
          - DANKORT
          - EFTPOS_NZ
          - ELAVON
          - FDRC
          - FIRSTDATA
          - GICC
          - GIVEX
          - GLOBALPAY
          - GPP2
          - HSBC
          - IKANO
          - INTERCARD
          - ISRACARD
          - LA_BANQUE_POSTAL
          - LCL
          - LES_BANQUES_POPULAIRES
          - LLOYDS_CARDNET
          - MAESTRO
          - MOBILEPAY
          - NETS
          - OTHER
          - PAYPAL
          - PAYPAL_ECOM
          - PELECARD
          - RESURS_BANK
          - RTS
          - SG
          - SIMULATOR
          - SWEDBANK_PAY
          - SWISH
          - TIETO_EVRY
          - VERIFONE_AU
          - VIPPS
          - WESTPAC
          - WORLDPAY
          - WPAY_AU
          - FISERV_AU
          - CUSCAL_AU
          - CHASE_US
          - ELAVON_US
          - FISERV_US
          - TSYS_US
          - GLOBALPAYMENTS_US
          - VANTIV_US
          - HEARTLAND_US
          - TELECHECK_US
          - SC_AMEX
          - SC_EVRY
          - SC_LUOTTOKUNTA
          - SC_NETS_DK
          - SC_NETS_NO
          - SC_SWEDBANK_SE
          - SVS_US
          - SVS_UK
          - VALUELINK_US
          - VALUELINK_CA
          - VALUTEC_US
          - UNIFY_GIVEX
          default: TSYS_US
        tidList:
          description: A pool of terminal IDs issued by the Acquiring Institution. This pool is intended to be used for the POIs that's capable of initiating multiple payment requests in parallel (e.g. Checkout Page and Virtual Terminal)
          type: array
          uniqueItems: true
          items:
            type: string
      discriminator:
        propertyName: processor
        mapping:
          GIVEX: '#/components/schemas/ProcessorParametersGivex'
          GLOBALPAYMENTS_US: '#/components/schemas/ProcessorParametersUSGPEAST'
          TSYS_US: '#/components/schemas/ProcessorParametersUSTSYS'
          CHASE_US: '#/components/schemas/ProcessorParametersUSCHASE'
          ELAVON_US: '#/components/schemas/ProcessorParametersUSELAVON'
          FISERV_US: '#/components/schemas/ProcessorParametersUSFIRSTDATA'
          VANTIV_US: '#/components/schemas/ProcessorParametersUSVANTIV'
          HEARTLAND_US: '#/components/schemas/ProcessorParametersUSHeartland'
          TELECHECK_US: '#/components/schemas/ProcessorParametersUSTelecheck'
          FISERV_AU: '#/components/schemas/ProcessorParametersFiservAU'
          CUSCAL_AU: '#/components/schemas/ProcessorParametersCuscalAU'
          WPAY_AU: '#/components/schemas/ProcessorParametersWpayAU'
          SVS_UK: '#/components/schemas/ProcessorParametersSVS'
          SVS_US: '#/components/schemas/ProcessorParametersSVS'
          VALUELINK_US: '#/components/schemas/ProcessorParametersValuelink'
          VALUELINK_CA: '#/components/schemas/ProcessorParametersValuelink'
          VALUTEC_US: '#/components/schemas/ProcessorParametersValutecUS'
          VERIFONE_AU: '#/components/schemas/ProcessorParametersVerifoneAU'
          SC_AMEX: '#/components/schemas/ProcessorParametersSC'
          SC_EVRY: '#/components/schemas/ProcessorParametersSC'
          SC_LUOTTOKUNTA: '#/components/schemas/ProcessorParametersSC'
          SC_NETS_DK: '#/components/schemas/ProcessorParametersSC'
          SC_NETS_NO: '#/components/schemas/ProcessorParametersSC'
          SC_SWEDBANK_SE: '#/components/schemas/ProcessorParametersSC'
          OTHER: '#/components/schemas/ProcessorParametersOTHER'
          UNIFY_GIVEX: '#/components/schemas/ProcessorParametersUnifyGivex'
      required:
      - processor
    OrderReference:
      description: Client reference for the Order.
      type: string
      minLength: 1
    HardwarePoiType:
      title: Point of Interaction
      description: The Point of Interaction. This may refer to a number of different entities, but is primarily considered to be the Terminal. This object contains the POI details as they pertain to an individual payment, an instance of POI. This does not attempt to define all the settings or attributes that may be associated to a POI. Also, for a specific Acquirer/Contract combination there may be a different instance of the POI(TID). These different relationships are not part of this object.
      type: object
      properties:
        devicePackage:
          $ref: '#/components/schemas/BundleAndSerialNumberAndQuantity'
        additionalDevicePackages:
          type: array
          maxItems: 100
          items:
            $ref: '#/components/schemas/BundleAndSerialNumberAndQuantity'
    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
    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
    VmssSchemeStatus:
      description: Scheme Status
      type: string
      enum:
      - 'NA '
      - PENDING
      - ERROR
      - COMPLETE
    ContactName:
      allOf:
      - $ref: '#/components/schemas/Name'
    SiteReferenceId:
      description: An optional identifier for the Site which can be provided if different to the merchantId.
      type: string
      maxLength: 100
      minLength: 1
    BusinessTitle:
      type: string
      maxLength: 100
    CancelReasonEnum:
      description: Reason for order cancellation.
      type: string
      enum:
      - ADMIN_REASON
      - RELATED_PO_CHANGES
      - WRONG_PRODUCT
      - ORDER_LATE
      - OTHER
    OrderStatusEnum:
      type: string
      enum:
      - DRAFT
      - SUBMITTED
      - INPROGRESS
      - COMPLETED
      - CANCELLED
      - ONHOLD
    CreatedUserId:
      description: The assigned User ID corresponding to the Order Created By.
      type: string
      format: uuid
    NotificationReminder:
      description: Notification Reminder Sent Details
      type: object
      properties:
        lastNotificationSentDateTime:
          description: Date and Time of the last notification sent. Defaulted to `createdDateTime` on first saved order.
          type: string
          format: date-time
        notificationCount:
          description: Number of notifications sent. -1 = Unsubscribed, or 1, 2, 3 as per the notification sent.
          type: integer
        templateName:
          description: NotificationTemplate Name used, e.g. `T650P_WELCOME`
          type: string
        notifications:
          description: List of notifications, each with the date-time sent and the template used.
          type: array
          items:
            $ref: '#/components/schemas/Notification'
    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
    HardwareOrderData:
      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
    BaseAddress:
      description: An Address following the convention of http://microformats.org/wiki/hcard
      type: object
      properties:
        receiverName:
          type: string
          minLength: 1
          description: The receiver name for the address if different to the company/site name.
        addressLine1:
          minLength: 1
          maxLength: 40
          type: string
          description: Address Line 1. Should include street and apartment number if required.
        addressLine2:
          maxLength: 40
          type: string
          description: Address Line 2
        addressLine3:
          maxLength: 40
          type: string
          description: Address Line 3
        poBox:
          type: string
          description: The PO BOX number.
        city:
          minLength: 1
          maxLength: 28
          type: string
          description: Name of a built-up area, with defined boundaries, and a local government. This could be city or town.
        countrySubdivision:
          maxLength: 35
          minLength: 1
          type: string
          description: Identifies a sub-division of a country which may be state, region or county. This follows a similar format to the openbank api.
        postCode:
          $ref: '#/components/schemas/PostCode'
        country:
          $ref: '#/components/schemas/CountryCode3Enum'
        timeZone:
          $ref: '#/components/schemas/TimeZone'
    SiteName:
      description: The site name, if different to the merchant name.
      type: string
      minLength: 1
    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'
    CancelAdditionalReason:
      description: Free-Form reason for order cancellation.
      type: string
    PaymentTypeEnum:
      title: Payment Type
      description: A type indicator for the payment that is being processed. Value `GIFT` is deprecated.
      type: string
      enum:
      - AFFIRM
      - AFTERPAY
      - ALIPAY
      - AMEX
      - BAIDU_PAY
      - BANK
      - BANKAXEPT
      - BARTERCARD
      - BBBY_COB
      - BBBY_PLCC
      - BLIK
      - BP_FUELCARD
      - CALLIO_GASTRO
      - CARD
      - CARDLINK
      - CARNET
      - CASH
      - CB
      - CHEQUE
      - CLAVE
      - CRYPTO
      - DANKORT
      - DEBIT
      - DINERS
      - DISCOVER
      - EASYCD
      - EBT
      - EBT_WIC_OFFLINE
      - ECARD
      - ECARDZ
      - EDENRED
      - ELECTRON
      - EZIPAY
      - FARMERS_FINANCE
      - FARMLAND
      - FARMLANDS
      - FINNISH_DIRECT_BANKING
      - FLEETCOR
      - FLEETONE
      - FLEXECASH
      - FORBRUGSFORENINGEN
      - FPF_GIFT
      - GARMIN_PAY
      - GIFT
      - GIFT_CARD
      - GIROCARD
      - IKANO
      - ISRACARD
      - ISRAEL_PRIVATE_LABEL
      - JCB
      - JD_PAY
      - KLARNA
      - KLARNA_ECOM
      - KLARAN_QR
      - KLARNA_QR
      - LANDSBANKINN
      - MASTERCARD
      - MAESTRO
      - MOBILEPAY
      - MOBILEPAY_ECOM
      - OP_ONLINE_PAYMENT
      - PAYPAL
      - PAYPAL_ECOM
      - PAYPAL_ECOM_MANAGED
      - PAYPAL_QR
      - PIX
      - PLCC
      - Q_CARD
      - RESURS_BANK
      - RURALCO
      - SAMSUNG_PAY
      - SODEXO_GASTRO
      - SUPERCARD
      - SWISH
      - SWISH_ECOM
      - TEN_PAY
      - TRANXACTOR
      - TRUE_REWARDS
      - TT_CARD
      - UP_SLOVENSKA
      - UPI
      - VENMO
      - VENMO_ECOM
      - VENMO_QR
      - VIPPS
      - VIPPS_ECOM
      - VISA
      - VOYAGER
      - VPAY
      - WECHAT
      - WESTFIELD_GIFTCARD
      - WESTPAC_DEBIT
      - WEX
      - ZELLE
      - ZIP
      - OTHER
    AddressWithoutType:
      description: An Address following the convention of http://microformats.org/wiki/hcard
      type: object
      required:
      - addressLine1
      - city
      - postCode
      - country
      allOf:
      - $ref: '#/components/schemas/BaseAddressWithoutType'
    PaymentDetails:
      description: Details of how the order will be paid, and the further re-occuring billing for services.
      type: object
      properties:
        paymentType:
          type: string
          description: Type of payment that can be made.
          default: CREDIT
      discriminator:
        propertyName: paymentType
        mapping:
          ACCOUNT: '#/components/schemas/PaymentDetailsAccount'
          CREDIT: '#/components/schemas/PaymentDetailsCredit'
          NET: '#/components/schemas/PaymentDetailsNET'
          EINVOICE: '#/components/schemas/PaymentDetailsEInvoice'
      required:
      - paymentType
    HardwareMerchant:
      description: details of the merchant
      type: object
      properties:
        merchantName:
          $ref: '#/components/schemas/MerchantName'
        primaryContact:
          $ref: '#/components/schemas/ContactType'
        requestedDateOfShipment:
          $ref: '#/components/schemas/RequestedDateOfShipment'
        mcc:
          $ref: '#/components/schemas/MCC'
        tradingAddress:
          $ref: '#/components/schemas/AddressWithoutType'
        shippingAddress:
          $ref: '#/components/schemas/AddressWithoutType'
        billingAddress:
          $ref: '#/components/schemas/AddressWithoutType'
        companyAddress:
          $ref: '#/components/schemas/AddressWithoutType'
        siteReferenceId:
          $ref: '#/components/schemas/SiteReferenceId'
        siteName:
          $ref: '#/components/schemas/SiteName'
        openingHours:
          type: array
          description: The list of opening periods per week day.
          items:
            $ref: '#/components/schemas/EntityOpeningHours'
          minItems: 1
        pois:
          type: array
          maxItems: 1000
          items:
            $ref: '#/components/schemas/HardwarePoiType'
      required:
      - primaryContact
    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
    BundleAndPrice:
      type: object
      properties:
        packageBundleId:
          $ref: '#/components/schemas/PackageBundleId'
        price:
          $ref: '#/components/schemas/AmountSimple'
      required:
      - packageBundleId
    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
    BundleAndPriceAndData:
      type: object
      properties:
        packageBundleId:
          $ref: '#/components/schemas/PackageBundleId'
        adjustedPrices:
          type: array
          maxItems: 50
          items:
            $ref: '#/components/schemas/AdjustedPriceType'
        additionalPackageData:
          type: array
          description: Input data required to configure the package. For example some packages require a merchant ID
          maxItems: 50
          items:
            $ref: '#/components/schemas/VariableResponseType'
      required:
      - packageBundleId
    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
    DayOfWeekEnum:
      title: Day of the Week
      description: An enumeration specifying the days of the week.
      type: string
      enum:
      - MONDAY
      - TUESDAY
      - WEDNESDAY
      - THURSDAY
      - FRIDAY
      - SATURDAY
      - SUNDAY
    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 contac

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