Vooma Movements API

The Movements API from Vooma — 4 operation(s) for movements.

OpenAPI Specification

vooma-movements-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: api Carriers Movements API
  version: 0.1.0
  contact: {}
servers:
- url: https://api.vooma.ai/v0
  description: Vooma API
tags:
- name: Movements
paths:
  /movements/{movementId}:
    get:
      operationId: GetMovement
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetMovementPayload'
      tags:
      - Movements
      security:
      - bearer: []
      parameters:
      - in: path
        name: movementId
        required: true
        schema:
          type: string
    put:
      operationId: UpdateMovement
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Movement'
      tags:
      - Movements
      security:
      - bearer: []
      parameters:
      - in: path
        name: movementId
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateMovementInput'
  /movements/upsert:
    post:
      operationId: UpsertMovement
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Movement'
      tags:
      - Movements
      security:
      - bearer: []
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpsertMovementInput'
  /movements:
    post:
      operationId: CreateMovement
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Movement'
      tags:
      - Movements
      security:
      - bearer: []
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateMovementInput'
  /movements/{movementId}/scheduleStop:
    post:
      operationId: ScheduleStop
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                properties:
                  error:
                    type: string
                  success:
                    type: boolean
                required:
                - success
                type: object
      tags:
      - Movements
      security:
      - bearer: []
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ScheduleStopInput'
components:
  schemas:
    Scale:
      properties:
        type:
          type: string
          enum:
          - SCALE
          nullable: false
      required:
      - type
      type: object
    UpsertMovementInput:
      properties:
        movement:
          $ref: '#/components/schemas/MovementData'
      required:
      - movement
      type: object
    TemperatureUnits:
      enum:
      - F
      - C
      type: string
    LocationData:
      properties:
        name:
          type: string
        contacts:
          items:
            $ref: '#/components/schemas/LocationContact'
          type: array
        hours:
          $ref: '#/components/schemas/FacilityHours'
        scheduling:
          $ref: '#/components/schemas/SchedulingDetails'
        geoCoordinates:
          $ref: '#/components/schemas/GeoCoordinates'
        address:
          $ref: '#/components/schemas/Address'
        externalIds:
          items:
            $ref: '#/components/schemas/LocationExternalIdentifier'
          type: array
      required:
      - address
      - externalIds
      type: object
    Commodity:
      $ref: '#/components/schemas/V0Cargo.Commodity'
    PhoneSchedulingMethod:
      properties:
        contact:
          $ref: '#/components/schemas/LocationContact'
        type:
          type: string
          enum:
          - PHONE
          nullable: false
      required:
      - contact
      - type
      type: object
    Cargo:
      $ref: '#/components/schemas/V0Cargo.Cargo'
    HeadacheRack:
      properties:
        type:
          type: string
          enum:
          - HEADACHE_RACK
          nullable: false
      required:
      - type
      type: object
    LineItemType:
      enum:
      - FREIGHT_FLAT
      - FREIGHT_PER_MILE
      - FUEL
      - FUEL_FLAT
      - FUEL_PER_MILE
      - FREIGHT_PER_CONTAINER
      - CHASSIS
      - OVERWEIGHT
      - PRE_PULL
      - STORAGE
      - DETENTION
      - TMF_PIER_PASS
      - PORT_FEE
      - REDELIVERY
      - EXTRA_MILES
      - TRANSLOAD
      - ESCORT
      - EXPEDITED
      - CHASSIS_SPLIT
      - OTHER
      type: string
    V0Carrier.AssignedCarrier:
      properties:
        assignedDispatch:
          $ref: '#/components/schemas/CarrierContact'
        assignedDriver:
          $ref: '#/components/schemas/CarrierContact'
        assignedEquipment:
          $ref: '#/components/schemas/CarrierEquipment'
        carrier:
          $ref: '#/components/schemas/Carrier'
      required:
      - carrier
      type: object
    ChainsAndBinders:
      properties:
        type:
          type: string
          enum:
          - CHAINS_AND_BINDERS
          nullable: false
      required:
      - type
      type: object
    Carrier:
      $ref: '#/components/schemas/MayHaveID_CarrierData_'
    V0Stop.MovementStop:
      $ref: '#/components/schemas/MayHaveID_MovementStopData_'
    Accessorial:
      $ref: '#/components/schemas/V0Accessorial.Accessorial'
    V0Equipment.Equipment:
      properties:
        type:
          anyOf:
          - $ref: '#/components/schemas/EquipmentType'
          - type: string
          description: Typically one of the EquipmentType enum values but subject to change
        equipmentLength:
          $ref: '#/components/schemas/Dimension'
        temperature:
          $ref: '#/components/schemas/Temperature'
        description:
          type: string
      required:
      - type
      type: object
      additionalProperties: false
    Straps:
      properties:
        numberRequired:
          type: number
          format: double
        type:
          type: string
          enum:
          - STRAPS
          nullable: false
      required:
      - type
      type: object
    MayHaveID_MovementStopData_:
      allOf:
      - properties:
          id:
            type: string
        type: object
      - $ref: '#/components/schemas/MovementStopData'
    Liftgate:
      properties:
        type:
          type: string
          enum:
          - LIFTGATE
          nullable: false
      required:
      - type
      type: object
    DateTimeRangeType:
      enum:
      - FACILITY_HOURS
      - APPOINTMENT
      type: string
    V0Route.MovementRoute:
      properties:
        stops:
          items:
            $ref: '#/components/schemas/MovementStop'
          type: array
        mileage:
          $ref: '#/components/schemas/Mileage'
      required:
      - stops
      type: object
    CoilRack:
      properties:
        type:
          type: string
          enum:
          - COIL_RACK
          nullable: false
      required:
      - type
      type: object
    Permit:
      properties:
        type:
          type: string
          enum:
          - PERMIT
          nullable: false
      required:
      - type
      type: object
    V0Reference.Reference:
      properties:
        type:
          anyOf:
          - $ref: '#/components/schemas/ReferenceType'
          - type: string
          description: 'Typically one of the ReferenceType enum values

            but subject to change'
        value:
          type: string
      required:
      - type
      - value
      type: object
      additionalProperties: false
    GetMovementPayload:
      properties:
        movement:
          $ref: '#/components/schemas/Movement'
      required:
      - movement
      type: object
    HazmatDetails:
      properties:
        classifications:
          items:
            $ref: '#/components/schemas/HazmatClassification'
          type: array
        packingGroup:
          type: string
        unNumber:
          type: string
        weight:
          $ref: '#/components/schemas/Weight'
        contact:
          $ref: '#/components/schemas/HazmatContact'
      required:
      - classifications
      - contact
      type: object
    MayHaveID_LocationData_:
      allOf:
      - properties:
          id:
            type: string
        type: object
      - $ref: '#/components/schemas/LocationData'
    Costs:
      properties:
        lineItems:
          items:
            $ref: '#/components/schemas/LineItem'
          type: array
      required:
      - lineItems
      type: object
    ContactData:
      anyOf:
      - $ref: '#/components/schemas/CarrierContactData'
      - $ref: '#/components/schemas/CustomerContactData'
      - $ref: '#/components/schemas/LocationContactData'
    V0ExternalId.ExternalIdentifier:
      properties:
        type:
          anyOf:
          - $ref: '#/components/schemas/ExternalIdentifierType'
          - type: string
        value:
          type: string
      required:
      - type
      - value
      type: object
      additionalProperties: false
    MayHaveID_LocationContactData_:
      allOf:
      - properties:
          id:
            type: string
        type: object
      - $ref: '#/components/schemas/LocationContactData'
    CarrierContact:
      properties:
        contact:
          $ref: '#/components/schemas/Contact'
        type:
          type: string
          enum:
          - DRIVER
          - DISPATCH
      required:
      - contact
      - type
      type: object
    LimitedAccess:
      properties:
        type:
          type: string
          enum:
          - LIMITED_ACCESS
          nullable: false
      required:
      - type
      type: object
    PortalSchedulingMethod:
      properties:
        details:
          $ref: '#/components/schemas/PortalSchedulingDetails'
        type:
          type: string
          enum:
          - PORTAL
          nullable: false
      required:
      - details
      - type
      type: object
    GeoCoordinates:
      properties:
        longitude:
          type: number
          format: double
        latitude:
          type: number
          format: double
      required:
      - longitude
      - latitude
      type: object
    DateTimeRange:
      $ref: '#/components/schemas/V0Datetime.DateTimeRange'
    DimensionUnits:
      enum:
      - IN
      - CM
      - FT
      type: string
    FreightMode:
      enum:
      - TRUCKLOAD
      - LTL
      - PARTIAL_TRUCKLOAD
      - INTERMODAL
      - DRAYAGE
      - PARCEL
      type: string
    Mileage:
      properties:
        uom:
          $ref: '#/components/schemas/MileageUnits'
        value:
          type: number
          format: double
      required:
      - uom
      - value
      type: object
    MovementStopLocation:
      $ref: '#/components/schemas/V0Location.Location'
    UserExternalIdentifierType:
      enum:
      - CUSTOM
      - EMAIL
      - PHONE
      - VOOMA_USERNAME
      type: string
    V0User.UserData:
      properties:
        externalIds:
          items:
            $ref: '#/components/schemas/UserExternalIdentifier'
          type: array
      required:
      - externalIds
      type: object
    Equipment:
      $ref: '#/components/schemas/V0Equipment.Equipment'
    UserExternalIdentifier:
      properties:
        type:
          anyOf:
          - $ref: '#/components/schemas/UserExternalIdentifierType'
          - type: string
          description: 'Typically one of the UserExternalIdentifierType enum values

            but subject to change'
        value:
          type: string
      required:
      - type
      - value
      type: object
      additionalProperties: false
    ExternalIdentifier:
      $ref: '#/components/schemas/V0ExternalId.ExternalIdentifier'
    MileageUnits:
      enum:
      - MI
      - KM
      type: string
    Amount:
      $ref: '#/components/schemas/V0Financials.Amount'
    Other:
      properties:
        description:
          type: string
        type:
          type: string
          enum:
          - OTHER
          nullable: false
      required:
      - description
      - type
      type: object
    V0Location.Location:
      $ref: '#/components/schemas/MayHaveID_LocationData_'
    MovementRoute:
      $ref: '#/components/schemas/V0Route.MovementRoute'
    V0Datetime.DateTimeRange:
      properties:
        startDate:
          type: string
          description: Start date in YYYY-MM-DD format
        endDate:
          type: string
          description: Optional end date in YYYY-MM-DD format
        startTime:
          type: string
          description: Optional start time in `timzone` and HH:mm:ss format.
        endTime:
          type: string
          description: Optional end time in `timezone` and HH:mm:ss format
        timezone:
          type: string
          description: Optional timezone in [tz database](https://en.wikipedia.org/wiki/Tz_database) format e.g. "America/New_York". If omitted UTC is assumed.
        type:
          $ref: '#/components/schemas/DateTimeRangeType'
      required:
      - startDate
      type: object
      additionalProperties: false
    Reference:
      $ref: '#/components/schemas/V0Reference.Reference'
    MayHaveID_ContactData_:
      allOf:
      - properties:
          id:
            type: string
        type: object
      - $ref: '#/components/schemas/ContactData'
    StopType:
      enum:
      - PICKUP
      - DELIVERY
      type: string
    CreateMovementInput:
      properties:
        movement:
          $ref: '#/components/schemas/MovementData'
      required:
      - movement
      type: object
    Dunnage:
      properties:
        type:
          type: string
          enum:
          - DUNNAGE
          nullable: false
      required:
      - type
      type: object
    LocationExternalIdentifierType:
      enum:
      - CUSTOM
      - GOOGLE_PLACES
      - TURVO
      type: string
    V0Financials.Financials:
      properties:
        costNegotiationGuidance:
          $ref: '#/components/schemas/CostNegotiationGuidance'
        costs:
          $ref: '#/components/schemas/Costs'
        paymentTerms:
          $ref: '#/components/schemas/PaymentTerms'
      required:
      - costs
      - paymentTerms
      type: object
    MovementStopData:
      allOf:
      - $ref: '#/components/schemas/CommonStopData'
      - properties:
          location:
            $ref: '#/components/schemas/MovementStopLocation'
        required:
        - location
        type: object
    FreightModeDetails:
      $ref: '#/components/schemas/V0Mode.FreightModeDetails'
    LocationContact:
      $ref: '#/components/schemas/V0Contact.LocationContact'
    LineItem:
      properties:
        type:
          anyOf:
          - $ref: '#/components/schemas/LineItemType'
          - type: string
          description: Typically one of the LineItemType enum values but subject to change
        description:
          type: string
        amount:
          $ref: '#/components/schemas/Amount'
      required:
      - description
      - amount
      type: object
      additionalProperties: false
    FoodGrade:
      properties:
        type:
          type: string
          enum:
          - FOOD_GRADE
          nullable: false
      required:
      - type
      type: object
    MovementExternalIdentifier:
      properties:
        type:
          anyOf:
          - $ref: '#/components/schemas/MovementExternalIdentifierType'
          - type: string
        value:
          type: string
      required:
      - type
      - value
      type: object
      additionalProperties: false
    HazmatClassification:
      properties:
        qualifier:
          anyOf:
          - $ref: '#/components/schemas/HazmatClassQualifier'
          - type: string
        hazardClass:
          anyOf:
          - $ref: '#/components/schemas/HazmatClass'
          - type: string
      required:
      - qualifier
      - hazardClass
      type: object
    V0Contact.Contact:
      $ref: '#/components/schemas/MayHaveID_ContactData_'
    CarrierData:
      properties:
        equipment:
          items:
            $ref: '#/components/schemas/CarrierEquipment'
          type: array
        contacts:
          items:
            $ref: '#/components/schemas/CarrierContact'
          type: array
        dotNumber:
          type: string
        mcNumber:
          type: string
        name:
          type: string
      required:
      - name
      type: object
    CarrierEquipment:
      properties:
        trailerNumber:
          type: string
        truckNumber:
          type: string
        equipment:
          $ref: '#/components/schemas/Equipment'
      required:
      - equipment
      type: object
    CustomerData:
      properties:
        contacts:
          items:
            $ref: '#/components/schemas/Contact'
          type: array
        name:
          type: string
        externalIds:
          items:
            $ref: '#/components/schemas/CustomerExternalIdentifier'
          type: array
      required:
      - name
      - externalIds
      type: object
    AssignedCarrier:
      $ref: '#/components/schemas/V0Carrier.AssignedCarrier'
    V0Dimensions.Dimensions:
      properties:
        height:
          $ref: '#/components/schemas/Dimension'
        width:
          $ref: '#/components/schemas/Dimension'
        length:
          $ref: '#/components/schemas/Dimension'
      type: object
    HazmatClass:
      type: string
      enum:
      - '1'
      - '2'
      - '3'
      - '4'
      - '5'
      - '6'
      - '7'
      - '8'
      - '9'
      - '1.1'
      - '1.2'
      - '1.3'
      - '1.4'
      - '1.5'
      - '1.6'
      - '2.1'
      - '2.2'
      - '2.3'
      - '4.1'
      - '4.2'
      - '4.3'
      - '5.1'
      - '5.2'
      - '6.1'
      - '6.2'
    CustomerExternalIdentifierType:
      enum:
      - ALJEX
      - AVRL
      - BITFREIGHTER_RATING
      - CUSTOM
      - DAT
      - GENLOGS
      - GREENSCREENS
      - HIGHWAY
      - HOSTED_MCLEOD
      - LEGACY_MERCURYGATE
      - MCLEOD
      - MCLEOD_HOSTED
      - MERCURYGATE
      - ORDERFUL
      - SONAR
      - SOFTMODAL
      - STEDI
      - STRATEGY_LIVE
      - TABI
      - TAI
      - TEST
      - THREE_PL
      - TRANSFIX_RATING
      - TURVO
      - TRUCKSTOP
      - VOOMA_PUBLIC_API
      - MICROSOFT
      - MICROSOFT_TEAMS
      - SLACK
      type: string
    V0Cargo.Cargo:
      properties:
        declaredValue:
          $ref: '#/components/schemas/Amount'
        dimensions:
          $ref: '#/components/schemas/Dimensions'
        totalWeight:
          $ref: '#/components/schemas/Weight'
        commodities:
          items:
            $ref: '#/components/schemas/Commodity'
          type: array
      required:
      - commodities
      type: object
    CommonStopData:
      properties:
        externalNotes:
          type: string
        internalNotes:
          type: string
        accessorials:
          items:
            $ref: '#/components/schemas/Accessorial'
          type: array
        contact:
          $ref: '#/components/schemas/Contact'
        commodities:
          items:
            $ref: '#/components/schemas/Commodity'
          type: array
        weight:
          $ref: '#/components/schemas/Weight'
        notes:
          type: string
        schedulingType:
          $ref: '#/components/schemas/SchedulingType'
        dateTimeRanges:
          items:
            $ref: '#/components/schemas/DateTimeRange'
          type: array
        type:
          $ref: '#/components/schemas/StopType'
        stopReferences:
          items:
            $ref: '#/components/schemas/Reference'
          type: array
        externalIds:
          items:
            $ref: '#/components/schemas/ExternalIdentifier'
          type: array
      required:
      - type
      - stopReferences
      type: object
    V0Schedule.SchedulingDetails:
      properties:
        maxDaysAhead:
          type: number
          format: double
        notes:
          type: string
        methods:
          items:
            $ref: '#/components/schemas/SchedulingMethod'
          type: array
      required:
      - methods
      type: object
    ReferenceType:
      enum:
      - ORDER_REFERENCE
      - PURCHASE_ORDER
      - BILL_OF_LADING
      - INVOICE
      - SHIPMENT
      - SALES_ORDER
      - TRACKING
      - DELIVERY
      - CUSTOMER_REFERENCE
      - LOAD
      - CONTAINER
      - MASTER_BILL_OF_LADING
      - BOOKING
      - SEAL
      - PICKUP
      - APPOINTMENT
      - ITEM_REFERENCE
      - OTHER
      type: string
    UserData:
      $ref: '#/components/schemas/V0User.UserData'
    V0Weight.Weight:
      properties:
        units:
          $ref: '#/components/schemas/WeightUnits'
        value:
          type: number
          format: double
      required:
      - units
      - value
      type: object
    SchedulingDetails:
      $ref: '#/components/schemas/V0Schedule.SchedulingDetails'
    MayHaveID_CarrierData_:
      allOf:
      - properties:
          id:
            type: string
        type: object
      - $ref: '#/components/schemas/CarrierData'
    Team:
      properties:
        type:
          type: string
          enum:
          - TEAM
          nullable: false
      required:
      - type
      type: object
    Temperature:
      properties:
        units:
          $ref: '#/components/schemas/TemperatureUnits'
        max:
          type: number
          format: double
        min:
          type: number
          format: double
      required:
      - units
      type: object
    EmailSchedulingMethod:
      properties:
        contact:
          $ref: '#/components/schemas/LocationContact'
        type:
          type: string
          enum:
          - EMAIL
          nullable: false
      required:
      - contact
      - type
      type: object
    V0Dimensions.Dimension:
      properties:
        value:
          type: number
          format: double
        units:
          anyOf:
          - $ref: '#/components/schemas/DimensionUnits'
          - type: string
          description: Typically one of the DimensionUnits enum values but subject to change
      required:
      - value
      - units
      type: object
      additionalProperties: false
    MayHaveID_CustomerData_:
      allOf:
      - properties:
          id:
            type: string
        type: object
      - $ref: '#/components/schemas/CustomerData'
    Transloading:
      properties:
        type:
          type: string
          enum:
          - TRANSLOADING
          nullable: false
      required:
      - type
      type: object
    DayHours:
      properties:
        type:
          type: string
          enum:
          - FACILITY_HOURS
          nullable: false
        timezone:
          type: string
        endTime:
          type: string
        startTime:
          type: string
      required:
      - type
      - timezone
      - endTime
      - startTime
      type: object
      additionalProperties: false
    PortalSchedulingDetails:
      properties:
        portal:
          $ref: '#/components/schemas/Portal'
      required:
      - portal
      type: object
    V0Financials.Amount:
      properties:
        uom:
          $ref: '#/components/schemas/CurrencyUnits'
        value:
          type: number
          format: double
      required:
      - uom
      - value
      type: object
    Weight:
      $ref: '#/components/schemas/V0Weight.Weight'
    V0Cargo.Commodity:
      properties:
        isStackable:
          type: boolean
        itemReference:
          $ref: '#/components/schemas/Reference'
        dimensions:
          $ref: '#/components/schemas/Dimensions'
        weight:
          $ref: '#/components/schemas/Weight'
        hazmat:
          $ref: '#/components/schemas/HazmatDetails'
        nmfcCode:
          type: string
        freightClass:
          type: string
        pieceUnits:
          anyOf:
          - $ref: '#/components/schemas/ShippingUnits'
          - type: string
        pieceQuantity:
          type: number
          format: double
        handlingUnits:
          anyOf:
          - $ref: '#/components/schemas/ShippingUnits'
          - type: string
        handlingQuantity:
          type: number
          format: double
        description:
          type: string
      required:
      - description
      type: object
    InsidePickup:
      properties:
        type:
          type: string
          enum:
          - INSIDE_PICKUP
          nullable: false
      required:
      - type
      type: object
    V0Attributes.Attributes:
      properties: {}
      additionalProperties:
        type: string
      type: object
    V0Contact.LocationContact:
      $ref: '#/components/schemas/MayHaveID_LocationContactData_'
    EquipmentType:
      enum:
      - BOX_TRUCK
      - CARGO_VAN
      - CONESTOGA
      - CONTAINER
      - DOUBLE_DROP
      - DRY_VAN
      - FLATBED
      - HOT_SHOT
      - LOW_BOY
      - POWER_ONLY
      - REEFER
      - REMOVABLE_GOOSENECK
      - SPRINTER_VAN
      - STEP_DECK
      - STRAIGHT_TRUCK
      - AUTO_CARRIER
      - VAN_OR_REEFER
      - FLATBED_OR_STEP_DECK
      - OTHER
      type: string
    WeightUnits:
      enum:
      - LB
      - KG
      type: string
    CarrierContactData:
      allOf:
      - $ref: '#/components/schemas/BaseContactData'
      - properties:
          carrierId:
            type: string
        required:
        - carrierId
        type: object
    V0Mode.FreightModeDetails:
      properties:
        drayageSubtype:
          $ref: '#/components/schemas/DrayageSubtype'
        mode:
          $ref: '#/components/schemas/FreightMode'
      required:
      - mode
      type: object
    MovementExternalIdentifierType:
      enum:
      - CUSTOM
      type: string
    BlindShipment:
      properties:
        type:
          type: string
          enum:
          - BLIND_SHIPMENT
          nullable: false
      required:
      - type
      type: object
    OverDimension:
      properties:
        type:
          type: string
          enum:
          - OVER_DIMENSION
          nullable: false
      required:
      - type
      type: object
    PipeStakes:
      properties:
        type:
          type: string
          enum:
          - PIPE_STAKES
          nullable: false
      required:
      - type
      type: object
    HazmatClassQualifier:
      type: string
      enum:
      - P
      - S
    Tarping:
      properties:
        size:
          $ref: '#/components/schemas/Dimension'
        type:
          type: string
          enum:
          - TARPING
          nullable: false
      required:
      - size
      - type
      type: object
    CustomerContactData:
      allOf:
      - $ref: '#/components/schemas/BaseContactData'
      - properties:
          customerId:
            type: string
        required:
        - customerId
        type: object
    MayHaveID_UserData_:
      allOf:
      - properties:
          id:
            type: string
        type: object
      - $ref: '#/components/schemas/UserData'
    UpdateMovementInput:
      properties:
        movement:
          $ref: '#/components/schemas/MovementData'
      required:
      - movement
      type: object
    InsideDelivery:
      properties:
        type:
          type: string
          enum:
          - INSIDE_DELIVERY
          nullable: false
      required:
      - type
      type: object
    SchedulingMethod:
      anyOf:
      - $ref: '#/components/schemas/EmailSchedulingMethod'
      - $ref: '#/components/schemas/PhoneSchedulingMethod'
      - $ref: '#/components/schemas/PortalSchedulingMethod'
    Portal:
      type: string
      enum:
      - AMAZON_CARRIER_CENTRAL
      - BLUE_YONDER
      - COSTCO
      - DSDLINK
      - E2OPEN
      - LMCONNECT
      - MANHATTAN
      - NCR
      - OPENDOCK
      - RYDERSHARE
      - YARDVIEW
    ExternalIdentifierType:
      enum:
      - CUSTOM
      type: string
    Financials:
      $ref: '#/components/schemas/V0Financials.Financials'
    Twic:
      properties:
        type:
          type: string
          enum:
          - TWIC
          nullable: false
      required:
      - type
      type: object
    Dimensions:
      $ref: '#/components/schemas/V0Dimensions.Dimensions'
    Movement:
      $ref: '#/components/schemas/WithId_MovementData_'
    MovementData:
      properties:
        tmsStatus:
          type: string
        attributes:
          $ref: '#/components/schemas/Attributes'
        tags:
          items:
            type: string
          type: array
        externalNotes:
          type: string
        internalNotes:
          type: string
        carrier:
          $ref: '#/components/schemas/AssignedCarrier'
        financials:
          $ref: '#/components/schemas/Financials'
        cargo:
          $ref: '#/components/schemas/Cargo'
        accessorials:
          items:
            $ref: '#/components/schemas/Accessorial'
          type: array
        equipmentOptions:
          items:
            $ref: '#/components/schemas/Equipment'
          type: array
        customer:
          $ref: '#/components/schemas/MayHaveID_CustomerData_'
        route:
          $ref: '#/components/schemas/MovementRoute'
        freightModeDetails:
          $ref: '#/components/schemas/FreightModeDetails'
        references:
          items:
            $ref: '#/components/schemas/Reference'
          type: array
        responsibleUser:
          $ref: '#/components/schemas/MayHaveID_UserData_'
        externalIds:
          items:
            $ref: '#/components/schemas/MovementExternalIdentifier'
          type: array
      required:
      - cargo
      - equipmentOptions
      - customer
      - route
      - references
      - externalIds
      type: object
    DriverAssistance:
      properties:
        type:
          type: string
          enum:
          - DRIVER_ASSISTANCE
          nullable: false
      required:
      - type
      type: object
    HazmatContact:
      allOf:
      - $ref: '#/components/schemas/Contact'
      - properties:
          reference:
            $ref: '#/components/schemas/Reference'
        type: object
    Address:
      properties:
        country:
          type: string
        postalCode:
          type: string
        city:
          type: string
        state:
          type: string
        addressTwo:
          type: string
        addressOne:
          type: string
      type: object
    CustomerExternalIdentifier:
      properties:
        type:
          anyOf:
          - $ref: '#/components/schemas/CustomerExternalIdentifierType'
          - type: string
          description: Typically one of the CustomerExternalIdentifierType enum values, but strings are also allowed
        value:
          type: string
      required:
      - type
      - value
      type: object
      additionalProperties: false
    ShippingUnits:
      enum:
      - BAGS
      - BALES
      - BOTTLES
      - BOXES
      - BUNDLES
      - CARTONS
      - CASES
      - CRATES
      - DRUMS
      - PACKAGES
      - PAILS
      - PALLETS
      - PIECES
      - ROLLS
      - SKIDS
      - TRUCKLOADS
      - TUBES
      - UNITS
      - VEHICLES
      type: string
    DrayageSubtype:
      enum:
      - IMPORT
      - EXPORT
      type: string
    Ppe:
      properties:
        type:
          type: string
          enum:
          - PPE
          nullable: false
      required:
      - type
      type: object
    Attributes:
      $ref: '#/components/schemas/V0Attributes.Attributes'
    LocationContactData:
      $ref: '#/components/schemas/BaseContactData'
    BaseContactData:
      properties:
        name:
          type: string
        phone:
          type: string
        email:
          type: string
        role:
          type: string
      type: object
    PaymentTerms:
      enum:
      - PREPAID
      - COLLECT
      - THIRD_PARTY
      type: string
    MovementStop:
      $ref: '#/components/schemas/V0Stop.MovementStop'
    Gps:
      properties:
        type:
          type: string
          en

# --- truncated at 32 KB (35 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/vooma/refs/heads/main/openapi/vooma-movements-api-openapi.yml