TCP API (1.5)

Download OpenAPI specification:Download

TCP REST API specification.

admin

TCP administration api.

Resolves list of all agencies in TCP.

Authorizations:
apiKey

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Update Agency in TCP. Can be used to enable/disable agency.

Resolves original agency by ID and update all fields that passed to the method.

Authorizations:
apiKey
path Parameters
id
required
string

UUID.

Request Body schema: application/json
agencyName
string

Name of the Agency.

email
string

Agency email.

description
string

Agency Promo Text.

logo
string

Agency logo URL from storage (S3).

Responses

Request samples

Content type
application/json
{
  • "agencyName": "string",
  • "email": "string",
  • "description": "string",
  • "logo": "string",
  • "enabled": true
}

Lists all markets available for user with its settings.

Authorizations:
apiKey

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get market settings.

Authorizations:
apiKey
path Parameters
market
required
string^[A-Z]{2}$
Example: ua

Market code (ISO country code), two letters, lowercase.

Responses

Response samples

Content type
application/json
{
  • "market": "ua",
  • "exchangeCalculationType": "fare",
  • "exchangeCalculationTypeCarriers": [
    ]
}

Set market settings.

Authorizations:
apiKey
Request Body schema: application/json
market
string^[A-Z]{2}$

Market code (ISO country code), two letters, lowercase.

exchangeCalculationType
required
string
Enum: "fare" "equiv"

Type of the fare difference calculation.

exchangeCalculationTypeCarriers
required
Array of strings >= 0 characters unique

If there are items in it, exchange calculation type is applied only to provided carriers.

Responses

Request samples

Content type
application/json
{
  • "market": "ua",
  • "exchangeCalculationType": "fare",
  • "exchangeCalculationTypeCarriers": [
    ]
}

Removes market settings.

Authorizations:
apiKey

Responses

air

GDS and uAPI processing api.

Get booking object by PNR.

Open booking file, similar to uAPI UniversalReqImp, but will extract a bunch of additional parameters from terminal.

Authorizations:
apiKey
path Parameters
pnr
required
string (pnr)
Example: YYQQ55

Passenger name record (PNR)

Responses

Response samples

Content type
application/json
{
  • "type": "uAPI",
  • "pnr": "YYQQ55",
  • "version": 13,
  • "uapi_ur_locator": "THE83D",
  • "uapi_reservation_locator": "Z6N7G5",
  • "airlineLocatorInfo": [
    ],
  • "createdAt": "2019-01-21T10:55:48.485Z",
  • "hostCreatedAt": "2018-12-20T00:00:00.000Z",
  • "modifiedAt": "2019-01-21T11:13:07.912Z",
  • "fareQuotes": [
    ],
  • "segments": [
    ],
  • "serviceSegments": [
    ],
  • "passengers": [
    ],
  • "emails": [
    ],
  • "bookingPCC": "7J8J"
}

Get booking object with tickets by PNR

Gets and merges information about booking and its tickets from uAPI and terminal and merges them into single response

Authorizations:
apiKey
path Parameters
pnr
required
string (pnr)
Example: YYQQ55

Passenger name record (PNR)

Responses

Response samples

Content type
application/json
{
  • "booking": {
    },
  • "tickets": [
    ]
}

Get essential booking details by PNR.

Open booking file through uAPI

Authorizations:
apiKey
path Parameters
pnr
required
string (pnr)
Example: YYQQ55

Passenger name record (PNR)

Responses

Response samples

Content type
application/json
{
  • "type": "uAPI",
  • "pnr": "YYQQ55",
  • "version": 13,
  • "uapi_ur_locator": "THE83D",
  • "uapi_reservation_locator": "Z6N7G5",
  • "airlineLocatorInfo": [
    ],
  • "createdAt": "2019-01-21T10:55:48.485Z",
  • "hostCreatedAt": "2018-12-20T00:00:00.000Z",
  • "modifiedAt": "2019-01-21T11:13:07.912Z",
  • "fareQuotes": [
    ],
  • "segments": [
    ],
  • "serviceSegments": [
    ],
  • "passengers": [
    ],
  • "emails": [
    ],
  • "bookingPCC": "7J8J"
}

Get ticket object by ticketNumber.

Perform uAPI AirRetrieveDocument and enhance all possible parameters using terminal commands. Will collect missing taxes, breakdowns, etc. through ticket history and exchangedFor tickets chains.

Authorizations:
apiKey
path Parameters
ticketNumber
required
string (ticket-number)
Example: 0809903317384

Ticket number (13-digit).

query Parameters
pnr
string (pnr)
Example: pnr=YYQQ55

Passenger name record (PNR)

locator
string
Example: locator=AYE551

uAPI UR locator.

Responses

Response samples

