# Ticketing link format

For deep links, partners will provide a ticketing-specific base URL (see
[Partner Configuration](https://developers.google.com/travel/transport/guides/partner-integration/partner-configuration)).
The query parameters that we add to the URL will follow the
[Google Transit Ticketing Extension](https://developers.google.com/transit/gtfs/reference/google-transit-ticketing-extension)
with a modified set of parameters:

| Field Name | Details |
|---|---|
| `from_ticketing_stop_time_id` | (Repeatable) Identifier of the stop at which the leg starts. For a particular stop time, this is the value of the `ticketing_stop_id` of the departure station. |
| `to_ticketing_stop_time_id` | (Repeatable) Identifier of the stop at which the leg ends. For a particular stop time, this is the value of the `ticketing_stop_id` of the destination station. |
| `service_date` | (Date, Repeatable) Service day of the trip. This field formats as a JSON array, containing the date with the following format string: `YYYYMMDD` |
| `boarding_time` | (ISO 8601, Repeatable) Date \& Time of departure (departure_time) of the stop_time at which the leg starts. The time value of this field conforms to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), with the following format string: `YYYY-MM-DDThh:mm:ss±hh:mm` > [!IMPORTANT] > **Important:** The timezone of the `boarding_time` is always in UTC. |
| `arrival_time` | (ISO 8601, Repeatable) Date \& Time of arrival (arrival_time) of the stop_time at which the leg ends. The time value of this field conforms to [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601), with the following format string: `YYYY-MM-DDThh:mm:ss±hh:mm` > [!IMPORTANT] > **Important:** The timezone of the `arrival_time` is always in UTC. |
| `booking_token` | (String) Optional field used to add additional data. This value comes from your Travel Transport API response and is appended to the ticketing deep link. The maximum `booking_token` length should be 100 characters. Trip lookup should still work without the booking token, but it can be used to maintain price consistency between Google Search results and the partner booking page. |
| `lang` | (IETF BCP 47, Optional) Field used to indicate the selected language of the booking site. The value of this field conforms to IETF BCP 47, e.g. `en-US`. If the selected language is not available or the field is not passed, the booking site should use a fallback language. |
| `cur` | (ISO 4217, Optional) Field used to indicate the currency that prices should be displayed in. The value of this field conforms to ISO 4217, e.g. `USD`. If the selected currency cannot be shown or the field is not passed, the booking site should use a fallback currency. |
| `utm_source` | (String, Optional) Field used to indicate the high-level site that sent the traffic. Possible values are `google_search` and `google_maps`. |

All repeatable parameters are specified as a JSON array, where multiple values
indicate transfer stops. You can find examples of the URL encoding in the
[examples](https://developers.google.com/transit/gtfs/reference/google-transit-ticketing-extension#examples)
of the Google Transit Ticketing Extension.

> [!NOTE]
> **Note:** The fields `lang`, `cur` and `utm_source` were added after initial launch and are therefore only passed if configured in the [Partner
> Configuration](https://developers.google.com/travel/transport/guides/partner-integration/partner-configuration). Partners should let us know once they support these parameters.