Parade Bookings API

The Bookings API from Parade — 3 operation(s) for bookings.

OpenAPI Specification

parade-bookings-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Parade Transactions Available Trucks Bookings API
  description: Parade's APIs available for digital transactions
  contact:
    email: eng@parade.ai
    name: Parade Eng Team
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  version: 1.1.0
servers:
- url: https://api.capacity.stage.parade.ai
security:
- tokenAuth: []
tags:
- name: Bookings
paths:
  /ls/syndication/book:
    post:
      operationId: book_now
      tags:
      - Bookings
      summary: Post your bookings here
      description: "Post your bookings here. \n\nEvery time a Book Now happens, one of 3 things may happen:\n\n- If we are API integrated back to the broker TMS (80%+ of the time), the book endpoint will ping the broker TMS \n  when your request is made and return a response code immediately, with a 201 if the booking was successful. \n\n- If the broker is not API integrated, we either need to run an asynchronous RPA or have the broker manually complete the booking, which can take up to 30 minutes.\n  If you want to set up a webhook to receive booking confirmation events via a webhook, please take a look at the Booking Confirmation Webhook documentation.\n"
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Booking'
      responses:
        '201':
          description: 'Booking created and accepted

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BookingCreatedResponse'
        '202':
          description: 'Booking received, but still being processed

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BookingPendingBrokerResponse'
        '400':
          description: 'Invalid input, object invalid

            '
        '401':
          description: 'Invalid authentication

            '
        '404':
          description: 'Load not found or Company not found (see error message)

            '
        '410':
          description: 'Load no longer available or Offer is no longer valid (see error message)

            '
        '500':
          description: 'Service error, please notify Parade through our partner Slack or eng@parade.ai

            '
        '504':
          description: 'Service unavailable, please retry later

            '
  /ls/syndication/book/{reservation_id}:
    get:
      operationId: get_booking
      tags:
      - Bookings
      summary: Retrieve Booking
      description: Retrieve information about a created booking
      parameters:
      - in: path
        name: reservation_id
        required: true
        schema:
          type: integer
        description: Reservation ID that you are retrieving
      responses:
        '200':
          description: success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BookingStatus'
        '400':
          description: 'Invalid input, object invalid

            '
        '401':
          description: 'Invalid authentication

            '
        '404':
          description: 'Booking not found

            '
        '410':
          description: 'Booking no longer available/valid

            '
        '500':
          description: 'Service error, please notify eng@parade.ai

            '
        '504':
          description: 'Service unavailable, please retry later

            '
  /ls/syndication/drop:
    post:
      operationId: drop_load
      tags:
      - Bookings
      summary: 'Cancels a carrier booking.

        '
      description: "This view is called by syndication partners that have previously reserved a load.\n\nThe process cancels the reservation and puts it in an abandoned status, because the carrier “dropped” the load.    \nThe carrier needs to be the one that previously reserved the load, otherwise an error will be returned.\n\nIf you need to cancel a Quote that hasn't been accepted yet, please use the Quote `/cancel` endpoint.\n"
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Drop'
      responses:
        '201':
          description: success
        '400':
          description: 'Invalid input, object invalid

            '
        '401':
          description: 'Invalid authentication

            '
        '404':
          description: 'Load matching this id not found or the carrier information doesn''t match the load reservation/offer.

            '
        '500':
          description: 'Service error, please notify Parade through our partner Slack or eng@parade.ai

            '
        '504':
          description: 'Service unavailable, please retry later

            '
components:
  schemas:
    Booking:
      type: object
      required:
      - carrier_dot_number
      - carrier_email
      - carrier_name
      - carrier_phone_number
      - company_external_key
      - load_reference_id
      - offer_external_key
      properties:
        carrier_name:
          type: string
          example: Bob's Trucking
        carrier_dot_number:
          type: string
          example: '23123123'
        carrier_mc_number:
          type: string
          example: '13122'
        carrier_email:
          type: string
          example: test@parade.ai
        carrier_phone_number:
          type: string
          example: 510-022-0222
        company_external_key:
          type: string
          example: reed
        load_reference_id:
          type: string
          example: R131232
        offer_external_key:
          type: string
          description: Used to validate if the rate offered to the carrier is still valid
          example: 32o847o8234
        offer_rate:
          type: number
          description: In some cases we allow the API to provide an alternative rate. Providing `offer_rate` makes `offer_external_key` optional. Reach out to us if you want to enable this functionality.
          example: 1000
    BookingCreatedResponse:
      type: object
      required:
      - id
      - message
      properties:
        id:
          type: integer
          example: 1341
          description: Unique Parade ID for this booking/reservation.
        message:
          type: string
          example: Successfully booked over API
          description: Message indicating the status of the booking/reservation creation.
    Drop:
      type: object
      required:
      - load_reference_id
      - carrier_name
      - carrier_dot_number
      - company_external_key
      - reason_message
      properties:
        load_reference_id:
          type: string
          example: R131232
        carrier_name:
          type: string
          example: Bob's Trucking
        carrier_dot_number:
          type: string
          example: '23123123'
          maxLength: 15
        carrier_mc_number:
          type: string
          example: '13122'
        carrier_email:
          type: string
          example: test@parade.ai
        carrier_user_contact_name:
          type: string
          example: Bob
        company_external_key:
          type: string
          example: reed
        offer_external_key:
          type: string
          example: 32o847o8234
        reason_message:
          type: string
          example: Too Heavy
    BookingStatus:
      type: object
      required:
      - load_id
      - reservation_id
      - all_in_rate
      - created_at
      - dot_number
      - broker_external_key
      - acceptance_status
      properties:
        load_id:
          type: string
          example: A12123
          description: Reference number of the load
        reservation_id:
          type: integer
          description: Unique ID of the Booking
        all_in_rate:
          type: number
          description: Total booking amount in USD
        created_at:
          type: string
          description: When this booking was created
        dot_number:
          type: string
          description: DOT number of the carrier
        mc_number:
          type: string
          description: MC number of the carrier
        carrier_email:
          type: string
          description: Contact email of the carrier who booked
        carrier_name:
          type: string
          description: Name of the carrier who booked
        rate_confirmation_email:
          type: string
          description: The carrier email that will receive the rate confirmation email
        notified_email:
          type: string
          description: The broker email that got notified of this booking
        notified_name:
          type: string
          description: The name of the broker rep who got notified
        broker_external_key:
          type: string
          description: Unique key identifying the broker
        acceptance_status:
          type: string
          enum:
          - Conflict
          - Confirm
          - Needs Action
    BookingPendingBrokerResponse:
      type: object
      required:
      - id
      - message
      properties:
        id:
          type: integer
          example: 1341
          description: Unique Parade ID for this booking/reservation.
        message:
          type: string
          example: Successfully booked but pending broker assignment
          description: Message indicating the status of the booking/reservation creation.
  securitySchemes:
    tokenAuth:
      type: apiKey
      name: Authorization
      in: header
      description: Contact us to get an authorization token