The QuoteCloud Itinerary Sync API enables seamless integration of travel booking data into the QuoteCloud platform. It accepts a JSON payload conforming to the BookingCI schema and synchronizes itinerary details via a secure HTTP POST request. You can find the full schema here.
Endpoint: https://workerapi.quote.cloud/service/jsonpost/itinerary-sync-api
Method: POST
Upload Type: multipart/form-data
This guide covers authentication, payload structure, integration examples, validation, and error handling.
Before you begin, ensure you have:
A valid branch ID and password configured in QuoteCloud
A BookingCI-compliant JSON file
HTTPS support for secure transmission
Authentication is handled via multipart/form-data fields:
| Field | Description |
|---|---|
branch |
Branch identifier provided by QuoteCloud |
password |
Password configured in QuoteCloud |
🔐 These credentials must be provisioned in your QuoteCloud account. Store them securely in environment variables and avoid exposing them in client-side code.
| Field | Type | Description |
|---|---|---|
branch |
string | Branch ID configured for API integration in QuoteCloud |
password |
string | Password set for API integration in QuoteCloud |
file |
file | JSON file (BookingCI schema) |
bash
curl -X POST \
-F "branch=$QC_BRANCH" \
-F "password=$QC_ITINERARY_SYNC_PASSWORD" \
-F "file=@/path/to/booking.json;type=application/json" \
https://workerapi.quote.cloud/service/jsonpost/itinerary-sync-api
The uploaded JSON must conform to the BookingCI schema. Key sections include:
bookingReference, systemType, bookingStatus
agency.agency.code, agency.consultant.consultant.code
passengers.passenger[] with names and emails
itinerary.itineraryItem[] with one or more segments.segment[]
Supported segment types:
flight, hotel, car, transfer, tour, bus, ferry, rail, cruise, surface, insurance, activity, miscellaneous, general
JSON
{
"bookingReference": "TI120920230931",
"systemType": "CCTE",
"agency": {
"agency": { "code": "X12" },
"consultant": {
"consultant": { "code": "quotecloud" }
}
},
"bookingStatus": { "bookingStatus": "ACTIVE" },
"passengers": {
"passenger": [
{
"firstname": "ALL SEGMENTS",
"lastname": "TEST",
"passengerNumber": 0,
"leadPassenger": true,
"emails": { "email": ["test@test.com"] }
}
]
},
"itinerary": {
"itineraryItem": [
{
"itemNumber": 1,
"ccteStatus": "Confirmed",
"segments": {
"segment": [
{
"type": "Flight",
"flight": {
"departs": {
"date": "Jun 20, 2023 9:10:00 AM",
"airport": { "airportLocation": { "cityCode": "SYD" } }
},
"arrives": {
"date": "Jun 20, 2023 6:00:00 AM",
"airport": { "airportLocation": { "cityCode": "LAX" } }
}
}
}
]
}
}
]
}
}
📥 Need a more complex example? Download a JSON sample with multiple passengers, segments, and services here.
The consultant code in your payload must match the Consultant ID configured in QuoteCloud.
Required Field: agency.consultant.consultant.code
Example:
JSON
{
"agency": {
"consultant": {
"consultant": {
"code": "quotecloud",
"name": "quotecloud"
}
}
}
}
❌ Uploads will be rejected if the consultant code does not match.
The QuoteCloud Itinerary Sync API lets travel systems push booking and itinerary data into QuoteCloud so travel agents can manage itineraries alongside quotes and proposals. The API accepts a BookingCI-compliant JSON file via a secure HTTP POST and is designed to integrate itinerary details into QuoteCloud's platform (used as quote software and proposal software for travel agencies).
Use the following endpoint and request format:
Endpoint: https://workerapi.quote.cloud/service/jsonpost/itinerary-sync-api
Method: POST
Upload type: multipart/form-data (file field must contain BookingCI JSON with Content-Type application/json).
Prerequisites: a valid QuoteCloud branch ID, a configured integration password, a BookingCI-compliant JSON file, and HTTPS support for secure transmission.
Authentication is sent as multipart/form-data fields: branch (branch ID) and password (integration password). These credentials must be provisioned in your QuoteCloud account and should be stored securely (for example, in environment variables) and never exposed in client-side code.
Required multipart/form-data fields:
- branch: string — your QuoteCloud branch ID
- password: string — the integration password for that branch
- file: file — the BookingCI JSON file (Content-Type: application/json)
The uploaded file must be valid JSON that conforms to the BookingCI schema.
The uploaded BookingCI JSON must include core booking and itinerary sections such as bookingReference, systemType, bookingStatus, agency.agency.code, agency.consultant.consultant.code, passengers (passenger[] with names and emails), and itinerary.itineraryItem[] containing one or more segments.segment[].
Supported segment types include: flight, hotel, car, transfer, tour, bus, ferry, rail, cruise, surface, insurance and act. Ensure required fields for each segment type are present according to the BookingCI schema.
Sample cURL (replace environment variables with your values):
curl -X POST \
-F "branch=$QC_BRANCH" \
-F "password=$QC_ITINERARY_SYNC_PASSWORD" \
-F "file=@/path/to/booking.json;type=application/json" \
https://workerapi.quote.cloud/service/jsonpost/itinerary-sync-api
Minimal valid payload outline: include bookingReference, systemType, bookingStatus, agency.agency.code, agency.consultant.consultant.code, at least one passenger (with name/email) and at least one itineraryItem with a segment[]. Consult the BookingCI schema in the developer docs for exact field names and types.
The API validates the uploaded JSON against the BookingCI schema. If validation fails, the API returns error details and an HTTP error status. For successful requests you should receive confirmation and the synced itinerary will appear in QuoteCloud.
Best practices: perform local schema validation before upload, log responses and errors, implement retries for transient network errors, and surface server error messages to support/debug flows when needed.
Security recommendations: always use HTTPS, store branch IDs and passwords in server-side environment variables or a secrets manager, rotate integration passwords periodically, and never embed credentials in client-side code or public repositories.
Integration tips: validate BookingCI payloads locally before uploading, batch or queue uploads to avoid rate spikes, and combine itinerary data with QuoteCloud's quoting and proposal workflows so agents can include synced itineraries in documents generated by QuoteCloud's sales quoting software and sales proposal software.
Sales Quotes for Telco
Sales Quotes for Trade Services
Sales Quotes for Travel
Sales Quotes for Marketing Services
Sales Quotes for Accounting
Sales Quotes for Construction Companies
Sales Quotes for Web Developers
Sales Quotes for Education Services
Sales Quotes for Events
Sales Quotes for Recruitment & Staffing
Sales Quotes for Architects & Engineers
Sales Quotes for Real Estate
Sales Quotes for IT Services
See all industries
QuoteCloud 2013-2022 Copyright all rights reserved