Otter Manager Orders Webhooks API

The Manager Orders Webhooks API from Otter — 0 operation(s) for manager orders webhooks.

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/otter-manager-orders-webhooks-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

otter-manager-orders-webhooks-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Otter Manager Orders Webhooks API
  version: v1
  contact:
    name: Kin Lane
    email: kin@apievangelist.com
  license:
    name: Proprietary
  x-generated-from: documentation
  x-last-validated: '2026-06-03'
  x-source-url: https://developer-guides.tryotter.com/api-reference/
  description: 'Operations tagged Manager Orders Webhooks across 19 of this provider''s published API definitions: otter-account-pairing-endpoints-api-openapi.yml, otter-auth-endpoints-api-openapi.yml, otter-callback-endpoints-api-openapi.yml, otter-delivery-endpoints-api-openapi.yml, otter-direct-orders-endpoints-api-openapi.yml, otter-finance-endpoints-api-openapi.yml, otter-inventory-endpoints-api-openapi.yml, otter-manager-loyalty-endpoints-api-openapi.yml, otter-manager-menu-endpoints-api-openapi.yml, otter-manager-order-endpoints-api-openapi.yml, otter-manager-storefront-endpoints-api-openapi.yml, otter-market-intel-endpoints-api-openapi.yml, otter-menus-endpoints-api-openapi.yml, otter-orders-endpoints-api-openapi.yml, otter-organization-endpoints-api-openapi.yml, otter-ping-endpoints-api-openapi.yml, otter-reports-endpoints-api-openapi.yml, otter-reviews-endpoints-api-openapi.yml, otter-storefront-endpoints-api-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://{public-api-url}/
  description: Otter Public API base URL. The concrete host is provisioned per integration partner/account via your Otter account representative; substitute the value provided during onboarding.
  variables:
    public-api-url:
      default: public-api-url
      description: Account-specific Public API host provided by Otter during onboarding.
