REST Resource: 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)
  },
  "activationStatus": {
    object (ActivationStatus)
  },
  "rotatingBarcode": {
    object (RotatingBarcode)
  },
  "deviceContext": {
    object (DeviceContext)
  },
  "heroImage": {
    object (Image)
  },
  "groupingInfo": {
    object (GroupingInfo)
  },
  "passConstraints": {
    object (PassConstraints)
  }
}
Поля
classReference

object ( TransitClass )

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

ticketNumber

string

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

passengerType

enum ( PassengerType )

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

passengerNames

string

Имена пассажиров, которым назначен билет. Вышеупомянутое поле passengerType предназначено для предоставления контекста Google в этом поле.

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 — rgb , например #fc0 .

tripType

enum ( TripType )

Необходимый. Тип поездки, который представляет этот транзитный объект. Используется для определения названия пропуска и/или того, какой символ использовать между пунктом отправления и пунктом назначения.

id

string

Необходимый. Уникальный идентификатор объекта. Этот идентификатор должен быть уникальным для всех объектов издателя. Это значение должно соответствовать формату issuer ID . identifier , первый из которых выдается Google, а второй выбирается вами. Уникальный идентификатор должен включать только буквенно-цифровые символы: «.», «_» или «-».

classId

string

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

Идентификаторы классов должны соответствовать формату issuer ID . identifier , первый из которых выдается 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 )

Примечание. Это поле в настоящее время не поддерживается для запуска географических уведомлений.

hasUsers

boolean

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

smartTapRedemptionValue

string

Значение, которое будет передано на сертифицированный терминал Smart Tap через NFC для этого объекта. Поля уровня класса enableSmartTap и redemptionIssuers также должны быть настроены правильно, чтобы пропуск поддерживал Smart Tap. Поддерживаются только символы ASCII.

hasLinkedDevice

boolean

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

disableExpirationNotification

boolean

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

В настоящее время это можно установить только для предложений.

infoModuleData

object ( InfoModuleData )

Устарело. Вместо этого используйте textModulesData.

imageModulesData[]

object ( ImageModuleData )

Данные модуля изображения. Максимальное количество отображаемых полей — 1 на уровне объекта и 1 на уровне объекта класса.

textModulesData[]

object ( TextModuleData )

Текстовые данные модуля. Если в классе также определены данные текстового модуля, будут отображены оба. Максимальное количество отображаемых полей — 10 для объекта и 10 для класса.

activationStatus

object ( ActivationStatus )

Статус активации объекта. Требуется, если для класса установлены activationOptions .

rotatingBarcode

object ( RotatingBarcode )

Тип и значение вращающегося штрих-кода.

deviceContext

object ( DeviceContext )

Контекст устройства, связанный с объектом.

heroImage

object ( Image )

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

groupingInfo

object ( GroupingInfo )

Информация, управляющая группировкой пропусков.

passConstraints

object ( PassConstraints )

Передайте ограничения для объекта. Включает ограничение поведения NFC и снимков экрана.

Тип Пассажира

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

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

MULTIPLE_PASSENGERS
multiplePassengers

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

Статус билета

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

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

REFUNDED
refunded

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

EXCHANGED
exchanged

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

Категория концессии

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

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

CHILD
child

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

SENIOR
senior

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

Ограничения на билеты

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 )

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

ПокупкаДетали

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 будет через 20 минут 50,52 секунды после 23-го часа 12 апреля 1985 года по всемирному координированному времени.

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

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

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

accountId

string

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

confirmationCode

string

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

ticketCost

object ( TicketCost )

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

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

JSON-представление
{
  "faceValue": {
    object (Money)
  },
  "purchasePrice": {
    object (Money)
  },
  "discountMessage": {
    object (LocalizedString)
  }
}
Поля
faceValue

object ( Money )

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

purchasePrice

object ( Money )

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

discountMessage

object ( LocalizedString )

Сообщение с описанием любого вида скидки, которая была применена.

БилетНога

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

Дата/время выезда. Это необходимо, если на транзитном объекте не установлен временной интервал действия.

Это дата/время расширенного формата ISO 8601 со смещением или без него. Время может быть указано с точностью до наносекунды. Смещения могут быть указаны с точностью до секунды (хотя секунды смещения не являются частью ISO 8601).

Например:

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

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

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

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

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

arrivalDateTime

string

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

Это дата/время расширенного формата ISO 8601 со смещением или без него. Время может быть указано с точностью до наносекунды. Смещения могут быть указаны с точностью до секунды (хотя секунды смещения не являются частью ISO 8601).

Например:

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

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

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

Часть даты/времени без смещения считается «локальной датой/временем». Это должна быть местная дата/время на станции назначения. Например, если событие происходит в 20 часов 5 июня 2018 года на станции назначения, локальная часть даты/времени должна быть 2018-06-05T20:00:00 . Если местная дата/время на станции назначения на 4 часа раньше UTC, может быть добавлено смещение -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 )

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

БилетСиденье

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 .

Класс тарифа

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

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

FIRST
first

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

BUSINESS
business

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

Тип поездки

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

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

ONE_WAY
oneWay

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

Статус активации

Статус активации объекта. Это поле включает статус активации, если значение поддерживает активацию.

JSON-представление
{
  "state": enum (State)
}
Поля
state

enum ( State )

Состояние

Перечисления
UNKNOWN_STATE
NOT_ACTIVATED Не активирован, это статус по умолчанию
not_activated

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

ACTIVATED Активировано
activated

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

Контекст устройства

Контекст устройства, связанный с объектом.

JSON-представление
{
  "deviceToken": string
}
Поля
deviceToken

string

Если установлено, информация о погашении будет возвращена на данное устройство только после активации объекта. Его не следует использовать в качестве стабильного идентификатора для отслеживания устройства пользователя. Он может меняться в разных проходах для одного и того же устройства или даже в разных активациях для одного и того же устройства. При установке этого вызывающие стороны также должны установить hasLinkedDevice для активируемого объекта.

Методы

addmessage

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

get

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

insert

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

list

Возвращает список всех транзитных объектов для данного идентификатора эмитента.

patch

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

update

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