Content type
application/json
{
  • "source": "uapi",
  • "pnr": "YYQQ55",
  • "iataNumber": 99999992,
  • "formOfPayment": [
    ],
  • "endorsement": "SKCHG SKCHG DUE TO OK724 CCLD-- FARE RESTRICTIONS APPLY",
  • "ticketNumber": "0809903317384",
  • "ticketingPcc": "7J8J",
  • "platingCarrier": "PS",
  • "issuedAt": "string",
  • "passengers": [
    ],
  • "tickets": [
    ],
  • "taxesInfoValid": true,
  • "taxesInfo": [
    ],
  • "paidTaxesInfo": [
    ],
  • "paidTaxesInfoValid": true,
  • "xfTaxesValid": true,
  • "basePrice": "USD150.50",
  • "basePriceIsSpecial": true,
  • "equivalentBasePrice": "UAH2020",
  • "equivalentBasePriceIsSpecial": true,
  • "totalPrice": "string",
  • "totalPriceIsSpecial": true,
  • "tourCode": "string",
  • "fareCalculation": "S-SEL OK X/PRG OK ROM 779.37 OK X/PRG OK SEL 474.78 NUC1254.15",
  • "exchangedFor": 649903275037,
  • "roe": 1116.28375,
  • "it": true,
  • "bt": true,
  • "decimalPlaces": {
    }
}

Get tickets collection by PNR.

Similar to /air/core/ticket/{ticketNumber}, but based on PNR. Also correctly retrieves even tickets with changed names. Performs all enhancments from single-ticket version of endpoint.

Authorizations:
apiKey
path Parameters
pnr
required
string (pnr)
Example: YYQQ55

Passenger name record (PNR)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Search bookings by PNR or lastname.

In terminal, search related bookings by keyword, aggreggate search results and complement it with additional booking data.

Authorizations:
apiKey
query Parameters
searchPhrase
required
string
Example: searchPhrase=Smotrov

Passenger name or pnr or ticket number.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get booking from search by searchPhrase and index.

Search method will not extract PNR for cancelled bookings, using this method it is possible.

Authorizations:
apiKey
query Parameters
id
required
integer

Index of search result.

searchPhrase
required
string
Example: searchPhrase=Smotrov

Passenger name or PNR or ticket number.

Responses

Response samples

Content type
application/json
{
  • "created": "2018-12-15T00:00:00.000Z",
  • "flightDate": "05DEC",
  • "index": 5,
  • "isCancelled": true,
  • "pnr": "YYQQ55",
  • "segments": [
    ],
  • "passengers": [
    ]
}

Create fare quote.

Create fare quote using FQ* command or manual mask.

Authorizations:
apiKey
Request Body schema: application/json
One of
required
Array of objects

Passengers list with indexes.

required
Array of objects

Segments list with indexes.

accountCode
required
string

Account Code.

currency
required
string

Currency ISO3.

calculationType
string
Enum: "FQ" "FQ.T" "FQ.H"

Calculation command type.

calculationDate
string

Date used for calculation in format.

additionalModifiers
string

Additional fare quote modifiers.

carrier
string

Carrier (PS, LO, etc).

it
string
Enum: "IT" "BT"

Is it Individual Tour or Bult tour.

pnr
required
string (pnr)

Passenger name record (PNR)

Responses

Request samples

Content type
application/json
Example
{
  • "passengers": [
    ],
  • "segments": [
    ],
  • "accountCode": null,
  • "currency": "USD",
  • "calculationType": "FQ",
  • "calculationDate": "string",
  • "additionalModifiers": "string",
  • "carrier": "string",
  • "it": "IT",
  • "pnr": "YYQQ55"
}

Response samples

Content type
application/json
{
  • "index": 2,
  • "status": "Reserved",
  • "calculationDate": "2019-05-04T00:00:00.000Z",
  • "calculationType": "FQ.T",
  • "effectiveDate": "2019-01-20T23:00:00.000Z",
  • "endorsement": "NONREF- NO CHNG",
  • "hasNetData": true,
  • "hash": "d41d8cd98f00b204e9800998ecf8427e",
  • "isAlreadyUpdated": true,
  • "it": true,
  • "tourCode": "string",
  • "bt": true,
  • "passengersIndexes": [
    ],
  • "platingCarrier": "PS",
  • "segments": [
    ],
  • "pricingInfos": [
    ],
  • "decimalPlaces": {
    }
}

Remove fare quotes.

Remove fare quote, using FX command.

Authorizations:
apiKey
Request Body schema: application/json
pnr
required
string (pnr)

Passenger name record (PNR)

fareQuoteList
required
Array of integers

List of fare quote indexes.

Responses

Request samples

Content type
application/json
{
  • "pnr": "YYQQ55",
  • "fareQuoteList": [
    ]
}

Response samples

Content type
application/json
{
  • "errorName": "ExtRuntimeError.FQWasNotCreated",
  • "errorMessage": "string",
  • "errorData": { }
}

Print new ticket based on FQ.

Authorizations:
apiKey
Request Body schema: application/json
fareQuoteHash
string

Unique hash for FQ.

object (Commission)

Commission values, in case of available field with null value this field is required

Paid by cash. (object) or Paid by invoice. (object) or Paid by card. (object) or Paid by custom form of payment. (object) (FormOfPayment)
passengers
Array of integers

List of passengers to be printed for

Responses

Request samples

Content type
application/json
{
  • "fareQuoteHash": "string",
  • "commission": {
    },
  • "fop": {
    },
  • "passengers": [
    ]
}

Response samples

