GGT API Documentation (1.0.0)

Download OpenAPI specification:

Order API

Order API

All order-related endpoints

All Order APIs

Authorizations:
bearerAuth
Request Body schema: application/json
required
One of
required
object (CommonRequestHeader)

Standard GGT request header

required
object

request body (This field requires AES encryption during transmission)

Responses

Request samples

Content type
application/json
Example
{
  • "header": {
    },
  • "body": {
    }
}

Response samples

Content type
application/json
Example
{
  • "header": {
    },
  • "body": {
    }
}

Callback API

Endpoints used by our channel to call back with updates

Pay Pre-order Confirmation

Authorizations:
bearerAuth
Request Body schema: application/json
required
required
object (CommonRequestHeader)

Standard GGT request header

required
object

request body (AES-encrypted)

Responses

Request samples

Content type
application/json
{
  • "header": {
    },
  • "body": {
    }
}

Response samples

Content type
application/json
{
  • "header": {
    },
  • "body": { }
}

Order cancellation confirmation

Authorizations:
bearerAuth
Request Body schema: application/json
required
required
object (CommonRequestHeader)

Standard GGT request header

required
object

request body (AES-encrypted)

Responses

Request samples

Content type
application/json
{
  • "header": {
    },
  • "body": {
    }
}

Response samples

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

Order consumed notification

Authorizations:
bearerAuth
Request Body schema: application/json
required
required
object (CommonRequestHeader)

Standard GGT request header

required
object

request body (This field requires AES encryption during transmission)

Responses

Request samples

Content type
application/json
{
  • "header": {
    },
  • "body": {
    }
}

Response samples

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

Availability API

All availability-related endpoints

Resource price sync

Authorizations:
bearerAuth
Request Body schema: application/json
required
required
object (CommonRequestHeader)

Standard GGT request header

required
object

Request body (AES-encrypted)

Responses

Request samples

Content type
application/json
{
  • "header": {
    },
  • "body": {
    }
}

Response samples

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

Resource inventory sync

Authorizations:
bearerAuth
Request Body schema: application/json
required
required
object (CommonRequestHeader)

Standard GGT request header

required
object

request body (AES-encrypted)

Responses

Request samples

Content type
application/json
{
  • "header": {
    },
  • "body": {
    }
}

Response samples

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

Content API

Endpoints for content operations (images, media, etc.)

Upload image

GGT will upload an image to channels and receive back an ID that can be used as imageId for products.

Authorizations:
bearerAuth
Request Body schema: application/json
required
imageUrl
required
string <= 1000 characters

The image URL to upload

Responses

Request samples

Content type
application/json

Response samples

Content type
application/json
{
  • "resultCode": "0000",
  • "resultMessage": "Upload succeeded",
  • "data": {
    }
}

Sync product

GGT will create or update the product information and sends it to channels. After asynchronous processing, channels will inform GGT of the result.

Authorizations:
bearerAuth
Request Body schema: application/json
required
supplierProductId
required
string <= 40 characters

The supplier product id.

reference
required
string

Optional supplier identifier.

contractId
required
integer

Contract ID between supplier and channel

primaryLanguage
required
string
Enum: "zh-CN" "zh-HK" "en-US" "ko-KR" "ja-JP" "th-TH"

Language code of the primary product content.

status
required
string
Enum: "active" "inactive"

Product status (active=valid, inactive=not valid).

required
Array of objects (ProductCategory)
required
Array of objects (ProductTag)
title
required
string <= 100 characters

Supplier product name.

required
Array of objects or objects (ProductPoi)
required
Array of objects or objects (SupplierDestination)
required
Array of objects or objects (SupplierDeparture)
required
object (TicketInfo)

Ticket delivery method information

required
object (RedemptionInfo)

Ticket redemption information

required
Array of objects (ServiceLanguage)
required
Array of objects (ProductImage) <= 20 items
inclusions
required
Array of strings <= 20 items [ items <= 500 characters ]

Free-text fees included.

exclusions
required
Array of strings <= 20 items [ items <= 500 characters ]

Free-text fees excluded.

highlight
required
Array of strings <= 3 items [ items <= 200 characters ]
description
required
string <= 8000 characters

Rich-text product description.

howToUse
required
Array of strings <= 20 items [ items <= 4000 characters ]
additionalInfo
required
string <= 4000 characters
required
object (TravelDuration)

Duration of the product or itinerary segment

required
Array of objects (Itinerary) <= 1 items
Array of objects (ItineraryDay) <= 1 items

Itinerary information for every day. Total items per day cannot exceed 20. Only single-day itineraries are supported.

rawDescription
required
string <= 8000 characters

Unstructured free-text itinerary description. Required when itinerary is not provided for Day-tour category products.

required
object (GuestInformation)

Guest information needed when booking an order.

required
object (BookingSettings)

Booking rules of the product.

paymentConfirmationTime
required
integer
Enum: 5 10 15 30 40 60 120

Minutes allowed for customer to complete payment after order creation.

required
object (CancellationPolicy)

Cancellation policy.

required
Array of objects (TicketType) <= 10 items

Ticket type information per product unit.

Array of objects (ProductOption) <= 4 items

Option objects when product requires option or time slot selection.

metaData
string <= 8000 characters

Extended information in JSON or free text

Responses

Request samples

Content type
application/json
{
  • "supplierProductId": "string",
  • "reference": "string",
  • "contractId": 0,
  • "primaryLanguage": "zh-CN",
  • "status": "active",
  • "category": [
    ],
  • "tags": [
    ],
  • "title": "string",
  • "poi": [
    ],
  • "destination": [
    ],
  • "departure": [
    ],
  • "ticketInfo": {
    },
  • "redemptionInfo": {
    },
  • "serviceLanguage": [
    ],
  • "gallery": [
    ],
  • "inclusions": [
    ],
  • "exclusions": [
    ],
  • "highlight": [
    ],
  • "description": "string",
  • "howToUse": [
    ],
  • "additionalInfo": "string",
  • "duration": {
    },
  • "itinerary": [
    ],
  • "days": [
    ],
  • "rawDescription": "string",
  • "guestInformation": {
    },
  • "bookingSettings": {
    },
  • "paymentConfirmationTime": 5,
  • "cancellationPolicy": {
    },
  • "ticketType": [
    ],
  • "option": [
    ],
  • "metaData": "string"
}

Response samples

Content type
application/json
{
  • "resultCode": "0000",
  • "resultMessage": "Operation succeeded"
}

Sync package

GGT will create or update the package information and sends it to Channels. After asynchronous processing, Channels will inform GGT of the result. GGT can also query the job status.

Authorizations:
bearerAuth
Request Body schema: application/json
required
supplierProductId
required
string <= 40 characters

The supplier product id.

required
Array of objects (PackageOptionList)

Option list of this package.

Responses

Request samples

Content type
application/json
{
  • "supplierProductId": "string",
  • "optionList": [
    ]
}

Response samples

Content type
application/json
{
  • "resultCode": "string",
  • "resultMessage": "string"
}