Despegar Cancellations API

Validation, quotation, and confirmation of cancellations.

OpenAPI Specification

despegar-cancellations-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Activities Availability Cancellations API
  version: 1.0.0
  description: 'API for activities: tickets, modalities, availability, prebook, payments, and booking. Authentication via API Key.'
servers:
- url: https://api-dev.despegar.com/v3/activities-api
  description: Sandbox
- url: https://apis-uat.despegar.com/v3/activities-api
  description: UAT
- url: https://api.despegar.com/v3/activities-api
  description: Production
security:
- ApiKeyAuth: []
tags:
- name: Cancellations
  description: Validation, quotation, and confirmation of cancellations.
paths:
  /reservations/{productId}/cancels/allowance:
    get:
      tags:
      - Cancellations
      summary: Allowance
      parameters:
      - in: path
        name: productId
        required: true
        schema:
          type: string
        description: Product ID associated with the reservation
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  product_allowance:
                    type: object
                    properties:
                      product_type:
                        type: string
                      product_id:
                        type: integer
                      allowance:
                        type: string
                        description: 'This field supports the following values:'
                        enum:
                        - ALLOWED
                        - DISALLOWED
                        - UNKNOWN
                      disallowed_reason:
                        type: string
                        description: 'It will indicate the explanation for the reason of rejection.The possible values are:'
                        enum:
                        - ALREADY_CANCELLED
                        - NOT_ALLOWED_BOOKING_IN_PROCESS
                        - CANCEL_IN_PROCESS
                        - EXTERNAL_BLOCKED
                        - RETRACTION_IN_PROCESS
                        - CANCEL_NOT_IN_PROCESS
                        - TICKET_STATUS_EXCHANGED
                        - TICKET_STATUS_REFUNDED
                        - TICKET_STATUS_USED
                        - TICKET_STATUS_USED_EXCHANGED
                        - TICKET_STATUS_PARTIALLY_USED_EXCHANGED
                        - TICKET_STATUS_VOIDED
                        - TICKET_STATUS_HOLD
                        - TICKET_STATUS_HOLD_CANCELED
                        - TICKET_STATUS_CHECKED_IN
                        - INVALID_TICKETS
                        - EXONERATION_FLOW_NOT_SUPPORTED
                        - NOT_ALLOWED_VOID_OR_NOT_ISSUED_RESCUE
                        - NOT_ALLOWED_TOTAL_REFUND_RESCUE
                        - CFAR
                        - PROVIDER_NOT_SUPPORTED
                        - AFTERSALE_NOT_ALLOWED
                        - BLOCKED_CARRIER
                        - INVALID_MINIMUM_HOURS
                        - LEGAL_CLAIM
                        - CHANGE_IN_PROGRESS
                      refund_policy:
                        type: string
                        description: 'This field contains a code indicating whether the customer will receive a refund. The possible values are:'
                        enum:
                        - TOTAL_REFUND
                        - WITH_PENALTY
                        - TAX_ONLY
                        - NO_REFUND
                      policy:
                        type: string
                        description: It indicates which policy is applied.
                        enum:
                        - 'VOID: Only flights'
                        - RETRACTION_LAW
                        - 'ANAC: Only flights BR'
                        - EXONERATION
                        - 'SCHEDULE_CHANGE: Only flights'
                        - 'CONTINGENCY: Only flights'
                        - BY_POLICIES
                        - UNKNOWN
                      expiration_date_time:
                        type: string
                        format: date-time
                        description: It is the expiration date of this policy.
                      expiration_date_time_zone:
                        type: string
                        description: Time zone associated with expiration_date_time.
                  related_products_allowances:
                    type: array
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                  message:
                    type: string
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        field:
                          type: string
                        message:
                          type: string
        '404':
          description: Not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                  message:
                    type: string
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        field:
                          type: string
                        message:
                          type: string
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                  message:
                    type: string
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        field:
                          type: string
                        message:
                          type: string
      operationId: getCancelAllowance
  /reservations/cancels/quote:
    post:
      tags:
      - Cancellations
      summary: Quote
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                transaction_id:
                  type: string
                cancellation_items:
                  type: array
                  items:
                    type: integer
                  description: 'This field is mandatory only for flights. All passengers of the product must be included in the cancellation request. Passenger indexes start at 0 (e.g. 1 passenger = [0]). IMPORTANT: Partial cancellations are currently not supported.'
                quote_type:
                  type: string
                  description: 'Allowed: BY_POLICIES'
              required:
              - transaction_id
            examples:
              default:
                value:
                  cancellation_items:
                  - 0
                  - 1
                  - 2
                  quote_type: BY_POLICIES
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  allowance_info:
                    type: object
                    properties:
                      product_allowance:
                        type: object
                        properties:
                          product_type:
                            type: string
                            description: Hotels, fligths o activities
                          product_id:
                            type: number
                            description: Reservation identification number
                          allowance:
                            type: string
                          refund_policy:
                            type: string
                            description: 'This field contains a code indicating whether the customer will receive a refund. The possible values are:'
                            enum:
                            - TOTAL_REFUND
                            - WITH_PENALTY
                            - TAX_ONLY
                            - NO_REFUND
                          policy:
                            type: string
                            description: It indicates which policy is applied.
                            enum:
                            - 'VOID: Only flights'
                            - RETRACTION_LAW
                            - 'ANAC: Only flights BR'
                            - EXONERATION
                            - 'SCHEDULE_CHANGE: Only flights'
                            - 'CONTINGENCY: Only flights'
                            - BY_POLICIES
                            - UNKNOWN
                          expiration_date_time:
                            type: string
                            format: date-time
                            description: It is the expiration date of this policy.
                          expiration_date_time_zone:
                            type: string
                            description: Time zone associated with expiration_date_time.
                      related_products_allowances:
                        type: array
                      quote:
                        type: object
                        properties:
                          product_quote:
                            type: object
                            properties:
                              quote_id:
                                type: string
                              creation_date:
                                type: string
                              product_data:
                                type: object
                                properties:
                                  product_type:
                                    type: string
                                  product_id:
                                    type: number
                                  transaction_id:
                                    type: number
                                  reservation_id:
                                    type: number
                                  currency:
                                    type: string
                                  currency_rate:
                                    type: number
                                  cancellation_items:
                                    type: array
                              refund_policy:
                                type: string
                              policy:
                                type: string
                              resolution:
                                type: string
                                description: MANUAL O AUTOMATIC
                              guaranteed:
                                type: boolean
                              status:
                                type: string
                                description: QUOTING O QUOTED
                              price_box:
                                type: object
                                properties:
                                  payment_methods:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        original_payment_method:
                                          type: string
                                        original_payment_amount:
                                          type: number
                                        original_currency:
                                          type: string
                                        original_conversion_rate:
                                          type: number
                                  refunds:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        original_payment_method:
                                          type: string
                                        refund_method_price_box:
                                          type: object
                                          properties:
                                            currency:
                                              type: string
                                            payment_amount:
                                              type: number
                                              description: Original amount paid for the reservation
                                            applied_penalty:
                                              type: number
                                              description: Penalty amount applied when cancelling the reservation
                                            refund_amount:
                                              type: number
                                              description: Amount to be refunded after applying the cancellation penalty
                  related_products_quotes:
                    type: string
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                  message:
                    type: string
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        field:
                          type: string
                        message:
                          type: string
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                  message:
                    type: string
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        field:
                          type: string
                        message:
                          type: string
        '404':
          description: Not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                  message:
                    type: string
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        field:
                          type: string
                        message:
                          type: string
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                  message:
                    type: string
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        field:
                          type: string
                        message:
                          type: string
      operationId: createCancelQuote
  /reservations/{productId}/cancels/{FlowId}/quote:
    patch:
      tags:
      - Cancellations
      summary: Manual prueba
      parameters:
      - in: path
        name: productId
        required: true
        schema:
          type: integer
        description: Product ID associated with the reservation
      - in: path
        name: FlowId
        required: true
        schema:
          type: string
        description: Refers to the ID of a flow within a booking, used to check the status of a specific process (e.g., Can-1234)
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                action:
                  type: string
                  enum:
                  - ACCEPT
                  - REJECT
                reason:
                  type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  cancel_id:
                    type: string
                  request_code:
                    type: string
                  status:
                    type: string
                  product_id:
                    type: number
                  transaction_id:
                    type: number
                  reservation_id:
                    type: number
                  cancellation_items:
                    type: integer
                  product_type:
                    type: string
                  reason:
                    type: string
                  creation_date:
                    type: string
                    format: date
                  related_products:
                    type: array
                  quote:
                    type: object
                    properties:
                      product_quote:
                        type: object
                        properties:
                          quote_id:
                            type: string
                          creation_date:
                            type: number
                          product_data:
                            type: object
                            properties:
                              product_type:
                                type: string
                              product_id:
                                type: number
                              transaction_id:
                                type: number
                              reservation_id:
                                type: number
                              cancellation_items:
                                type: array
                          refund_policy:
                            type: string
                          policy:
                            type: string
                          resolution:
                            type: string
                          guaranteed:
                            type: boolean
                          status:
                            type: string
                      related_products_quotes:
                        type: array
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                  message:
                    type: string
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        field:
                          type: string
                        message:
                          type: string
        '404':
          description: Not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                  message:
                    type: string
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        field:
                          type: string
                        message:
                          type: string
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                  message:
                    type: string
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        field:
                          type: string
                        message:
                          type: string
      operationId: updateCancelQuote
    get:
      operationId: getFlowInfo
      tags:
      - Cancellations
      summary: FlowInfo
      parameters:
      - in: path
        name: productId
        required: true
        schema:
          type: string
        description: Refers to the ID of a product within a reservation
      - in: path
        name: FlowId
        required: true
        schema:
          type: string
        description: Refers to the ID of a flow within a booking, used to check the status of a specific process (e.g., Can-1234)
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  cancel_id:
                    type: string
                  request_code:
                    type: string
                  status:
                    type: string
                  product_id:
                    type: number
                  transaction_id:
                    type: number
                  reservation_id:
                    type: number
                  cancellation_items:
                    type: integer
                  product_type:
                    type: string
                  reason:
                    type: string
                  creation_date:
                    type: string
                    format: date
                  finished_date:
                    type: string
                    format: date
                  related_products:
                    type: array
                  quote:
                    type: object
                    properties:
                      product_quote:
                        type: object
                        properties:
                          quote_id:
                            type: string
                          creation_date:
                            type: number
                          product_data:
                            type: object
                            properties:
                              product_type:
                                type: string
                              product_id:
                                type: number
                              transaction_id:
                                type: number
                              reservation_id:
                                type: number
                              cancellation_items:
                                type: array
                          refund_policy:
                            type: string
                          policy:
                            type: string
                          resolution:
                            type: string
                          guaranteed:
                            type: boolean
                          status:
                            type: string
                          price_box:
                            type: object
                            properties:
                              payment_methods:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    original_payment_method:
                                      type: string
                                    original_payment_amount:
                                      type: number
                                    original_currency:
                                      type: string
                                    original_conversion_rate:
                                      type: number
                              charges:
                                type: object
                                properties:
                                  fee_penalty:
                                    type: object
                                    properties:
                                      total_penalty:
                                        type: number
                                      breakdown:
                                        type: object
                                        properties:
                                          fee:
                                            type: number
                                          agency_fee:
                                            type: number
                                          administrative_fee:
                                            type: number
                                  provider_penalty:
                                    type: object
                                    properties:
                                      total_penalty:
                                        type: number
                                      breakdown:
                                        type: object
                                        properties:
                                          cost:
                                            type: number
                                  non_refundable_taxes:
                                    type: object
                                    properties:
                                      total_penalty:
                                        type: number
                                      breakdown:
                                        type: object
                                        properties:
                                          taxes_penalty:
                                            type: number
                                          taxes:
                                            type: array
                                          perceptions:
                                            type: number
                                  non_refundable_interests:
                                    type: object
                                    properties:
                                      total_penalty:
                                        type: number
                                      breakdown:
                                        type: object
                                        properties:
                                          interests:
                                            type: number
                              refund:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    original_payment_method:
                                      type: string
                                    refund_method_price_box:
                                      type: object
                                      properties:
                                        currency:
                                          type: string
                                        payment_amount:
                                          type: number
                                        applied_penalty:
                                          type: number
                                        refund_amount:
                                          type: number
                      related_products_quotes:
                        type: array
        '401':
          description: Authentication error
        '404':
          description: Not found
        '500':
          description: Server error
  /reservations/{id}/cancels:
    post:
      tags:
      - Cancellations
      summary: Cancel
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
        description: Reservation or product identifier
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                reason:
                  type: string
                  description: Cancellation reason
                  enum:
                  - FAMILY_OR_WORK_PROBLEM
                  - TRAVEL_ANOTHER_DESTINATION
                  - NATURAL_DISASTER
                  - WRONG_PURCHASE_DATA
                  - FOUND_BETTER_FLIGHT
                  - ILLNESS
                  - DEATH
                  - DUPLICATE_RESERVATION
                  - RESCHEDULED_FLIGHT
                  - CHANGE_PROBLEM
                  - CREDIT_CARD_PROBLEM
                  - RENTLER_PROBLEM
                  - OTHER
                  - HOTEL_PROBLEM
            examples:
              default:
                value:
                  reason: ILLNESS
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  flow_id:
                    type: string
                    description: Unique identifier for this cancellation.
                  product_id:
                    type: string
                    description: ID of the product for which cancellation was requested.
                  product_type:
                    type: string
                    description: type of the product for which cancellation was requested.
                  related_products_cancellations:
                    type: string
        '400':
          description: Invalid request
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                  message:
                    type: string
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        field:
                          type: string
                        message:
                          type: string
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                  message:
                    type: string
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        field:
                          type: string
                        message:
                          type: string
        '404':
          description: Not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                  message:
                    type: string
                  errors:
                    type: array
                    items:
                      type: object
                      properties:
                        field:
                          type: string
                        message:
                          type: string
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                  message:
                    type: string
                  errors:
                    type: array
                    items:
                      type: object
                      propert

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