Content type
application/json
{
  • "ticket": {
    }
}

Get GDS currency rates for date.

Using terminal commands FZS/FZI will create a dictionary of currency rates, including NUCs.

Authorizations:
apiKey
Request Body schema: application/json
Array of objects

Currency info.

date
string

Currency rates date.

Responses

Request samples

Content type
application/json
{
  • "currencies": [
    ],
  • "date": "string"
}

Response samples

Content type
application/json
{
  • "errorName": "ExtRuntimeError.FQWasNotCreated",
  • "errorMessage": "string",
  • "errorData": { }
}

Convert money amounts.

Using terminal commands FZS/FZI, convert dictionary of amounts to another currency, including NUCs.

Authorizations:
apiKey
Request Body schema: application/json
required
object

Convertation info.

Responses

Request samples

Content type
application/json
{
  • "amounts": {
    }
}

Response samples

Content type
application/json
{
  • "property1": {
    },
  • "property2": {
    }
}

Search segments availability.

uAPI-based availability, corresponds to uapi-json method.

Authorizations:
apiKey
Request Body schema: application/json
required
Array of objects

List of route legs.

required
object

Object groupped by passenger type i.e. ADT.

carriers
Array of strings

Carrier short code - PS, LO, etc.

Responses

Request samples

Content type
application/json
{
  • "legs": [
    ],
  • "passengers": {
    },
  • "carriers": [
    ]
}

Response samples

Content type
application/json
[
  • {
    }
]

Add new segments to existing booking.

Simply add new segments and save the booking.

Authorizations:
apiKey
Request Body schema: application/json
Array
airline
required
string

Airline code.

departure
required
string

Date in ISO format.

bookingClass
required
string <= 1 characters

One-letter code of booking class.

flightNumber
required
integer

Flight number from air company.

from
required
string

IATA code.

to
required
string

IATA code.

isSaved
boolean

If this segment currently stored in booking file. Should be false, when adding new segment during exchange.

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Remove segments.

Remove segments, objects from booking response can be passed here. Segments will be removed based on computed hash.

Authorizations:
apiKey
Request Body schema: application/json
pnr
required
string (pnr)

Passenger name record (PNR)

required
Array of Segment (object) or strings

List of segments data.

Responses

Request samples

Content type
application/json
{
  • "pnr": "YYQQ55",
  • "segmentsData": [
    ]
}

Response samples

Content type
application/json
{
  • "errorName": "ExtRuntimeError.FQWasNotCreated",
  • "errorMessage": "string",
  • "errorData": { }
}

Prepare exchange calculation for booking exchange.

Calculates ADC, and/or refund based on ticket data, fare quote data and additional parameters if provided.

Authorizations:
apiKey
Request Body schema: application/json
One of
pnr
required
string (pnr)

Passenger name record (PNR)

ticketNumber
required
string (ticket-number)

Ticket number (13-digit).

object

Base price values to perform calculation in case of IT/BT ticket.

object

Exchange values to apply on calculation.

fareQuoteHash
required
string

Hash of fare quote you want to use for calculation.

Responses

Request samples

Content type
application/json
Example
{
  • "pnr": "YYQQ55",
  • "ticketNumber": "0809903317384",
  • "ticketData": {
    },
  • "exchangeData": {
    },
  • "fareQuoteHash": "d41d8cd98f00b204e9800998ecf8427e"
}

Response samples

Content type
application/json
{
  • "pnr": "YYQQ55",
  • "ticketNumber": "0809903317384",
  • "ticketData": {
    },
  • "decimalPlaces": {
    },
  • "exchangeData": {
    },
  • "fareQuote": {
    }
}

Process ticket exchange based on exchange calculation.

Prepares exchange fare quote based on ticket data, fare quote data, and additional parameters if provided.

Authorizations:
apiKey
Request Body schema: application/json
One of
fareQuoteHash
required
string

Hash of fare quote you want to use for exchange.

pnr
required
string (pnr)

Passenger name record (PNR)

ticketNumber
required
string (ticket-number)

Ticket number (13-digit).

suppressFareBasisValidationWarnings
boolean

If fare basis validation should be suppressed. Probably validated by human.

object

Exchange values to apply during exchange.

Responses

Request samples

Content type
application/json
Example
{
  • "fareQuoteHash": "d41d8cd98f00b204e9800998ecf8427e",
  • "pnr": "YYQQ55",
  • "ticketNumber": "0809903317384",
  • "suppressFareBasisValidationWarnings": true,
  • "exchangeData": {
    }
}

Response samples

Content type
application/json
[
  • {
    }
]

Finish exchange and issue new ticket for fare quote.

Prints all necessary documents (ticket, emd) based on exchange fare quote.

Authorizations:
apiKey
Request Body schema: application/json

Request for finish exchange.

pnr
required
string (pnr)

Passenger name record (PNR)

fareQuoteHash
required
string

Fare quote hash received from exchange process response.

printEmd
boolean

If EMD should be issued.

Responses

Request samples

Content type
application/json
{
  • "pnr": "YYQQ55",
  • "fareQuoteHash": "d41d8cd98f00b204e9800998ecf8427e",
  • "printEmd": true
}