tags:
- name: Manager Orders Webhooks
paths: {}
webhooks:
  orderCreate:
    post:
      tags:
      - Manager Orders Webhooks
      summary: Otter Order Creation Webhook
      operationId: orderCreateWebhook
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/EventNotification'
              - type: object
                properties:
                  metadata:
                    type: object
                    properties:
                      payload:
                        $ref: '#/components/schemas/Order'
              - example:
                  eventType: orders.new_order
            examples:
              OrderCreateWebhookRequestExample:
                summary: Default orderCreateWebhook request
                x-microcks-default: true
                value:
                  eventId: c75d9460-5d48-423d-8d01-f825fd5b1672
                  eventTime: '2007-12-03T10:15:30+01:00'
                  eventType: orders.new_order
                  metadata:
                    payload:
                      externalIdentifiers: {}
                      currencyCode: EUR
                      status: NEW_ORDER
                      items:
                      - {}
                      orderedAt: '2007-12-03T10:15:30+01:00'
                      customer: {}
                      customerNote: Please include extra napkins!
                      deliveryInfo: {}
                      orderTotal: {}
                      orderTotalV2: {}
                      customerPayments:
                      - {}
                      fulfillmentInfo: {}
                      promotionsDetails:
                      - {}
                      preparationTime: {}
      responses:
        '200':
          $ref: '#/components/responses/200'
        '202':
          $ref: '#/components/responses/202'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    servers:
    - url: https://{public-api-url}/
      description: Otter Public API base URL. The concrete host is provisioned per integration partner/account via your Otter account representative; substitute the value provided during onboarding.
      variables:
        public-api-url:
          default: public-api-url
          description: Account-specific Public API host provided by Otter during onboarding.
  orderUpdate:
    post:
      tags:
      - Manager Orders Webhooks
      summary: Otter Order Update Webhook
      operationId: orderUpdateWebhook
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/EventNotification'
              - type: object
                properties:
                  metadata:
                    type: object
                    properties:
                      payload:
                        $ref: '#/components/schemas/Order'
              - example:
                  eventType: orders.update
            examples:
              OrderUpdateWebhookRequestExample:
                summary: Default orderUpdateWebhook request
                x-microcks-default: true
                value:
                  eventId: c75d9460-5d48-423d-8d01-f825fd5b1672
                  eventTime: '2007-12-03T10:15:30+01:00'
                  eventType: orders.update
                  metadata:
                    payload:
                      externalIdentifiers: {}
                      currencyCode: EUR
                      status: NEW_ORDER
                      items:
                      - {}
                      orderedAt: '2007-12-03T10:15:30+01:00'
                      customer: {}
                      customerNote: Please include extra napkins!
                      deliveryInfo: {}
                      orderTotal: {}
                      orderTotalV2: {}
                      customerPayments:
                      - {}
                      fulfillmentInfo: {}
                      promotionsDetails:
                      - {}
                      preparationTime: {}
      responses:
        '200':
          $ref: '#/components/responses/200'
        '202':
          $ref: '#/components/responses/202'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    servers:
    - url: https://{public-api-url}/
      description: Otter Public API base URL. The concrete host is provisioned per integration partner/account via your Otter account representative; substitute the value provided during onboarding.
      variables:
        public-api-url:
          default: public-api-url
          description: Account-specific Public API host provided by Otter during onboarding.
  orderConfirm:
    post:
      tags:
      - Manager Orders Webhooks
      summary: Otter Order Confirm Notification Webhook
      operationId: orderConfirmWebhook
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/EventNotification'
              - type: object
                properties:
                  metadata:
                    type: object
                    properties:
                      payload:
                        $ref: '#/components/schemas/OrderConfirmEvent'
              - example:
                  eventType: orders.confirm
            examples:
              OrderConfirmWebhookRequestExample:
                summary: Default orderConfirmWebhook request
                x-microcks-default: true
                value:
                  eventId: c75d9460-5d48-423d-8d01-f825fd5b1672
                  eventTime: '2007-12-03T10:15:30+01:00'
                  eventType: orders.confirm
                  metadata:
                    payload:
                      orderId: 69f60a06-c335-46d9-b5a1-97f1a211c514
      responses:
        2XX:
          $ref: '#/components/responses/2XX'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    servers:
    - url: https://{public-api-url}/
      description: Otter Public API base URL. The concrete host is provisioned per integration partner/account via your Otter account representative; substitute the value provided during onboarding.
      variables:
        public-api-url:
          default: public-api-url
          description: Account-specific Public API host provided by Otter during onboarding.
  orderReady:
    post:
      tags:
      - Manager Orders Webhooks
      summary: Otter Order Ready Status Notification Webhook
      operationId: orderReady
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/EventNotification'
              - type: object
                properties:
                  metadata:
                    type: object
                    properties:
                      payload:
                        $ref: '#/components/schemas/OrderReadyEvent'
              - example:
                  eventType: orders.order_ready
            examples:
              OrderReadyRequestExample:
                summary: Default orderReady request
                x-microcks-default: true
                value:
                  eventId: c75d9460-5d48-423d-8d01-f825fd5b1672
                  eventTime: '2007-12-03T10:15:30+01:00'
                  eventType: orders.order_ready
                  metadata:
                    payload:
                      orderId: 69f60a06-c335-46d9-b5a1-97f1a211c514
      responses:
        2XX:
          $ref: '#/components/responses/2XX'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    servers:
    - url: https://{public-api-url}/
      description: Otter Public API base URL. The concrete host is provisioned per integration partner/account via your Otter account representative; substitute the value provided during onboarding.
      variables:
        public-api-url:
          default: public-api-url
          description: Account-specific Public API host provided by Otter during onboarding.
  orderHandedOff:
    post:
      tags:
      - Manager Orders Webhooks
      summary: Otter Order Handed Off Status Notification Webhook
      operationId: orderHandedOff
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/EventNotification'
              - type: object
                properties:
                  metadata:
                    type: object
                    properties:
                      payload:
                        $ref: '#/components/schemas/OrderHandedOffEvent'
              - example:
                  eventType: orders.order_handed_off
            examples:
              OrderHandedOffRequestExample:
                summary: Default orderHandedOff request
                x-microcks-default: true
                value:
                  eventId: c75d9460-5d48-423d-8d01-f825fd5b1672
                  eventTime: '2007-12-03T10:15:30+01:00'
                  eventType: orders.order_handed_off
                  metadata:
                    payload:
                      orderId: 69f60a06-c335-46d9-b5a1-97f1a211c514
                      courierPhone: 415-234-3212
                      courierBodyTempFahrenheit: 36.6
                      isCourierWearingMask: true
      responses:
        2XX:
          $ref: '#/components/responses/2XX'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    servers:
    - url: https://{public-api-url}/
      description: Otter Public API base URL. The concrete host is provisioned per integration partner/account via your Otter account representative; substitute the value provided during onboarding.
      variables:
        public-api-url:
          default: public-api-url
          description: Account-specific Public API host provided by Otter during onboarding.
  orderFulfilled:
    post:
      tags:
      - Manager Orders Webhooks
      summary: Otter Order Fulfilled Status Notification Webhook
      operationId: orderFulfilled
      requestBody:
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/EventNotification'
              - type: object
                properties:
                  metadata:
                    type: object
                    properties:
                      payload:
                        $ref: '#/components/schemas/OrderFulfilledEvent'
              - example:
                  eventType: orders.order_fulfilled
            examples:
              OrderFulfilledRequestExample:
                summary: Default orderFulfilled request
                x-microcks-default: true
                value:
                  eventId: c75d9460-5d48-423d-8d01-f825fd5b1672
                  eventTime: '2007-12-03T10:15:30+01:00'
                  eventType: orders.order_fulfilled
                  metadata:
                    payload:
                      orderId: 69f60a06-c335-46d9-b5a1-97f1a211c514
      responses:
        2XX:
          $ref: '#/components/responses/2XX'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    servers:
    - url: https://{public-api-url}/
      description: Otter Public API base URL. The concrete host is provisioned per integration partner/account via your Otter account representative; substitute the value provided during onboarding.
      variables:
        public-api-url:
          default: public-api-url
          description: Account-specific Public API host provided by Otter during onboarding.
