Ресурс REST: transitobject

Ресурс: TransitObject

JSON-представление

{
  "classReference": {
    object (TransitClass)
  },
  "ticketNumber": string,
  "passengerType": enum (PassengerType),
  "passengerNames": string,
  "tripId": string,
  "ticketStatus": enum (TicketStatus),
  "customTicketStatus": {
    object (LocalizedString)
  },
  "concessionCategory": enum (ConcessionCategory),
  "customConcessionCategory": {
    object (LocalizedString)
  },
  "ticketRestrictions": {
    object (TicketRestrictions)
  },
  "purchaseDetails": {
    object (PurchaseDetails)
  },
  "ticketLeg": {
    object (TicketLeg)
  },
  "ticketLegs": [
    {
      object (TicketLeg)
    }
  ],
  "hexBackgroundColor": string,
  "tripType": enum (TripType),
  "id": string,
  "classId": string,
  "version": string,
  "state": enum (State),
  "barcode": {
    object (Barcode)
  },
  "messages": [
    {
      object (Message)
    }
  ],
  "validTimeInterval": {
    object (TimeInterval)
  },
  "locations": [
    {
      object (LatLongPoint)
    }
  ],
  "hasUsers": boolean,
  "smartTapRedemptionValue": string,
  "hasLinkedDevice": boolean,
  "disableExpirationNotification": boolean,
  "infoModuleData": {
    object (InfoModuleData)
  },
  "imageModulesData": [
    {
      object (ImageModuleData)
    }
  ],
  "textModulesData": [
    {
      object (TextModuleData)
    }
  ],
  "linksModuleData": {
    object (LinksModuleData)
  },
  "appLinkData": {
    object (AppLinkData)
  }
}
Поля
classReference

object (TransitClass)

Копия полей, унаследованных от родительского класса. Эти поля извлекаются в ходе операции GET.

ticketNumber

string

Номер билета. Это уникальный идентификатор объекта, присвоенный компанией-перевозчиком.

passengerType

enum (PassengerType)

Количество пассажиров.

passengerNames

string

Имена пассажиров в билете. Значение зависит от свойства в поле passengerType выше.

tripId

string

Идентификатор, который используется для группировки билетов в случаях, когда у пользователя сохранено несколько билетов для одной поездки.

ticketStatus

enum (TicketStatus)

Статус билета. Если статус влияет на то, будет ли объект показываться, используйте поле state.

customTicketStatus

object (LocalizedString)

Специальный статус, который указывается, если значение в поле ticketStatus не подходит. Заполнять сразу два поля – ticketStatus и customTicketStatus – нельзя.

concessionCategory

enum (ConcessionCategory)

Категория скидки для билета.

customConcessionCategory

object (LocalizedString)

Специальная категория скидки, которая указывается, если в значение в поле concessionCategory не подходит. Заполнять сразу два поля – concessionCategory и customConcessionCategory – нельзя.

ticketRestrictions

object (TicketRestrictions)

Информация о том, какие ограничения применяются к билету, например, по каким дням недели или для каких маршрутов его можно использовать.

purchaseDetails

object (PurchaseDetails)

Сведения о покупке билета.

ticketLeg

object (TicketLeg)

Информация для билета без пересадок: сведения о месте пассажира, прибытии, отправлении и посадке. Если планируется несколько пересадок, используйте поле ticketLegs. Заполнять сразу два поля – ticketLeg и ticketLegs – нельзя.

ticketLegs[]

object (TicketLeg)

Информация о каждой из пересадок: сведения о месте пассажира, прибытии, отправлении и посадке. Для прямых билетов используйте поле ticketLeg. Заполнять сразу два поля – ticketLeg и ticketLegs – нельзя.

hexBackgroundColor

string

Цвет фона карты. Если он не задан, то для оформления фона будет использован преобладающий цвет главного изображения, а в случае отсутствия изображения – логотипа. Используется формат #rrggbb, где rrggbb – код цвета RGB в шестнадцатеричном формате, например #ffcc00. Также можно использовать сокращенную версию в формате #rgb, например #fc0.

tripType

enum (TripType)

Обязательно. Тип поездки, который соответствует данному объекту. Определяет, какой символ будет отображаться между пунктами отправления и назначения.

id

string

Обязательно. Уникальный идентификатор объекта. Идентификаторы объектов у одного эмитента не могут повторяться. Значение указывается в следующем формате: идентификатор эмитента.ваш идентификатор. При этом первая часть предоставляется Google, а вторая – выбирается вами. Идентификатор может содержать только буквы, цифры, точки, символы подчеркивания и дефисы.