Response samples

Content type
application/json
{
  • "ticket": {
    }
}

Prepare refund calculation.

Prepares refund calculation to get refund data: refund amount and possible taxes to refund. If you want to make a full refund (no used cash/credit amount, no cancellation charge, refund all taxes), do not include refundData object into the request data

Authorizations:
apiKey
Request Body schema: application/json
ticketNumber
required
string

number of the ticket that is going to be refunded

object

main refund amounts and refundable taxes

Responses

Request samples

Content type
application/json
{
  • "ticketNumber": "0809903317384",
  • "refundData": {
    }
}

Response samples

Content type
application/json
{
  • "screens": [
    ],
  • "commandModifiers": {
    },
  • "commission": {
    },
  • "totalUsedAmount": {
    },
  • "totalPaidAmount": {
    },
  • "totalTaxPaid": "1251",
  • "refundTaxes": [
    ],
  • "refundMaskTaxes": [
    ],
  • "creditCardData": {
    },
  • "totalRefundAmount": {
    },
  • "calculationMadeWithAutoValues": true,
  • "autoRefund": true,
  • "fopTypes": [
    ]
}

Process ticket refund.

Process ticket refund based on refund data: refund amount and refundable taxes. If you want to make a full refund (no used cash/credit amount, no cancellation charge, refund all taxes), do not include refundData object into the request data

Authorizations:
apiKey
Request Body schema: application/json
ticketNumber
required
string

number of the ticket that is going to be refunded

object

main refund amounts and refundable taxes

Responses

Request samples

Content type
application/json
{
  • "ticketNumber": "0809903317384",
  • "refundData": {
    }
}

Response samples

Content type
application/json
{
  • "screens": [
    ],
  • "commandModifiers": {
    },
  • "commission": {
    },
  • "totalUsedAmount": {
    },
  • "totalPaidAmount": {
    },
  • "totalTaxPaid": "1251",
  • "refundTaxes": [
    ],
  • "refundMaskTaxes": [
    ],
  • "creditCardData": {
    },
  • "totalRefundAmount": {
    },
  • "calculationMadeWithAutoValues": true,
  • "autoRefund": true,
  • "fopTypes": [
    ]
}

Create ACL Group

Organization ID param will be received from the user's token, who makes this operation

Authorizations:
apiKey
Request Body schema: application/json
groupName
required
string (group-name)

Group name

required
object (acl-permissions)

Responses

Request samples

Content type
application/json
{
  • "groupName": "Full Access",
  • "permissions": {
    }
}

Response samples

Content type
application/json
{
  • "errorName": "ExtRuntimeError.FQWasNotCreated",
  • "errorMessage": "string",
  • "errorData": { }
}

Get ACL Group data

Organization ID param will be received from the user's token, who makes this operation

Authorizations:
apiKey
path Parameters
groupId
required
string (group-id)
Example: WmDhdJ239KAv0iWq

group ID.

Responses

Response samples

Content type
application/json
{
  • "groupId": "WmDhdJ239KAv0iWq",
  • "groupName": "Full Access",
  • "permissions": {
    },
  • "isDefault": false
}

Update ACL Group data

should be used as endpoint for the group editing and for setting groups as default for the current organization. Organization ID param will be received from the user's token, who makes this operation

Authorizations:
apiKey
path Parameters
groupId
required
string (group-id)
Example: WmDhdJ239KAv0iWq

group ID.

Request Body schema: application/json
groupName
required
string (group-name)

Group name

required
object (acl-permissions)

Responses

Request samples

Content type
application/json
{
  • "groupName": "Full Access",
  • "permissions": {
    }
}

Response samples

Content type
application/json
{
  • "errorName": "ExtRuntimeError.FQWasNotCreated",
  • "errorMessage": "string",
  • "errorData": { }
}

Delete ACL group entry

should be used as endpoint for deleting ACL group Organization ID param will be received from the user's token, who makes this operation

Authorizations:
apiKey
path Parameters
groupId
required
string (group-id)
Example: WmDhdJ239KAv0iWq

group ID.

Responses

Response samples

Content type
application/json
{
  • "errorName": "ExtRuntimeError.FQWasNotCreated",
  • "errorMessage": "string",
  • "errorData": { }
}

Set default organization ACL Group

Organization ID param will be received from the user's token, who makes this operation

Authorizations:
apiKey
Request Body schema: application/json
groupId
required
string (group-id)

Group ID

Responses

Request samples

Content type
application/json
{
  • "groupId": "WmDhdJ239KAv0iWq"
}

Response samples

Content type
application/json
{
  • "errorName": "ExtRuntimeError.FQWasNotCreated",
  • "errorMessage": "string",
  • "errorData": { }
}

Get ACL Groups list

Organization ID param will be received from the user's token, who makes this operation

Authorizations:
apiKey

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get current organization users for ACL management

Organization ID param will be received from the user's token, who makes this operation

Authorizations:
apiKey

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Assign ACL group to user

Organization ID param will be received from the user's token, who makes this operation

Authorizations:
apiKey
path Parameters
groupId
required
string (group-id)
Example: WmDhdJ239KAv0iWq