components:
  schemas:
    PreparationTime:
      type:
      - object
      - 'null'
      description: Preparation time information for an order.
      properties:
        estimatedPreparationTime:
          type: string
          description: Preparation time estimated by the order provider. Use the Standard ISO 8601 Duration format (E.g. PT1H30M for 1 hour, 30 minutes).
          example: PT30M
    SignatureRequirement:
      type:
      - object
      - 'null'
      properties:
        enabled:
          type: boolean
          description: Marks the signature requirement as required.
          example: true
        collectSignerName:
          type: boolean
          description: Whether the signer's name should be collected.
          example: true
        collectSignerRelationship:
          type: boolean
          description: Whether the signer's relationship with the intended recipient should be collected.
          example: true
      description: Enables and configure the signature requirement.
    PaymentDetailsBecs:
      type: object
      description: Details of a BECS payment method in Australia.
      properties:
        mandateStatus:
          $ref: '#/components/schemas/MandateStatus'
        lastFour:
          type: string
          description: The last four digits of the BECS account.
          example: '3210'
        bsbNumber:
          type: string
          description: The BSB number of the BECS account.
          example: 062-001
        mandateId:
          type: string
          description: The mandate ID for the BECS account.
          example: becs_mandate_789
        url:
          type: string
          description: The URL for the BECS payment details.
          example: http://example.com/becs
    RecordProviderType:
      type: string
      enum:
      - ALLINPAY
      - CHECKOUT
      - CSS
      - MERCADO_PAGO
      - OLIVENETWORKS
      - SHOUQIANBA
      - STRIPE
      - UNIONPAY
      - VAN_DAOU
      - VAN_JTNET
      - VAN_KICC
      - VAN_KIS
      - VAN_KOVAN
      - VAN_KSNET
      - VAN_NICE
      - VAN_SMARTRO
      - UNKNOWN
      example: STRIPE
      description: The type of payment provider.
    SourceExternalIdentifiers:
      type:
      - object
      - 'null'
      properties:
        id:
          type: string
          description: Unique ID for the order that was placed.
          example: 69f60a06-c335-46d9-b5a1-97f1a211c514
        friendlyId:
          type: string
          description: ID used for driver pickup and restaurant management.
          example: ABCDE
        source:
          type: string
          description: Describes the source of the order, typically from a food ordering marketplace.
          example: ubereats
        sourceType:
          type: string
          description: source type of the order
          enum:
          - POINT_OF_SALE
          - ORDERING_MARKETPLACE
          - AGGREGATOR
          - CUSTOMER_INTERACTION
          example: POINT_OF_SALE
        sourceExternalIdentifiers:
          $ref: '#/components/schemas/SourceExternalIdentifiers'
      description: The external identifiers.
    Address:
      type:
      - object
      - 'null'
      properties:
        fullAddress:
          type:
          - string
          - 'null'
          description: Full, human comprehensible address. It is usually formatted in the order appropriate for your locale.
          example: 123 Sample Street Ste 100, San Francisco, CA 94103
        postalCode:
          type: string
          description: Postal code of the address.
          example: '20500'
        city:
          type: string
          description: The city/town portion of the address.
          example: Washington
        state:
          type: string
          description: Highest administrative subdivision which is used for postal addresses of a country or region. For example, this can be a state, a province, or a prefecture.
          example: DC
        countryCode:
          type: string
          description: CLDR country code. See http://cldr.unicode.org/
          example: US
        addressLines:
          type:
          - array
          - 'null'
          description: Address lines (e.g. street, PO Box, or company name) or the full single line address (e.g. street, city, state, country, zip).
          example:
          - 1600 Pennsylvania Avenue NW
          - 123 Sample Street Ste 100, San Francisco, CA 94103
          items:
            type: string
        linesOfAddress:
          type:
          - array
          - 'null'
          deprecated: true
          description: 'Deprecated: use addressLines. Address lines (e.g. street, PO Box, or company name) or the full single line address (e.g. street, city, state, country, zip).'
          example:
          - 1600 Pennsylvania Avenue NW
          - 123 Sample Street Ste 100, San Francisco, CA 94103
          items:
            type: string
        location:
          $ref: '#/components/schemas/Location'
      description: Order delivery address.
    PaymentDetailsSepa:
      type: object
      description: Details of a SEPA payment method in EU countries.
      properties:
        mandateStatus:
          $ref: '#/components/schemas/MandateStatus'
        lastFour:
          type: string
          description: The last four digits of the SEPA account.
          example: '4321'
        branchCode:
          type: string
          description: The branch code of the SEPA account.
          example: branch_001
        bankCode:
          type: string
          description: The bank code of the SEPA account.
          example: bank_001
        countryCode:
          type: string
          description: The country code of the SEPA account.
          example: DE
        mandateId:
          type: string
          description: The mandate ID for the SEPA account.
          example: sepa_mandate_012
        reference:
          type: string
          description: The reference for the SEPA payment.
          example: reference_xyz
        url:
          type: string
          description: The URL for the SEPA payment details.
          example: http://example.com/sepa
    FulfillmentInfo:
      type:
      - object
      - 'null'
      properties:
        pickupTime:
          type:
          - string
          - 'null'
          description: Time (in UTC) specified by the provider when the courier or customer is expected to pick up the order.
          format: date-time
          example: '2007-12-03T10:15:30+01:00'
        estimatedPickupTime:
          type:
          - string
          - 'null'
          description: Time (in UTC) estimated by the platform when the courier or customer is likely to pick up the order.  This estimation takes into account preparation time, order readiness, and other logistical factors.
          format: date-time
          example: '2007-12-03T10:15:30+01:00'
        deliveryTime:
          type:
          - string
          - 'null'
          description: Estimated time (in UTC) when the order is expected to be delivered. This should be filled in if FulfillmentMode is delivery.
          format: date-time
          example: '2007-12-03T10:15:30+01:00'
        fulfillmentMode:
          type: string
          description: How an order is expected to be fulfilled.
          default: DELIVERY
          enum:
          - DELIVERY
          - RESTAURANT_DELIVERY
          - PICKUP
          - DINE_IN
          - DRIVE_THROUGH
          example: DELIVERY
        schedulingType:
          type:
          - string
          - 'null'
          description: Describes whether this order should be cooked as soon as possible, or some time in the future. Please use the pickupTime and/or deliveryTime to indicate when. If no scheduling type is provided, we assume the order should be prepared as soon as possible.
          enum:
          - ASAP
          - FIXED_TIME
          example: ASAP
        courierStatus:
          type:
          - string
          - 'null'
          description: The status of the courier.
          enum:
          - COURIER_ASSIGNED
          - COURIER_ON_ROUTE_TO_PICKUP
          - COURIER_ARRIVED
          - COURIER_PICKED_UP_FOOD
          - COURIER_COMPLETED
          example: COURIER_ASSIGNED
        tableIdentifier:
          type:
          - string
          - 'null'
          description: The table identification for dine-in orders.
          example: R-45
      description: Information on order fulfillment.
    Person:
      type:
      - object
      - 'null'
      properties:
        name:
          type:
          - string
          - 'null'
          description: The person's name as it should be displayed.
          example: Jane Doe
          maxLength: 255
        phone:
          type:
          - string
          - 'null'
          description: The person's phone number.
          example: +1-555-555-5555
          maxLength: 25
        phoneCode:
          type:
          - string
          - 'null'
          description: A code or extension of the phone number.
          example: 111 11 111
          maxLength: 25
        email:
          type:
          - string
          - 'null'
          description: The person's email address.
          example: email@email.com
        personalIdentifiers:
          $ref: '#/components/schemas/PersonalIdentifiers'
      description: The recipient information.
    CustomerPayment:
      required:
      - paymentMethod
      - processingStatus
      - value
      type: object
      properties:
        value:
          type: number
          description: The portion of the overall amount that needs to be paid.
          example: 2
        processingStatus:
          type: string
          description: The processing status of the payment. (PROCESSED is only valid when the payment method is CARD)
          enum:
          - COLLECTABLE
          - PROCESSED
          example: COLLECTABLE
        paymentMethod:
          type: string
          description: The method of payment.
          enum:
          - CASH
          - CARD
          - UNKNOWN
          - OTHER
          - CHEQUE
          - GIFT_CARD
          example: CASH
        paymentAuthorizer:
          type:
          - string
          - 'null'
          description: A payment system type responsible for a card transaction (containing information for payment network and payment type).
          enum:
          - UNKNOWN_TYPE
          - OTHER_TYPE
          - MASTERCARD
          - MASTERCARD_MAESTRO
          - MASTERCARD_DEBIT
          - VISA
          - VISA_DEBIT
          - AMEX
          - VISA_ELECTORN
          - DINERS
          - ELO
          - ELO_DEBIT
          - HIPERCARD
          - BANRICOMPRAS
          - BANRICOMPRAS_DEBIT
          - NUGO
          - GOODCARD
          - VERDECARD
          - CARNET
          - CHEF_CARD
          - GER_CC_CREDITO
          - TERMINAL_BANCARIA
          - DEBIT
          - QR_CODE
          - RAPPI_PAY
          - DISCOVER
          - VALE_GREEN_CARD_PAPEL
          - VALE_GREEN_CARD_CARD
          - VALE_REFEISUL
          - VALE_VEROCARD
          - VALE_VR_SMART
          - VALE_SODEXO
          - VALE_TICKET_RESTAURANTE
          - VALE_ALELO
          - VALE_BEN_VIS
          - VALE_COOPER_CARD
          - NUTRICARD_REFEICAO_E_ALIMENTACAO
          - APPLE_PAY_MASTERCARD
          - APPLE_PAY_VISA
          - APPLE_PAY_AMEX
          - GOOGLE_PAY_ELO
          - GOOGLE_PAY_MASTERCARD
          - GOOGLE_PAY_VISA
          - MOVILE_PAY
          - MOVILE_PAY_AMEX
          - MOVILE_PAY_DINERS
          - MOVILE_PAY_ELO
          - MOVILE_PAY_HIPERCARD
          - MOVILE_PAY_MASTERCARD
          - MOVILE_PAY_VISA
          - IFOOD_CORP
          - LOOP_CLUB
          - PAYPAL
          - PSE
          - PIX
          example: UNKNOWN_TYPE
        cardInfo:
          deprecated: true
          $ref: '#/components/schemas/CardInfo'
        externalPaymentType:
          type:
          - string
          - 'null'
          description: External payment type string. Should be only used if not mapped by any value of paymentAuthorizer, and it's value is OTHER_TYPE.
          example: string
        paymentRecords:
          type:
          - array
          - 'null'
          description: '[WIP - in development, not supported yet] List of payment records, including method and card details and ids from payment processing entities.'
          items:
            $ref: '#/components/schemas/PaymentRecord'
        loyaltyInfo:
          $ref: '#/components/schemas/LoyaltyInfo'
    PersonalIdentifiers:
      type:
      - object
      - 'null'
      properties:
        taxIdentificationNumber:
          type:
          - string
          - 'null'
          description: Person tax identification number.
          example: 1234567890
        serviceProviderId:
          type:
          - string
          - 'null'
          description: External service provider ID i.e. Courier Id.
          example: 12345ba6-789e-123f-4e56-d78db90d123b
      description: The person's personal identifiers (e.g. tax identification number).
    VerificationRequirements:
      type:
      - object
      - 'null'
      properties:
        signatureRequirement:
          $ref: '#/components/schemas/SignatureRequirement'
        pictureRequirement:
          $ref: '#/components/schemas/PictureRequirement'
      description: Verification requirements for the delivery.
    MandateStatus:
      type: string
      enum:
      - ACTIVE
      - INACTIVE
      - PENDING
      description: The status of the mandate.
      example: ACTIVE
    CompositeFinanceLine:
      required:
      - breakdown
      type: object
      properties:
        breakdown:
          type: array
          minItems: 1
          description: Breakdown values for the finance line.
          items:
            $ref: '#/components/schemas/SimpleFinanceLine'
      description: composite finance line can represent a value, tax and VAT for a given line as a list of SimpleFinanceLine objects
    SimpleFinanceLine:
      required:
      - subType
      - name
      - value
      type: object
      properties:
        subType:
          type: string
          enum:
          - VALUE
          - TAX
          - VALUE_WITH_TAX
          - VAT
          description: type of the finance line.
          example: VALUE
        name:
          type: string
          description: name of the finance line.
          example: sales tax.
        value:
          type: number
          description: money amount.
          example: 3.4
      description: simple finance line.
    CardInfo:
      required:
      - paymentNetwork
      - type
      type:
      - object
      - 'null'
      deprecated: true
      description: Additional card information.
      properties:
        paymentNetwork:
          type: string
          description: The payment network (aka card brand or card scheme) for this card.
          enum:
          - MASTERCARD
          - MASTERCARD_MAESTRO
          - VISA
          - AMEX
          - DINERS
          - ELO
          - HIPERCARD
          - BANRICOMPRAS
          - NUGO
          - GOODCARD
          - ELO_MAIS
          - GREENCARD
          - VEROCARD
          - COOPER
          - NUTRICARD
          - VR
          - SODEXO
          - OTHER
          example: MASTERCARD
        type:
          type: string
          description: The payment type of the card.
          enum:
          - CREDIT
          - DEBIT
          - VOUCHER
          - OTHER
          example: CREDIT
    Courier:
      type:
      - object
      - 'null'
      properties:
        name:
          type:
          - string
          - 'null'
          description: The person's name as it should be displayed.
          example: Jane Doe
        phone:
          type:
          - string
          - 'null'
          description: The person's phone number.
          example: +1-555-555-5555
        phoneCode:
          type:
          - string
          - 'null'
          description: A code or extension of the phone number.
          example: 111 11 111
        email:
          type:
          - string
          - 'null'
          description: The person's email address.
          example: email@email.com
        personalIdentifiers:
          $ref: '#/components/schemas/PersonalIdentifiers'
      description: Details about the delivery courier.
    PictureRequirement:
      type:
      - object
      - 'null'
      properties:
        enabled:
          type: boolean
          description: Marks the picture requirement as required.
          example: true
      description: Enables and configure the picture requirement.
    PaymentDetailsBacs:
      type: object
      description: Details of a BACS payment method in the UK.
      properties:
        mandateStatus:
          $ref: '#/components/schemas/MandateStatus'
        lastFour:
          type: string
          description: The last four digits of the BACS account.
          example: '9876'
        sortCode:
          type: string
          description: The sort code of the BACS account.
          example: 12-34-56
        mandateId:
          type: string
          description: The mandate ID for the BACS account.
          example: mandate_123
        reference:
          type: string
          description: The reference for the BACS payment.
          example: reference_abc
        url:
          type: string
          description: The URL for the BACS payment details.
          example: http://example.com/bacs
    CustomerPaymentV2:
      type:
      - object
      - 'null'
      properties:
        customerPaymentDue:
          type:
          - number
          - 'null'
          description: The portion of the overall order cost that will be collected when the order is delivered, or when picked up by the customer at the store. This field should not be set if the order was pre-paid.
          example: 1
        customerPrepayment:
          type:
          - number
          - 'null'
          description: The portion of the overall order cost that was paid upfront by the customer (online payment), with the remaining portion in the customerPaymentDue. In most cases the order value will be covered entirely by prepayment or entirely by payment_due. But in some cases mixing is allowed.
          example: 1
        customerAmountToReturn:
          type:
          - number
          - 'null'
          description: "Change (cash back) to be returned to the customer by the courier or store when the order has payment due value.\n\n Scenario:\n 1. Customer places an order for $7.50.\n 2. In the service app, after selecting Cash as payment type, the customer is presented with an additional field to indicate that order will be paid with a single $20 bill.\n 3. When the order is delivered, the courier should have $12.50 in cash on hand to complete the transaction.\n"
          example: 1
        paymentDueToRestaurant:
          type:
          - number
          - 'null'
          description: The portion of the overall order cost that was received directly by restaurant/store when the order is delivered or picked up. Should be used wh

# --- truncated at 32 KB (68 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/otter/refs/heads/main/openapi/otter-manager-orders-webhooks-api-openapi.yml