Transport Service

A Transport Service is a booked instance of a transport product.

These services are to be created when one wishes to have transfer services from airport to hotel, or vice versa for a particular booking.

To book a transport service, you’ll want to ensure the following:

  • The booking must have a non-Cancelled (or Expired) departure_service and that departure service must share at least one customer with those of the new transport service.

  • The product (transport) you are booking must be referenced as an addons for the booked departure.

Additionally, you must ensure the transport is being booked on or near the beginning of the tour. Each transport has specific rules around how far from the start_date or finish_date of a tour it can be booked. Any such rules that are not met will be returned as part of an error response via the G API.

XML Schema:

GET: Get a Transport Service

POST: Create a Transport Service

PATCH: Update a Transport Service

Fields

Name

Type

Description

id read-only

String

href read-only

Field

name read-only

String

The name of this service.

status

String

The current status of the service:

  • Option: The service is being held on option until the option_expiry_date. No deposit or payment is required to hold an option. An Option service can be Expired or Confirmed.

  • On Request: The service has been requested by the client, but the request has not been sent to the local office. All departures with availability status REQUEST_SPACE can not be put on Option, but must be requested. Full payment is required. An On Request service can be Expired with no cancellation fees applied.

  • Request Confirmation: The service has been requested by the client, and the request has been sent by G Adventures to the local office. A Request Confirmation service can be Cancelled with cancellation fees applied.

  • Confirmed: The service is confirmed. Deposit is always required to confirm, and full payment will be required for a departure where FULL_PAYMENT_REQUIRED_TO_BOOK is present in the flags field. A Confirmed service can be Cancelled with cancellation fees applied.

  • Waitlisted: The service is in a waitlist queue. A cancellation on the product will cause the service to automatically be moved to Option. Only product with availability status WAIT_LIST can be Waitlisted. A Waitlisted service can be Cancelled with no cancellation fees applied.

  • Expired: The service is expired. An Option or On Request service is Expired at midnight EST when it reaches its option_expiry_date. A Waitlisted service can be Expired at any time, but will automatically be Expired when a departure reaches availability status REQUEST_SPACE. No cancellation fees will be applied.

  • Request Cancellation: The service has been requested to be Cancelled. Cancellation fees will be applied when it is Cancelld by G Adventures staff (if applicable).

  • Cancelled: The service is cancelled. A Request Confirmation or Confirmed service can be cancelled with cancellation fees applied.

Active service status transitions:

  • Option –> Confirmed/Expired

  • On Request –> Request Confirmation/Expired

  • Request Confirmation –> Request Cancellation

  • Confirmed –> Request Cancellation

  • Waitlisted –> Expired

status_transitions read-only

List

A list of status values to which this service can transition.

type read-only

String

The type of this resource.

sub_type read-only

String

A brief description of this service type.

start_date read-only

Date

The start date of this service.

finish_date read-only

Date

The finish date of this service.

customers

Field

The customers on this service.

  • id read-only

String

  • href read-only

Field

  • name

Nested Object

    • legal_first_name required

String

Legal first name as it appears on a passport.

    • legal_middle_name

String

Legal middle name as it appears on a passport.

    • legal_last_name required

String

Legal last name as it appears on a passport.

    • common_name

String

The name this person likes to be called if different from their legal name.

    • title required

String

The title. Valid values are: Mr, Mrs, Ms, and Miss

date_created read-only

Datetime

The date/time this service was created, in the standard Dates & Times.

date_confirmed read-only

Datetime

The date/time this service had its service status set to Confirmed, in the standard Dates & Times.

date_cancelled read-only

Datetime

The date/time this service had its service status set to Cancelled, in the standard Dates & Times.

option_expiry_date read-only

Datetime

The date/time when an Option service status will automatically be set to Expired, in the standard Dates & Times.

purchase_price read-only

Decimal

The currency-specific purchase price this service was Confirmed at, in the standard Currencies & Prices. The price reflected includes any promotions applied. The price is not locked until the service has its service status set to Confirmed (i.e. the price could change when the service status is on Option).

commission read-only

Decimal

The currency-specific commission amount that the booking agent will receive for this service, in the standard Currencies & Prices.

applied_promotion

Nested Object

The promotion applied to this service

  • id read-only

String

  • href read-only

Field

  • name

String

The name of the promotion used.

  • promotion_code

String

A unique code for this promotion.

  • discount_amount

Decimal

The currency-specific amount that has been discounted from the purchase_price. Add the discount_amount and purchase_price to see the original non-discounted price.

  • commission_rate

Integer

The commission rate for this promotion.

  • terms_and_conditions

String

The promotion applied to this service.

flags read-only

List

A list of codes that, when present, require special considerations for a booked service.

The list of departure service flags related to the current status of a request to hike the Inca Trail, or the option booked for services on these special departures:

Service Status Flags

  • SUSPENDED: This departure service has been suspended due to mitigating circumstances out of G Adventures’ control and will not be departing.