group ID.

Request Body schema: application/json
groupId
required
string (group-id)

Group ID

Responses

Request samples

Content type
application/json
{
  • "groupId": "WmDhdJ239KAv0iWq"
}

Response samples

Content type
application/json
{
  • "errorName": "ExtRuntimeError.FQWasNotCreated",
  • "errorMessage": "string",
  • "errorData": { }
}

Get list of PCC local printer settings for user.

Authorizations:
apiKey
path Parameters
userId
required
string (user-id)
Example: user:eu-west-1:4ec2c520-41db-4bbf-9500-c76c617ceec2

user ID.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Set PCC local printer settings for user.

Authorizations:
apiKey
path Parameters
userId
required
string (user-id)
Example: user:eu-west-1:4ec2c520-41db-4bbf-9500-c76c617ceec2

user ID.

Request Body schema: application/json
pcc
string (pcc)

PCC of consolidator Agency.

object (printers)

Responses

Request samples

Content type
application/json
{
  • "pcc": "7J8J",
  • "printers": {
    }
}

Ticket revalidation

Send eligible for the revalidation ticket's coupons. Result will be list of success/error messages for each sent segment

Authorizations:
apiKey
Request Body schema: application/json
pnr
required
string (pnr)

Passenger name record (PNR)

required
Array of objects

array of ticket (or tickets in case of conjuction ticket) revalidation data

Responses

Request samples

Content type
application/json
{
  • "pnr": "YYQQ55",
  • "revalidationData": [
    ]
}

Response samples

Content type
application/json
[
  • {
    }
]

rdp

Consolidator/subagents api.

Resolves current list of avaialable Consolidators.

Authorizations:
apiKey

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "agencyName": "string",
  • "email": "string",
  • "description": "string",
  • "logo": "string",
  • "status": "pending",
  • "autoConfirm": true,
  • "defaultConfig": {
    }
}

Making request to Consolidator to create partnership.

Authorizations:
apiKey
path Parameters
id
required
string

UUID of Consolidator.

Responses

Resolves Transactions statistics for Consolidator and current Subagent.

Authorizations:
apiKey
path Parameters
id
required
string

UUID of Consolidator.

query Parameters
dateStart
string <date>

Start date of period.

dateEnd
string <date>

End date of period.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Resolves Operaions statistics for Consolidator and current Subagent.

Authorizations:
apiKey
path Parameters
id
required
string

UUID of Consolidator.

query Parameters
dateStart
string <date>

Start date of period.

dateEnd
string <date>

End date of period.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Resolves current list of current Subagents.

Authorizations:
apiKey

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Resolves current Subagent with {id}. Also resolves all settings and restrictions.

Authorizations:
apiKey
path Parameters
id
required
string

UUID of Subagent.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "agencyName": "string",
  • "email": "string",
  • "description": "string",
  • "logo": "string",
  • "configuration": {
    }
}

Changing status for current Subagent.

Authorizations:
apiKey
path Parameters
id
required
string

UUID of Subagent.

Request Body schema: application/json
status
string

One of possible statuses for Consolidator and Subagent relations. See Consolidator#status.

Responses

Request samples

Content type
application/json
{
  • "status": "string"
}

Resolves Transactions statistics for Subagnet in current Consolidator.

Authorizations:
apiKey
path Parameters
id
required
string

UUID of Subagent.

query Parameters
dateStart
string <date>

Start date of period.

dateEnd
string <date>

End date of period.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Resolves Operaions statistics for Subagent and current Consolidator.

Authorizations:
apiKey
path Parameters
id
required
string

UUID of Subagent.

query Parameters
dateStart
string <date>

Start date of period.

dateEnd
string <date>

End date of period.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Resolves current Subagent Config for specific Subagent or Group.

Authorizations:
apiKey
path Parameters
id
required
string

UUID of Subagent or Group.

Responses

Response samples

Content type
application/json
{
  • "fops": [
    ],
  • "pccs": [
    ],
  • "operations": [
    ],
  • "minBalance": 0,
  • "restrictions": [
    ]
}

Updates config for Subagnet or Group of Subagents.

Authorizations:
apiKey
path Parameters
id
required
string

UUID of Subagent or Group.

Request Body schema: application/json
fops
Array of strings
Items Enum: "card" "cash" "invoice" "other"

Array of allowed forms of payment that can be used by current Subagent.

pccs
Array of strings

Array of allowed pcc for usage.

operations
Array of numbers

Array of id's of available actions (issue, refund, etc.) can be done by Subagent.

minBalance
integer

TBD. Minimum balanced needed to work with Consolidator.

restrictions
Array of objects

Restrictions array that should be applied for Subagnets actions.

Responses

Request samples

Content type
application/json
{
  • "fops": [
    ],
  • "pccs": [
    ],
  • "operations": [
    ],
  • "minBalance": 0,
  • "restrictions": [
    ]
}

Resolves list of all Groups.

Authorizations:
apiKey

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Resolves specific Group.

Authorizations:
apiKey
path Parameters
id
required
string

UUID of Group.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "title": "string",
  • "type": "users",
  • "entities": [
    ]
}

