Traveloka 3.4 Booking - BookingSummary API

The 3.4 Booking - BookingSummary API from Traveloka — 1 operation(s) for 3.4 booking - bookingsummary.

Business capability
Reservation & Booking Management BC-4020

Operations 1

POST /booking-summary Get booking summary #

Documentation

Specifications

Other Resources

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/traveloka-3-4-booking-bookingsummary-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

traveloka-3-4-booking-bookingsummary-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Traveloka Atlas 3.4 Booking - BookingSummary API
  version: ''
  description: 'Traveloka Specification API for Accommodation Provider


    **General Notes**

    * Please ensure that the endpoint is configured to connect using **HTTPS via port 443.**

    * For fields with type "String", if there''s no value, do not return empty string (e.g.'
servers:
- url: http://localhost:8080
  description: Generated server url
security: []
tags:
- name: 3.4 Booking - BookingSummary
paths:
  /booking-summary:
    post:
      tags:
      - 3.4 Booking - BookingSummary
      summary: Get booking summary
      description: This operation is for Traveloka to retrieve the summary of a booking.
      operationId: bookingSummary
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BookingSummaryRequest'
        required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BookingSummaryResponse'
              examples:
                Success status response:
                  summary: Booking summary
                  description: Success status response
                  value:
                    uniqueId: 2342454-0
                    bookingToken: '1234567890'
                    providerHotelId: '1234567890'
                    status: NOT_BOOKED
                    providerRoomBookingSummaryList:
                    - availabilityToken: ROOM12345
                      providerHotelRoomId: '1234567890'
                      numAdults: 2
                      numChildren: 1
                      refundable: true
                      sellingRate:
                        currency: IDR
                        totalFare: 1000000
                        taxes: 100000
                        fees: 50000
                      additionalFees:
                        mandatoryFee:
                        - 5
                        mandatoryTax:
                        - 5
                        resortFee:
                        - 5
                        countryTaxFee:
                        - 5
                      cancellationPolicy:
                        cancellationPolicyDescription: string
                        providerCancellationPolicyInfoList:
                        - cancelDateTime: '2018-08-27T00:00:00.000+08:00'
                          cancellationFee: 120
                          currency: USD
                          nightCount: 0
                      breakfastIncluded: true
                      mealPlan:
                        code: RO
                        pax:
                          adults: 2
                          children: 1
                      wifiIncluded: true
                      roomBookingId: '1234567890'
                      status: NOT_BOOKED
                    totalRate:
                      currency: IDR
                      totalFare: 1000000
                      taxes: 100000
                      fees: 50000
                    guests:
                    - firstName: John
                      lastName: Doe
                      title: MR
                      passportNo: A12345678
                      passportCountryCode: ID
                Status 200 with error example:
                  summary: This example is using BOOKING_NOT_CONFIRMED error
                  description: Status 200 with error example
                  value:
                    requestId: requestId
                    status: FAILED
                    error:
                      errorId: BOOKING_NOT_CONFIRMED
                      errorMessage: Booking is not confirmed
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BookingSummaryErrorResponse'
              examples:
                Error 400 example:
                  summary: This example is using INVALID_REQUEST_FIELD error
                  description: Error 400 example
                  value:
                    requestId: requestId
                    status: FAILED
                    error:
                      errorId: INVALID_REQUEST_FIELD
                      errorMessage: Invalid request field
        '401':
          description: Authentication failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BookingSummaryErrorResponse'
              examples:
                Error 401 example:
                  summary: This example is using AUTHENTICATION_FAILED error
                  description: Error 401 example
                  value:
                    requestId: requestId
                    status: FAILED
                    error:
                      errorId: AUTHENTICATION_FAILED
                      errorMessage: Authentication failed
        '429':
          description: Rate limit exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BookingSummaryErrorResponse'
              examples:
                Error 429 example:
                  summary: This example is using TOO_MANY_REQUESTS error
                  description: Error 429 example
                  value:
                    requestId: requestId
                    status: FAILED
                    error:
                      errorId: TOO_MANY_REQUESTS
                      errorMessage: Too many requests
        '500':
          description: Something went wrong
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BookingSummaryErrorResponse'
              examples:
                Error 500 example:
                  summary: This example is using UNKNOWN_SERVER_ERROR error
                  description: Error 500 example
                  value:
                    requestId: requestId
                    status: FAILED
                    error:
                      errorId: UNKNOWN_SERVER_ERROR
                      errorMessage: Unknown server error
      servers:
      - url: http://localhost:8080
        description: Generated server url
components:
  schemas:
    HotelBookingGuest:
      required:
      - firstName
      type: object
      properties:
        firstName:
          type: string
          description: First name of the guest
          example: John
        lastName:
          type: string
          description: Last name of the guest
          example: Doe
        title:
          type: string
          description: Title of the guest
          enum:
          - MR
          - MRS
          - MISS
          - OTHERS
        passportNo:
          type: string
          description: Passport number of the guest
          example: A12345678
        passportCountryCode:
          type: string
          description: Country code of the passport
          example: ID
      description: 'In the guest node, the following information must be included: firstName, lastName.'
    HotelRoomRate:
      required:
      - currency
      - fees
      - taxes
      - totalFare
      type: object
      properties:
        currency:
          type: string
          description: Currency code, e.g. IDR, USD
          example: IDR
        totalFare:
          type: number
          description: Total fare (including taxes, fees, and commission). If two rooms are requested in the specs, this totalFare will be for two rooms.
          format: double
          example: 1000000
        taxes:
          type: number
          description: Total taxes amount
          format: double
          example: 100000
        fees:
          type: number
          description: Total fees amount
          format: double
          example: 50000
    BookingSummaryRequest:
      type: object
      properties:
        uniqueId:
          type: string
          description: Traveloka booking ID. Will not be mandatory if already have issuanceId
          example: 20214324-0
        availabilityToken:
          type: string
          description: Provider availability token
          example: '12312312'
        bookingToken:
          type: string
          description: Provider booking token
          example: '12312312'
        issuanceId:
          type: string
          description: Provider issuance id (itinerary ID). This field will be mandatory if booking has been issued
          example: '12312312'
    AdditionalFees:
      type: object
      properties:
        mandatoryFee:
          allOf:
          - $ref: '#/components/schemas/ChargeItem'
          - description: Mandatory fees are collected by the property at check-in or check-out.
        mandatoryTax:
          allOf:
          - $ref: '#/components/schemas/ChargeItem'
          - description: Mandatory taxes are collected by the property at check-in or check-out.
        resortFee:
          allOf:
          - $ref: '#/components/schemas/ChargeItem'
          - description: Resort fees are charged for amenities and extras and collected by the property at check-in or check-out.
        countryTaxFee:
          allOf:
          - $ref: '#/components/schemas/ChargeItem'
          - description: Country tax fee is collected by the property at check-in or check-out.
    BookingSummaryErrorResponse:
      required:
      - error
      - status
      - uniqueId
      type: object
      properties:
        uniqueId:
          type: string
          description: Traveloka Booking ID reference
          example: 2342454-0
        status:
          type: string
          description: "    Booking status. Expected output is one of the following:\n\n    FAILED → return FAILED if retrieving booking status is failed\n"
          example: FAILED
          enum:
          - FAILED
        error:
          allOf:
          - $ref: '#/components/schemas/Error'
          - description: For complete error enums, please check on FAQ > Error Object
    ChargeItem:
      required:
      - amount
      - currency
      type: object
      properties:
        currency:
          type: string
          description: Currency of the charge item, e.g., USD, IDR
          example: USD
        amount:
          type: number
          description: Amount of the charge item
          format: double
          example: 100
    HotelBookingSummaryResponse:
      required:
      - availabilityToken
      - numAdults
      - numChildren
      - providerHotelRoomId
      - refundable
      - sellingRate
      - status
      type: object
      properties:
        availabilityToken:
          type: string
          description: "  Token/ID for this room type/price. This is passed from room list search request.\n  Availability token does not depend on the number of rooms\n"
          example: ROOM12345
        providerHotelRoomId:
          type: string
          description: Provider hotel room ID
          example: '1234567890'
        numAdults:
          type: integer
          description: Number of adults that can stay in this room.
          format: int32
          example: 2
        numChildren:
          type: integer
          description: Number of children that can stay in this room.
          format: int32
          example: 1
        refundable:
          type: boolean
          description: Indicate yes if this room type is refundable upon cancellation.
          example: true
        sellingRate:
          allOf:
          - $ref: '#/components/schemas/HotelRoomRate'
          - description: Recommended price for this room type in currency provided by the request
        additionalFees:
          allOf:
          - $ref: '#/components/schemas/AdditionalFees'
          - description: The fees collected by the property. The values for each type of fee are the total for that type.
        cancellationPolicy:
          allOf:
          - $ref: '#/components/schemas/HotelCancellationPolicy'
          - description: Cancellation policy for this room type. Mandatory if refundable is true. Expected behavior is that all rooms have the same cancellation policy.
        breakfastIncluded:
          type: boolean
          description: Identifier is breakfast included in this room booking.
          example: true
          deprecated: true
        mealPlan:
          allOf:
          - $ref: '#/components/schemas/MealPlan'
          - description: Meal plan for this room booking.
        wifiIncluded:
          type: boolean
        roomBookingId:
          type: string
          description: Room Booking ID, this ID will be used for room cancellation in one booking.
          example: '1234567890'
        status:
          type: string
          description: "   Provider hotel room booking status. Expected output is one of the following:\n   BOOKED → Return BOOKED if the accommodation allotment for\n            this booking has been reserved and is awaiting payment.\n   ISSUED → return ISSUED if the issuance process succeed.\n   CANCELLED → return CANCELLED if the booking is canceled.\n   UNKNOWN → return UNKNOWN if the booking status failed.\n   PENDING → return PENDING if you are unable to confirm\n             if booking is successful/failed within one minute.\n"
          enum:
          - NOT_BOOKED
          - BOOKED
          - ISSUED
          - CANCELLED
          - UNKNOWN
          - PENDING
          - ATTENTION_NEEDED
    HotelCancellationPolicyInfo:
      required:
      - cancelDateTime
      - cancellationFee
      - currency
      type: object
      properties:
        cancelDateTime:
          type: string
          description: 'Date time which cancellation fee will start to take place.


            The allowed format is YYYY-MM-DDThh:mm:ss.nnnZ.


            Example:


            cancelDateTime: 2028-01-01T00:00:00.000Z


            cancellationFee: 120 (USD)


            means, cancellation after 01-Jan-2028 will impose $120 cancellation fee.

            '
          example: '2028-01-01T00:00:00.000Z'
        cancellationFee:
          type: number
          description: Cancellation fee for all rooms all nights
          format: double
          example: 120
        nightCount:
          type: integer
          description: 'Cancellation fee in room night.


            Example: nightCount = 1 means cancellation fee is one room night.


            This field is not mandatory if @cancellationFee is already filled in.


            But if @nightCount is filled in, @cancellationFee MUST also be filled in.

            '
          format: int32
        currency:
          type: string
          description: Currency of the cancellation fee
          example: USD
    Error:
      type: object
      properties:
        errorId:
          type: string
        errorMessage:
          type: string
    PiMealPlanPax:
      required:
      - adults
      type: object
      properties:
        adults:
          type: integer
          description: "Number of adult pax. \n\nNote: Adult pax can be consumed by child guests. \n\nFor example, if the returned mealPax is 3 adults, and the guest consists of 2 adults and 1 child, it is permissible.\n"
          format: int32
          example: 2
        children:
          type: integer
          description: "Number of child pax\n\nNote: Child pax can not be consumed by adult guests. \n"
          format: int32
          example: 1
      description: Pax applicable to the mealPlan. Mandatory for all mealPlan, except Room Only.
    BookingSummaryResponse:
      required:
      - bookingToken
      - guests
      - providerHotelId
      - providerRoomBookingSummaryList
      - status
      - totalRate
      - uniqueId
      type: object
      properties:
        uniqueId:
          type: string
          description: Traveloka Booking ID reference
          example: 2342454-0
        bookingToken:
          type: string
          description: Provider booking token
          example: '1234567890'
        providerHotelId:
          type: string
          description: Provider hotel ID
          example: '1234567890'
        status:
          type: string
          description: "    Booking status. Expected output is one of the following:\n\n    BOOKED → Return BOOKED if the accommodation allotment for this booking has been reserved and is awaiting payment\n\n    ISSUED → return ISSUED if the issuance process succeed\n\n    CANCELLED → return CANCELLED if the booking is canceled\n\n    FAILED → return FAILED if the booking status failed\n\n    PENDING → return PENDING if you are unable to confirm if booking is successful/failed within one minute\n"
          enum:
          - NOT_BOOKED
          - BOOKED
          - ISSUED
          - CANCELLED
          - FAILED
          - PENDING
        providerRoomBookingSummaryList:
          type: array
          description: Booking status for each rooms in the booking
          items:
            $ref: '#/components/schemas/HotelBookingSummaryResponse'
        totalRate:
          allOf:
          - $ref: '#/components/schemas/HotelRoomRate'
          - description: Total rate for the booking
        guests:
          type: array
          description: List of guests in the booking
          items:
            $ref: '#/components/schemas/HotelBookingGuest'
        error:
          allOf:
          - $ref: '#/components/schemas/Error'
          - description: For complete error enums, please check on FAQ > Error Object
    HotelCancellationPolicy:
      type: object
      properties:
        cancellationPolicyDescription:
          type: string
          description: Description for cancellation policy
        providerCancellationPolicyInfoList:
          type: array
          description: List of cancellation policy information
          items:
            $ref: '#/components/schemas/HotelCancellationPolicyInfo'
    MealPlan:
      required:
      - code
      - pax
      type: object
      properties:
        code:
          type: string
          description: Mealplan codes. See FAQ - Mealplan for all available enums.
          example: RO
          enum:
          - RO
          - BF
          - LU
          - DI
          - HB
          - HB_BF_LU
          - HB_BF_DI
          - HB_LU_DI
          - FB
          - AI
        pax:
          $ref: '#/components/schemas/PiMealPlanPax'
      description: Meal plan for this room, e.g. if the booking is for 2 rooms 3 night, the mealPlan should cover for 1 room 1 night
  securitySchemes:
    basicAuth:
      type: http
      description: 'Custom Basic Auth format:

        - Format: username:password

        - Encode with Base64

        - Send in header: Authorization: Basic base64(username:password)

        '
      scheme: basic
x-tagGroups:
- name: Traveloka Atlas API (1.0)
  tags:
  - 1.1 Content - Hotel & Room
  - 2.1 Search - HotelList
  - 2.2 Search - RoomList
  - 2.3 Search - BulkRoomList
  - 3.1 Booking - Book
  - 3.2 Booking - IssueCheck
  - 3.3 Booking - Issue
  - 3.4 Booking - BookingSummary
  - 3.5 Booking - Cancel