classId

string

Обязательно. Класс, связанный с объектом. Элементы должны быть одного типа. Кроме того, класс должен быть существующим и одобренным.

Идентификаторы классов указываются в формате идентификатор эмитента.ваш идентификатор. При этом первая часть предоставляется Google, а вторая – выбирается вами.

version
(deprecated)

string (int64 format)

Больше не используется

state

enum (State)

Обязательно. Статус объекта. Это поле определяет, как объект будет отображаться в приложении. Например, объекты со статусом inactive показываются в разделе "Проездные с истекшим сроком действия".

barcode

object (Barcode)

Тип и значение штрихкода.

messages[]

object (Message)

Массив сообщений, которые будут отображаться в приложении. Связанные с ним сообщения увидят все пользователи этого объекта. Максимальное число полей – 10.

validTimeInterval

object (TimeInterval)

Период времени, в течение которого объект сохраняет состояние active, и его можно использовать. По истечении этого срока статус объекта сменится на expired.

locations[]

object (LatLongPoint)

Список местоположений, где может использоваться объект. Эта информация необходима для показа уведомлений пользователям с учетом их местоположения. В случае конфликта данных этот список будет использоваться вместо адресов, содержащихся в классе, которые, в свою очередь, имеют приоритет над идентификаторами мест в Google.

hasUsers

boolean

Это поле показывает, есть ли у объекта пользователи. Заполняется автоматически.

smartTapRedemptionValue

string

Доступно только для партнеров, поддерживающих интеллектуальную бесконтактную технологию. За дополнительной информацией обращайтесь в службу поддержки.

hasLinkedDevice

boolean

Это поле показывает, связан ли объект с отдельным устройством. Заполняется автоматически, когда пользователь сохраняет объект и, тем самым, привязывает его к своему устройству. Доступно не для всех партнеров. За дополнительной информацией обращайтесь в службу поддержки.

disableExpirationNotification

boolean

Это поле показывает, должны ли блокироваться уведомления. Если установлено значение true, уведомления об истечении срока действия не будут приходить пользователю, даже если это противоречит настройке, заданной в поле messages. По умолчанию установлено значение false.

В настоящее время параметр можно задать только для специальных предложений.

infoModuleData

object (InfoModuleData)

Больше не используется. Вместо него используйте textModulesData.

imageModulesData[]

object (ImageModuleData)

Данные графического модуля. Отображается не более 1 поля из уровня объекта и 1 поля для уровня объекта класса.

textModulesData[]

object (TextModuleData)

Данные текстового модуля. Если для класса также задан текстовый модуль, то показываться будут оба. Отображается не более 10 полей из объекта и 10 полей из класса.

PassengerType

Перечисления
PASSENGER_TYPE_UNSPECIFIED
SINGLE_PASSENGER
singlePassenger

Устаревший псевдоним элемента SINGLE_PASSENGER.

MULTIPLE_PASSENGERS
multiplePassengers

Устаревший псевдоним элемента MULTIPLE_PASSENGERS.

TicketStatus

Перечисления
TICKET_STATUS_UNSPECIFIED
USED
used

Устаревший псевдоним элемента USED.

REFUNDED
refunded

Устаревший псевдоним элемента REFUNDED.

EXCHANGED
exchanged

Устаревший псевдоним элемента EXCHANGED.

ConcessionCategory

Перечисления
CONCESSION_CATEGORY_UNSPECIFIED
ADULT
adult

Устаревший псевдоним элемента ADULT.

CHILD
child

Устаревший псевдоним элемента CHILD.

SENIOR
senior

Устаревший псевдоним элемента SENIOR.

TicketRestrictions

JSON-представление

{
  "routeRestrictions": {
    object (LocalizedString)
  },
  "routeRestrictionsDetails": {
    object (LocalizedString)
  },
  "timeRestrictions": {
    object (LocalizedString)
  },
  "otherRestrictions": {
    object (LocalizedString)
  }
}
Поля
routeRestrictions

object (LocalizedString)

Ограничения, которые могут быть применены для маршрута. Пример: "Только поезда типа CrossCountry".

routeRestrictionsDetails

object (LocalizedString)

Дополнительная информация для поля routeRestrictions выше.

timeRestrictions

object (LocalizedString)

Ограничения на то, когда можно использовать билет.

otherRestrictions

object (LocalizedString)

Дополнительные ограничения, которые не подпадают под категории "маршрут" и "время"

PurchaseDetails

JSON-представление