Updates specific Group.

Authorizations:
apiKey
path Parameters
id
required
string

UUID of Group.

Request Body schema: application/json
title
string

Title of the Group.

type
string
Enum: "users" "agencies"
entities
Array of strings

Responses

Request samples

Content type
application/json
{
  • "title": "string",
  • "type": "users",
  • "entities": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "string"
}

Deletes specific Group.

Authorizations:
apiKey
path Parameters
id
required
string

UUID of Group.

Responses

account

TCP account api.

Generate Braintree client token.

Authorizations:
apiKey

Responses

Make Braintree payment.

Authorizations:
apiKey
Request Body schema: application/json
nonce
string

Braintree nonce

amount
string

Numeric amount, i.e. 19.99

Responses

Request samples

Content type
application/json
{
  • "nonce": "string",
  • "amount": "string"
}

Response samples

Content type
application/json
{
  • "balance": 0
}

Resolves current Agency information.

Authorizations:
apiKey

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "agencyName": "string",
  • "email": "string",
  • "description": "string",
  • "logo": "string",
  • "balance": 0,
  • "enabled": true,
  • "market": "string",
  • "tcp:air": { },
  • "tcp:rdp": { }
}

Updates current Agency information.

Authorizations:
apiKey
Request Body schema: application/json
agencyName
string

Name of the Agency.

email
string

Agency email.

description
string

Agency Promo Text.

logo
string

Agency logo URL from storage (S3).

Responses

Request samples

Content type
application/json
{
  • "agencyName": "string",
  • "email": "string",
  • "description": "string",
  • "logo": "string"
}

Updates current Agency logo.

