Operation API
API for Acuo Travel Agent Operation, a model-driven Power App.
Travel Agent Operation is a cloud-based backend application for managing group bookings for tours and events.
It supports front-end publishing automation and handles tour and event bookings efficiently.
As a Model-Driven Power App, the application uses Microsoft's platform capabilities to help clients integrate AI and automation features. These tools help tour operators and event organizers optimize workflows, improve efficiency, and deliver great service experiences.
Authentication
All API requests use OAuth 2.0 for authentication. You must obtain an access token to interact with the API.
Token needs to be refreshed periodically to maintain access.
Ensure that your access token is kept secure and never exposed in client-side code.
Endpoints
1. Package Management
Get Package Info
GET /cps_get_package_info(cps_external_package_id=<EXTERNAL PACKAGE ID>)
Content-Type: application/jsonUse this endpoint to retrieve detailed information about a specific travel package.
Response (200 OK)
{
"cps_travel_package_status": {
"Name": "string",
"ItemDescription": "string",
"WebMessageboxTop": "string",
"WebMessageboxLower": "string",
"BookingMessageTextHelp": "string",
"Image": "string",
"StartDate": "DateTime",
"EndDate": "DateTime",
"MaxTravelersInBooking": "number",
"MinTravelersInBooking": "number",
"RegisterPassport": "boolean",
"RegisterSSN": "boolean",
"lookupSSN": "boolean",
"ShowSalesStatus": "boolean",
"ShowPrices": "boolean",
"RegisterAddress": "boolean",
"BookingFormShowHeader": "boolean",
"PackagePrices": [
{
"PerCount": "number",
"PricePP": "number",
"Name": "string"
}
],
"PriceAddons": [
{
"AddonGuid": "string",
"Description": "string",
"TrvAbrv": "string",
"PricePP": "number",
"Oneofgroup": "string",
"ActivityType": "number"
}
]
}
}Get Package Status
GET /cps_get_package_status(cps_external_package_id=<EXTERNAL PACKAGE ID>)
Content-Type: application/jsonResponse (200 OK)
{
"cps_travel_package_status":
{
"UnBookedPax": "number",
"Waitinglist": "boolean",
"PackageStage": "number",
"FewSeatsAvailable": "boolean",
"AllowWaitlistRegistration": "boolean"
}
}Post Booking
POST /cps_put_travelerbooking
Content-Type: application/jsonPost a new travel package to the system.
Request Body (JSON)
{
"WaitlistRegistration": "boolean",
"exteralref": "string",
"Travelers": [
{
"Payer": "boolean",
"Name_First": "string",
"Name_Last": "string",
"SSN": "string",
"Email": "string",
"Phonenumber": "string",
"Address1": "string",
"Address2": "string",
"Addresszip": "string",
"City": "string",
"Country": "string",
"Passportnumber": "string",
"PassportIssueDate": "YYYY-MM-DD",
"Passportexpiration": "YYYY-MM-DD",
"PassportSex": "string",
"Comment": "string",
"PriceAddons": [
"string"
]
}
]
}Response (200 OK)
{
Same as the request body
...
"trvpackjournalheaderid": "string",
"Header_validationErrors": "string",
"Header_ErrorCode": {
"type": "number",
"message": "string"
},
"Travelers": [
{
Same as the request body
...
"Togethercode": "string",
"salesprice": "number",
"Passportbirthday": "YYYY-MM-DD",
"Passportissuecountry": "string",
"Passportnationality": "string",
"ValidationResult": "string",
"Trvpackjournallineid": "string",
"Coupon": "string",
"PriceAddons": [
"string"
]
}
]
}