Inca Trail Flags

  • ON_INCA_TRAIL: Inca Trail permits have been obtained for all travellers on this service.

  • REQUESTING_INCA_TRAIL: A request to hike the Inca Trail has been submitted. The permits have not yet been obtained for travellers on this service.

  • ON_LARES_TREK: All travellers on this service will be hiking the Lares Trek as the Inca Trail is not available.

  • CUZCO_STAY: All travellers on this service will stay in Cuzco, as either they have chosen this option or the Inca Trail permits are not available for this departure.

  • INCA_TRAIL_UNKNOWN: A request to the local office has been made to confirm availability and additional local intricacies. This is an intermediary state which can occur before REQUESTING_INCA_TRAIL and any of the other states.

booking read-only

Reference Object

documents read-only

Field

  • id read-only

String

  • href read-only

Field

  • date_created required

Datetime

The time when the resource was created, in the standard Dates & Times.

  • type read-only

String

The document type, currently: INVOICE, ATOL_CERTIFICATE, VOUCHER.

  • audience read-only

String

The intended audience of this document. Either AGENT or CUSTOMER.

  • booking read-only

Reference Object

The related booking resource.

  • mime_type read-only

String

The Internet media type.

declined_reason read-only

Reference Object

The related declined reason resource.

pickup_time read-only

Time

The local pickup time for the transport service.

flight_number read-only

String

For a transport of sub_type _Arrival Transfer_, the airline code and flight number.

product read-only

Reference Object

A reference to the product itself

associated_services

List

Get a Transport Service

GET /transport_services/(string: service_id)/

Create a Transport Service

POST /transport_services/

Example request:

POST /transport_services/ HTTP/1.1
Host: rest.gadventures.com
Accept: application/json
Content-Type: application/json

{
    "start_date": "2013-12-25",
    "customers": [
        {
            "id": "1322812"
        }
    ],
    "booking": {
        "id": "628072"
    },
    "product": {
        "id": "553"
    },
}

Example response:

HTTP/1.1 201 CREATED
Content-Type: application/json

{
    "id": "1161864",
    "href": "/transport_services/1161864",
    "name": "Airport to Hotel Transfer (Havana)",
    "status": "Option",
    "type": "transport_services",
    "sub_type": "Transfer",
    "start_date": "2013-10-05",
    "finish_date": "2013-10-05",
    "customers": [
        {
            "id": "1322812",
            "href": "/customers/1322812",
            "name": {
                  "legal_first_name": "Aerolite",
                  "legal_last_name": "Cowboyed",
                  "legal_middle_name": null,
                  "common_name": null,
                  "title": "Mr"
            },
        }
    ],
    "date_created": "2013-08-01T16:32:41Z",
    "date_confirmed": null,
    "date_cancelled": null,
    "option_expiry_date": "2013-08-05T16:29:45Z",
    "purchase_price": "65.00",
    "commission": "0.00",
    "applied_promotion": null,
    "flags": [],
    "booking": {
        "id": "628072",
        "href": "/bookings/628072"
    },
    "documents": null,
    "product": {
        "id": 553,
        "href": "/transports/553",
        "name": "Airport to Hotel Transfer (Havana)"
    },
    "pickup_time": "11:21",
    "flight_number": "AC1234"
}

Update a Transport Service

PATCH /transport_services/(string: service_id)/

Example request:

PATCH /transport_services/1161864/ HTTP/1.1
Host: rest.gadventures.com
Accept: application/json
Content-Type:application/json

{
    "status": "Request Cancellation",
}

Example response:

HTTP/1.1 200 OK
Content-Type: application/json

{
    "id": "1161864",
    "href": "/transport_services/1161864",
    "name": "Airport to Hotel Transfer (Havana)",
    "status": "Request Cancellation",
    "type": "transport_services",
    "sub_type": "Transfer",
    "start_date": "2013-10-05",
    "finish_date": "2013-10-05",
    "customers": [
        {
            "id": "1322812",
            "href": "/customers/1322812",
            "name": {
                  "legal_first_name": "Aerlite",
                  "legal_last_name": "Cowboyed",
                  "legal_middle_name": null,
                  "common_name": null,
                  "title": "Mr"
            },
        }
    ],
    "date_created": "2013-08-01T16:32:41Z",
    "date_confirmed": null,
    "date_cancelled": null,
    "option_expiry_date": "2013-08-05T16:29:45Z",
    "purchase_price": "65.00",
    "commission": "0.00",
    "applied_promotion": null,
    "flags": [],
    "booking": {
        "id": "628072",
        "href": "/bookings/628072"
    },
    "documents": null,
    "product": {
        "id": 553,
        "href": "/transports/553",
        "name": "Airport to Hotel Transfer (Havana)"
    },
    "pickup_time": "11:21",
    "flight_number": "AC1234"
}