{
  "purchaseReceiptNumber": string,
  "purchaseDateTime": string,
  "accountId": string,
  "confirmationCode": string,
  "ticketCost": {
    object (TicketCost)
  }
}
Поля
purchaseReceiptNumber

string

Номер квитанции/идентификатор, по которому можно отследить покупку билета. Присваивается соответствующей организацией.

purchaseDateTime

string

Дата и время покупки билета.

Дата и время в расширенном формате ISO 8601. Смещение может указываться, но это необязательно. Время может быть указано с точностью до наносекунды; смещение – с точностью до секунды (хотя это и не подпадает под стандарт ISO 8601).

Пример:

1985-04-12T23:20:50.52Z – 23 часа, 20 минут и 50,52 секунды 12 апреля 1985 года по UTC.

1985-04-12T19:20:50.52-04:00 – 19 часов, 20 минут и 50,52 секунды 12 апреля 1985 года, за 4 часа до всемирного координированного времени (тот же момент времени, что и в примере выше). Если дата и время указаны для Нью-Йорка, то это будет эквивалентом североамериканского восточного летнего времени. Имейте в виду, что в регионах, где есть переход на летнее время, смещение варьируется в зависимости от времени года.

1985-04-12T19:20:50.52 – 19 часов, 20 минут и 50,52 секунды 12 апреля 1985 года без данных о смещении.

Если не указать данные о смещении, некоторые расширенные функции могут быть недоступны.

accountId

string

Идентификатор аккаунта, с помощью которого совершается покупка.

confirmationCode

string

Код подтверждения для билета. Можно использовать одинаковый код для нескольких билетов, которые нужно сгруппировать.

ticketCost

object (TicketCost)

Стоимость билета

TicketCost

JSON-представление

{
  "faceValue": {
    object (Money)
  },
  "purchasePrice": {
    object (Money)
  },
  "discountMessage": {
    object (LocalizedString)
  }
}
Поля
faceValue

object (Money)

Номинальная цена билета.

purchasePrice

object (Money)

Фактическая цена билета с учетом налогов и скидок.

discountMessage

object (LocalizedString)

Описание скидки, которая была применена.

TicketLeg

JSON-представление

{
  "originStationCode": string,
  "originName": {
    object (LocalizedString)
  },
  "destinationStationCode": string,
  "destinationName": {
    object (LocalizedString)
  },
  "departureDateTime": string,
  "arrivalDateTime": string,
  "fareName": {
    object (LocalizedString)
  },
  "carriage": string,
  "platform": string,
  "zone": string,
  "ticketSeat": {
    object (TicketSeat)
  },
  "ticketSeats": [
    {
      object (TicketSeat)
    }
  ],
  "transitOperatorName": {
    object (LocalizedString)
  },
  "transitTerminusName": {
    object (LocalizedString)
  }
}
Поля
originStationCode

string

Код станции отправления. Его нужно указать, если заполнено поле destinationStationCode или не заполнено поле originName.

originName

object (LocalizedString)

Название станции отправления. Его нужно указать, если заполнено поле desinationName или не заполнено поле originStationCode.

destinationStationCode

string

Код станции назначения.

destinationName

object (LocalizedString)

Название станции назначения.

departureDateTime

string

Дата и время отправления. Эта информация обязательна, если для объекта transit не указан срок действия.

Дата и время в расширенном формате ISO 8601. Смещение может указываться, но это необязательно. Время может быть указано с точностью до наносекунды; смещение – с точностью до секунды (хотя это и не подпадает под стандарт ISO 8601).

Пример:

1985-04-12T23:20:50.52Z – 23 часа, 20 минут и 50,52 секунды 12 апреля 1985 года по UTC.

1985-04-12T19:20:50.52-04:00 – 19 часов, 20 минут и 50,52 секунды 12 апреля 1985 года, за 4 часа до всемирного координированного времени (тот же момент времени, что и в примере выше). Если дата и время указаны для Нью-Йорка, то это будет эквивалентом североамериканского восточного летнего времени. Имейте в виду, что в регионах, где есть переход на летнее время, смещение варьируется в зависимости от времени года.

1985-04-12T19:20:50.52 – 19 часов, 20 минут и 50,52 секунды 12 апреля 1985 года без данных о смещении.

Фрагмент информации о дате и времени без данных о смещении считается местными датой и временем. Их нужно указывать, ориентируясь на станцию отправления. Например, если отъезд назначен со станции отправления на 5 июня 2018 года в 20 часов по местному времени, сведения о местных дате и времени будут выглядеть так: 2018-06-05T20:00:00. Если местные дата и время меньше всемирного координированного времени на 4 часа, можно добавить фрагмент -04:00.

