ITT Train API (1.0.0)

Download OpenAPI specification:

Train API endpoints converted from Postman collection.

Train Service

Train search, pricing, booking, ancillaries and post-booking flows.

Search for available train journeys

Search for train tickets based on journey type (OneWay/RoundTrip), departure/arrival stations, and traveler details.

Authorizations:
(apiKeyAuthsecretCodeAuth)
Request Body schema: application/json
required
journey_type
required
string
Enum: "OneWay" "RoundTrip"

Type of the journey.

required
Array of objects

Travel segments containing station codes and dates.

travelers_adult
required
integer

Number of adult passengers.

travelers_child
integer

Number of child passengers.

travelers_infants
integer

Number of infant passengers.

supplier_uid
string

Unique ID of the train supplier. Use 'all' for all available suppliers or specific ID like 'T1MO00001' (Haramain).

partner_id
string

Partner identifier, can be left blank.

short_ref
string

Optional reference for stream search tracking.

language
required
string

Response language code.

guest_nationality
required
string

ISO 2-letter country code of the guests.

Responses

Request samples

Content type
application/json
{
  • "journey_type": "OneWay",
  • "segment": [
    ],
  • "travelers_adult": 1,
  • "travelers_child": 0,
  • "travelers_infants": 0,
  • "supplier_uid": "all",
  • "partner_id": "",
  • "short_ref": "xxxx111",
  • "language": "en",
  • "guest_nationality": "BD"
}

Response samples

Content type
application/json
Example
{
  • "status": "success",
  • "train_data": {
    }
}

Get details for a specific train

Returns availability and pricing for a single train using the tracking ID and train ID obtained from the search results.

Authorizations:
(apiKeyAuthsecretCodeAuth)
Request Body schema: application/json
required
tracking_id
required
string

The unique tracking ID returned from the /train/search response.

train_id
required
string

The unique identifier for the specific train.

Responses

Request samples

Content type
application/json
{
  • "tracking_id": "11774948590VTY1",
  • "train_id": "JXD_DMX_0080_2026-04-05T08:32:00"
}

Response samples

Content type
application/json
Example
{
  • "status": "success",
  • "tracking_id": "311775724441OH91",
  • "train_id": "MKX_JXD_0080_2026-04-19T08:00:00",
  • "search_parameter": {
    },
  • "data": {
    }
}

Validate train selection and fare

Validates the selected train, fare class, and passenger nationality before proceeding to booking. Supports both One-Way and Round-Trip validation.

Authorizations:
(apiKeyAuthsecretCodeAuth)
Request Body schema: application/json
required
tracking_id
required
string

The unique tracking ID returned from the search results.

guest_nationality
required
string

ISO country code of the passenger.

outbound_train_id
required
string

The unique identifier for the outbound train.

outbound_fare_class
required
string

The class of service for the outbound journey (e.g., Y for Economy, B for Business).

return_train_id
string

The unique identifier for the return train (Required for RoundTrip).

return_fare_class
string

The class of service for the return journey (Required for RoundTrip).

Responses

Request samples

Content type
application/json
Example
{
  • "tracking_id": "3117757287332YW1",
  • "guest_nationality": "BD",
  • "outbound_train_id": "MKX_JXD_0080_2026-04-19T08:00:00",
  • "outbound_fare_class": "Y"
}

Response samples

Content type
application/json
Example
{
  • "status": "success",
  • "tracking_id": "3117757287332YW1",
  • "booking_tracking_id": "311177572884426194QMRVJ",
  • "supplier_tracking_id": 1775728847222,
  • "sold_out": false,
  • "price_change": false,
  • "search_price": {
    },
  • "validation_price": {
    },
  • "session_expire": {
    },
  • "search_parameter": {
    },
  • "data": {
    }
}

Get validation details for a specific tracking ID

Retrieves detailed validation information using the tracking ID and member ID.

Authorizations:
(apiKeyAuthsecretCodeAuth)
Request Body schema: application/json
required
tracking_id
required
string

The unique tracking ID returned from previous steps.

member_id
string

The unique ID of the logged-in member/user.

Responses

Request samples

Content type
application/json
{
  • "tracking_id": "311177572884426194QMRVJ",
  • "member_id": "1"
}

Response samples

Content type
application/json
Example
{
  • "status": "success",
  • "tracking_id": "3117757287332YW1",
  • "booking_tracking_id": "311177572884426194QMRVJ",
  • "supplier_tracking_id": 1775728847222,
  • "sold_out": false,
  • "price_change": false,
  • "search_price": {
    },
  • "validation_price": {
    },
  • "session_expire": {
    },
  • "search_parameter": {
    },
  • "data": {
    }
}

Update traveller information

Updates passenger details for a specific booking tracking ID.

Authorizations:
(apiKeyAuthsecretCodeAuth)
Request Body schema: application/json
required
tracking_id
required
string
member_id
string
save_pax
string
Enum: "yes" "no"
additional_request
string
required
Array of objects

Responses

Request samples

Content type
application/json
{
  • "tracking_id": "311177572884426194QMRVJ",
  • "member_id": "1",
  • "save_pax": "no",
  • "additional_request": "n/a",
  • "passenger": [
    ]
}

Response samples

Content type
application/json
Example
{
  • "status": "success",
  • "reason": "Passenger data has been successfully updated.",
  • "tracking_id": "311177572884426194QMRVJ",
  • "total_guest": 1,
  • "data": [
    ],
  • "validate_data": {
    }
}

Create a train booking

Finalizes the booking process by processing payment through the selected payment method.

Authorizations:
(apiKeyAuthsecretCodeAuth)
Request Body schema: application/json
required
tracking_id
required
string

The unique tracking ID for the booking.

member_id
string

ID of the logged-in member.

isd_code
string
contact_no
string
email_address
string <email>
payment_type
required
string
Enum: "account_balance" "card" "onlinepayment"

Method of payment for the booking.

redirect_url
required
string <uri>

URL to redirect after payment processing.

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
Example
{
  • "Context": {
    },
  • "Response": {
    }
}

Cancel a train booking

Requests a cancellation for an existing booking using the tracking ID and a reason for cancellation.

Authorizations:
(apiKeyAuthsecretCodeAuth)
Request Body schema: application/json
required
member_id
required
string

The unique ID of the logged-in user.

tracking_id
required
string

The unique tracking ID of the booking to be cancelled.

reason
required
string

The reason for requesting cancellation.

Responses

Request samples

Content type
application/json
{
  • "member_id": "1",
  • "tracking_id": "111775111387888638XGGS",
  • "reason": "I selected wrong date"
}

Response samples

Content type
application/json
{
  • "status": "success",
  • "reason": "Your booking has been successfully cancelled.",
  • "tracking_id": "111775111387888638XGGS"
}

Get booking details

Authorizations:
(apiKeyAuthsecretCodeAuth)
Request Body schema: application/json
required
member_id
required
string

Logged-in user member ID

tracking_id
required
string

eSIM or booking tracking ID

booking_id
required
string

Booking ID for the eSIM package

property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "member_id": "2",
  • "tracking_id": "11176276126126194RHSGI",
  • "booking_id": "ES2510NOKJAAFK"
}

Response samples

Content type
application/json
{
  • "status": "success",
  • "booking_details": {
    }
}
Back to Portal