Authorizations:
apiKey
Request Body schema: image/*
string <binary>

Responses

TCP Users list.

Authorizations:
apiKey

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get list of organizations.

Authorizations:
apiKey

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create User in TCP.

Authorizations:
apiKey
Request Body schema: application/json
username
string

User's email.

password
string

User's password.

fullName
string

Full name.

managedMarkets
Array of strings

List of markets of organizations which user is the admin (Country Admin)

Responses

Request samples

Content type
application/json
{
  • "username": "string",
  • "password": "string",
  • "fullName": "string",
  • "tcp:air": [
    ],
  • "managedMarkets": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "username": "string",
  • "avatar": "string",
  • "fullName": "string",
  • "tcp:air": [
    ],
  • "managedMarkets": [
    ]
}

Get current logged User.

Authorizations:
apiKey
path Parameters
id
required
string

UUID.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "username": "string",
  • "avatar": "string",
  • "fullName": "string",
  • "tcp:air": [
    ],
  • "managedMarkets": [
    ]
}

Update User in TCP.

Authorizations:
apiKey
path Parameters
id
required
string

UUID.

Request Body schema: application/json
username
string

User's email.

password
string

User's password.

fullName
string

Full name.

managedMarkets
Array of strings

List of markets of organizations which user is the admin (Country Admin)

Responses

Request samples

Content type
application/json
{
  • "username": "string",
  • "password": "string",
  • "fullName": "string",
  • "tcp:air": [
    ],
  • "managedMarkets": [
    ]
}

Updates user picture.

Authorizations:
apiKey
path Parameters
id
required
string

UUID.

Request Body schema: image/*
string <binary>

Responses

Delete user picture.

Authorizations:
apiKey
path Parameters
id
required
string

UUID.

Responses

Grant User an access to PCC.

Authorizations:
apiKey
path Parameters
id
required
string

UUID.

Request Body schema: application/json
Array
string

Responses

Request samples

Content type
application/json
[
  • "string"
]

TBD. List of all available acl actions.

Authorizations:
apiKey

Responses

List transactions by criteria.

Authorizations:
apiKey
query Parameters
consolidator
integer

ID of consolidator Agency.

subagent
integer

ID of subagent Agency.

dateStart
string <date>

Start date of period.

dateEnd
string <date>

End date of period.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

List of operations by criteria and grouped by operation type.

Authorizations:
apiKey
query Parameters
consolidator
integer

ID of consolidator Agency.

subagent
integer

ID of subagent Agency.

dateStart
string <date>

Start date of period.

dateEnd
string <date>

End date of period.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Set organization current PCC settings

Authorizations:
apiKey
Request Body schema: application/json
pcc
required
string (pcc)

PCC of consolidator Agency.

object

Responses

Request samples

Content type
application/json
{
  • "pcc": "7J8J",
  • "settings": {
    }
}

Get organization current PCC settings

Authorizations:
apiKey
query Parameters
pcc
string (pcc)
Example: pcc=7J8J

PCC of consolidator Agency.

Responses

Response samples

Content type
application/json
{
  • "cmToken": "xikos-lifik-kobah-gexek-fomox",
  • "credentialsKey": "master:XXXX",
  • "enableGdsCommission": true,
  • "pcc": "7J8J",
  • "settings": {
    }
}

home

TCP home API

Get country by PCC.

The country is determining by PCC that's taking from token. No need to provide any additional data.

Authorizations:
apiKey

Responses

Response samples

Content type
application/json
{
  • "type": "UKRAINE"
}

Get system messages by country.

Returns a list of messages related to the country provided in the URL param.

Authorizations:
apiKey
path Parameters
country
required
string
Example: UKRAINE

Country.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get billing information by an agency.

Returns a list with billing information for last week.

Authorizations:
apiKey

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get recent operations executed under a provided PCC

Returns a list of operations performed on tickets, such as exchange, issue, void

Authorizations:
apiKey

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get recent internal news

Returns a list of the recent internal news

Authorizations:
apiKey

Responses

Response samples

Content type
application/json
[
  • {
    }
]

utils

TCP utils API

Get current "before login" notification message (single array item).

Get notification message to show on the login screen for any visitor

Authorizations:
None

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get current notification messages.

Get notification messages filtered for particular user (messages cache 1 minute, user flags cache: 30 minutes)

Authorizations:
apiKey

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get notification messages configuration data.

Get notification messages for the configuration (no cache or filtering)

Authorizations:
apiKey

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Notification message configuration request.

Set configuration and content for the notification message.

Authorizations:
apiKey
Request Body schema: application/json
type
required
string (type)
Enum: "BEFORE_LOGIN" "AFTER_LOGIN"

message type to be shown

required
object (content)
enabled
required
boolean (enabled)

enabled/disabled entity status

required
object (filters)

Responses

Request samples

Content type
application/json
{
  • "type": "BEFORE_LOGIN",
  • "content": {
    },
  • "enabled": false,
  • "filters": {
    }
}

Response samples

Content type
application/json
{
  • "errorName": "ExtRuntimeError.SystemError",
  • "errorMessage": "System error occured. Please, check the logs",
  • "errorData": { }
}

internalapi

TCP Internaly API Setup for internal API service client-side:

  1. Create certificate private key and certificate signing request (example with openssl)
      openssl genrsa -out my_client.key 2048
      openssl req -new -key my_client.key -out my_client.csr
    
  2. Send certificate signing request (my_client.csr) to Travelport team to get signed with root CA public key (or get private/public keys from Travelport)
  3. Check mutual tls with curl request (providing your private/public keys):
      curl --key my_client.key --cert my_client.pem https://api.yourdomain.com 
    

Get eligibility by PNR.

you will get booking, tickets and eligibility information for this pnr.

Authorizations:
apiKeyAuth
path Parameters
pnr
required
string (pnr)
Example: YYQQ55

Passenger name record (PNR)

header Parameters
x-pcc
string
Example: 79YE

PCC.

Responses

Response samples

Content type
application/json
Example
{
  • "booking": {
    },
  • "tickets": [
    ],
  • "eligibility": {
    }
}

Get eligibility by ticket number.

you will get booking, tickets and eligibility information for this ticket.

Authorizations:
apiKeyAuth
path Parameters
ticketNumber
required
string (ticket-number)
Example: 0809903317384

Ticket number (13-digit).

header Parameters
x-pcc
string
Example: 79YE

PCC.

Responses

Response samples

Content type
application/json
Example
{
  • "booking": {
    },
  • "tickets": [
    ],
  • "eligibility": {
    }
}

Make search request for the possible guaranteed exchange offers

Initiate guaranteed exchange process to get workbenchID Get guaranteed exchange offers according to PNR and send params

Authorizations:
apiKeyAuth
header Parameters
x-pcc
string
Example: 79YE

PCC.

Request Body schema: application/json
pnr
required
string (pnr)

Passenger name record (PNR)

isDebug
boolean
Default: false

flag for adding debug data to the response

Array of objects
exchangeSessionID
string

The exchange session identifier. If added, the search request will be made in the session of this exchangeSessionID. In another case the new session will be created

returnBrandedFaresInd
boolean
Default: true

By default Exchange Search returns branded fares. Set to false to disable the return of branded fares.

required
Array of objects

Defines one origin and destination (O&D) pair. Send one flightSearchCriteria for each O&D pair, or leg

Array of objects

Defines the type of passenger to search for. Send one PassengerCriteria for each passenger type code (PTC)

object

Optional modifiers related to the journey, such as connections.

object

Optional modifiers related to pricing, such as brands and account codes. Includes OrganizationInformation if sending account codes. Includes FareSelection if sending fare types.

Responses

Request samples

Content type
application/json
{
  • "pnr": "YYQQ55",
  • "isDebug": false,
  • "segmentsForChange": [
    ],
  • "exchangeSessionID": "1719042c-f033-4c4d-bdb6-f738b6cdc520",
  • "returnBrandedFaresInd": false,
  • "flightSearchCriteria": [
    ],
  • "passengerCriteria": [
    ],
  • "searchModifiersAir": {
    },
  • "pricingModifiersAirChange": {
    }
}

Response samples

Content type
application/json
{
  • "reservationData": { },
  • "exchangeSessionID": "1719042c-f033-4c4d-bdb6-f738b6cdc520",
  • "exchangeSearchResultsID": "c69f1362-2ca0-4136-b603-598e69841aad",
  • "exchangeSearchResults": [
    ],
  • "referenceList": {
    },
  • "debugInfo": [
    ]
}

Finish ticket exchange

Add optional exchange ticket params or make simple exchange operation

Authorizations:
apiKeyAuth
header Parameters
x-pcc
string
Example: 79YE

PCC.

Request Body schema: application/json
pnr
required
string (pnr)

Passenger name record (PNR)

isDebug
boolean
Default: false

flag for adding debug data to the response

exchangeSessionID
required
string

exchange session identifier

required
object
object

offer optional modification params

object

issue document params

Responses

Request samples

Content type
application/json
{
  • "pnr": "YYQQ55",
  • "isDebug": false,
  • "exchangeSessionID": "1719042c-f033-4c4d-bdb6-f738b6cdc520",
  • "offerQueryObject": {
    },
  • "modifiersQueryObject": {
    },
  • "issueQueryObject": {
    }
}

Response samples

Content type
application/json
[
  • {
    }
]

organizations

Create new organization

Authorizations:
apiKey
Request Body schema: application/json
name
required
string

Agency name.

defaultModule
string
Enum: "home" "cbt" "co2" "qpc"

Default module opened after login.

market
required
string

Code of the country for which the organization is responsible for the market.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "defaultModule": "home",
  • "market": "string"
}

Response samples

Content type
application/json
{
  • "organizationId": "string"
}

Update organization info

Authorizations:
apiKey
path Parameters
organizationId
required
string

UUID.

Request Body schema: application/json
organizationId
string

UUID.

name
string

Agency name.

transactionsEnabled
boolean

Enable paid transactions.

defaultModule
string
Enum: "home" "cbt" "co2" "qpc"

Default module opened after login.

market
string

Code of the country for which the organization is responsible for the market.

podioId
string

Podio ID.

fakturoidId
string

Fakturoid ID.

Responses

Request samples

Content type
application/json
{
  • "organizationId": "string",
  • "name": "string",
  • "transactionsEnabled": true,
  • "defaultModule": "home",
  • "market": "string",
  • "podioId": "string",
  • "fakturoidId": "string"
}

auth

Login and receive Cognito token

Authorizations:
apiKey
Request Body schema: application/json
username
string

Registered user identificator

password
string

Password for registered user identificator

Responses

Request samples

Content type
application/json
{
  • "username": "string",
  • "password": "string"
}

Response samples

Content type
application/json
{
  • "token": "string"
}

Refresh authentication with optional payload

Authorizations:
apiKey
Request Body schema: application/json
organizationId
string

Provided for optional change of organization

pcc
string

Provided for optional change of pcc

Responses

Request samples

Content type
application/json
{
  • "organizationId": "string",
  • "pcc": "string"
}

Response samples

Content type
application/json
{
  • "token": "string"
}

Authorizes a token

Authorizations:
apiKey

Responses

Response samples

Content type
application/json
{
  • "organizationId": "string",
  • "privilege": "user",
  • "userId": "string",
  • "username": "string",
  • "market": "string",
  • "podioId": "string",
  • "fakturoidId": "string"
}

Request recovery email

Authorizations:
apiKey
Request Body schema: application/json
username
string

Registered user identificator

Responses

Request samples

Content type
application/json
{
  • "username": "string"
}

Update password using recovery token

Authorizations:
apiKey
Request Body schema: application/json
username
string

Registered user identificator

password
string

New password for registered user identificator

Responses

Request samples

Content type
application/json
{
  • "username": "string",
  • "password": "string"
}

Register new TCP account

Authorizations:
apiKey
Request Body schema: application/json
username
string

Registered user identificator as email

agencyName
string

Agency name

agencyId
string

Assigned agency identificator

fullName
string

User's full name

dailyRequests
integer

Amount of daily requests

baseCountry
string

Country of residence

shortIntroduction
string

Short user introduction

bspZones
string

Billing and Settlement plan

Responses

Request samples

Content type
application/json
{
  • "username": "string",
  • "agencyName": "string",
  • "agencyId": "string",
  • "fullName": "string",
  • "dailyRequests": 0,
  • "baseCountry": "string",
  • "shortIntroduction": "string",
  • "bspZones": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "username": "string",
  • "agencyName": "string",
  • "created": "string"
}

Confirm TCP account registration

Authorizations:
apiKey
Request Body schema: application/json
registrationId
string

Registration identificator to confirm

Responses

Request samples

Content type
application/json
{
  • "registrationId": "string"
}

Response samples

Content type
application/json
{
  • "status": "string"
}

users

Get users.

Return users data.

Authorizations:
apiKey

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get user by id

Return user data.

Authorizations:
apiKey
path Parameters
userId
required
string

UUID.

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "username": "string",
  • "avatar": "string",
  • "fullName": "string",
  • "tcp:air": [
    ],
  • "managedMarkets": [
    ]
}

Update user data.

Authorizations:
apiKey
path Parameters
userId
required
string

UUID.

Request Body schema: application/json
username
string

User's email.

password
string

User's password.

fullName
string

Full name.

managedMarkets
Array of strings

List of markets of organizations which user is the admin (Country Admin)

Responses

Request samples

Content type
application/json
{
  • "username": "string",
  • "password": "string",
  • "fullName": "string",
  • "tcp:air": [
    ],
  • "managedMarkets": [
    ]
}