Если не указать данные о смещении, некоторые расширенные функции могут быть недоступны.

arrivalDateTime

string

Дата и время прибытия.

Дата и время в расширенном формате ISO 8601. Смещение может указываться, но это необязательно. Время может быть указано с точностью до наносекунды; смещение – с точностью до секунды (хотя это и не подпадает под стандарт ISO 8601).

Пример:

1985-04-12T23:20:50.52Z – 23 часа, 20 минут и 50,52 секунды 12 апреля 1985 года по UTC.

1985-04-12T19:20:50.52-04:00 – 19 часов, 20 минут и 50,52 секунды 12 апреля 1985 года, за 4 часа до всемирного координированного времени (тот же момент времени, что и в примере выше). Если дата и время указаны для Нью-Йорка, то это будет эквивалентом североамериканского восточного летнего времени. Имейте в виду, что в регионах, где есть переход на летнее время, смещение варьируется в зависимости от времени года.

1985-04-12T19:20:50.52 – 19 часов, 20 минут и 50,52 секунды 12 апреля 1985 года без данных о смещении.

Фрагмент информации о дате и времени без данных о смещении считается местными датой и временем. Их нужно указывать, ориентируясь на станцию назначения. Например, если событие происходит на станции назначения 5 июня 2018 года в 20 часов по местному времени, сведения о местных дате и времени будут выглядеть так: 2018-06-05T20:00:00. Если местные дата и время меньше всемирного координированного времени на 4 часа, можно добавить фрагмент -04:00.

Если не указать данные о смещении, некоторые расширенные функции могут быть недоступны.

fareName

object (LocalizedString)

Название или краткое описание тарифа, применимого к определенному этапу маршрута. Пример: "Бессрочный билет на одну поездку".

carriage

string

Название или номер поезда или корабля, право проезда на котором дает билет.

platform

string

Платформа или иной пункт, где осуществляется посадка.

zone

string

Зона в пределах платформы или иного пункта, где осуществляется посадка.

ticketSeat

object (TicketSeat)

Место, зарезервированное для пассажира. Если мест два и более, вместо этого поля нужно заполнить поле ticketSeats. Заполнять сразу два поля – ticketSeat и ticketSeats – нельзя.

ticketSeats[]

object (TicketSeat)

Место, зарезервированное для пассажира. Если место только одно, вместо этого поля нужно заполнить поле ticketSeat. Заполнять сразу два поля – ticketSeat и ticketSeats – нельзя.

transitOperatorName

object (LocalizedString)

Название компании-перевозчика, которая отвечает за определенный этап маршрута.

transitTerminusName

object (LocalizedString)

Конечная станция или пункт назначения транспортного средства.

TicketSeat

JSON-представление

{
  "fareClass": enum (FareClass),
  "customFareClass": {
    object (LocalizedString)
  },
  "coach": string,
  "seat": string,
  "seatAssignment": {
    object (LocalizedString)
  }
}
Поля
fareClass

enum (FareClass)

Класс места, которое указано в билете.

customFareClass

object (LocalizedString)

Заполните это поле, если ни одно из значений поля fareClass не подходит. Заполнять сразу два поля – fareClass и customFareClass – нельзя.

coach

string

Номер вагона, в котором расположено место, указанное в билете (например, "10").

seat

string

Номер места, которое указано в билете (например, "42". Если конкретного идентификатора нет, используйте поле seatAssigment.

seatAssignment

object (LocalizedString)

Назначение места пассажира (например, "без места". Используется, когда для поля seat не указан конкретный идентификатор.

FareClass

Перечисления
FARE_CLASS_UNSPECIFIED
ECONOMY
economy

Устаревший псевдоним элемента ECONOMY.

FIRST
first

Устаревший псевдоним элемента FIRST.

BUSINESS
business

Устаревший псевдоним элемента BUSINESS.

TripType

Перечисления
TRIP_TYPE_UNSPECIFIED
ROUND_TRIP
roundTrip

Устаревший псевдоним элемента ROUND_TRIP.

ONE_WAY
oneWay

Устаревший псевдоним элемента ONE_WAY.

Методы

addmessage

Добавляет сообщение к объекту transit с указанным идентификатором.

get

Возвращает объект transit, к которому относится указанный идентификатор.

insert

Добавляет объект transit с заданными идентификатором и свойствами.

list

Возвращает список всех классов типа transit, которые относятся к представленному идентификатору Issuer ID.

patch

Обновляет объект transit с указанным идентификатором.

update

Обновляет объект transit с указанным идентификатором.