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)
  },
  "saveRestrictions": {
    object (SaveRestrictions)
  },
  "linkedObjectIds": [
    string
  ],
  "valueAddedModuleData": [
    {
      object (ValueAddedModuleData)
    }
  ]
}
Поля
class Reference

object ( TransitClass )

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

ticket Number

string

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

passenger Type

enum ( PassengerType )

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

passenger Names

string

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

trip Id

string

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

ticket Status

enum ( TicketStatus )

Статус билета. Для состояний, влияющих на отображение, используйте вместо этого поле state .

custom Ticket Status

object ( LocalizedString )

Пользовательский статус, используемый для значения статуса заявки, когда ticketStatus не предоставляет правильный вариант. Оба ticketStatus и customTicketStatus не могут быть установлены.

concession Category

enum ( ConcessionCategory )

Категория льготного билета.

custom Concession Category

object ( LocalizedString )

Пользовательская категория концессии, которую можно использовать, если concessionCategory не предоставляет правильный вариант. И concessionCategory , и customConcessionCategory не могут быть установлены.

ticket Restrictions

object ( TicketRestrictions )

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

purchase Details

object ( PurchaseDetails )

Подробности покупки этого билета.

ticket Leg

object ( TicketLeg )

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

ticket Legs[]

object ( TicketLeg )

Каждый билет может содержать одну или несколько ветвей. На каждом этапе содержится информация об отправлении и прибытии, а также информация о посадке и размещении. Если необходимо указать только одну ногу, используйте вместо нее поле ticketLeg . Оба ticketLeg и ticketLegs не могут быть установлены.

hex Background Color

string

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

trip Type

enum ( TripType )

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

id

string

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

class Id

string

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

Идентификаторы классов должны соответствовать формату issuer ID . identifier , первый из которых выдается Google, а второй выбирается вами.

version
(deprecated)

string ( int64 format)

Устарело

state

enum ( State )

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

barcode

object ( Barcode )

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

messages[]

object ( Message )

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

valid Time Interval

object ( TimeInterval )

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

locations[]
(deprecated)

object ( LatLongPoint )

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

has Users

boolean

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

smart Tap Redemption Value

string

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

has Linked Device

boolean

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

disable Expiration Notification

boolean

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

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

info Module Data

object ( InfoModuleData )

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

image Modules Data[]

object ( ImageModuleData )

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

text Modules Data[]

object ( TextModuleData )

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

activation Status

object ( ActivationStatus )

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

rotating Barcode

object ( RotatingBarcode )

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

device Context

object ( DeviceContext )

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

hero Image

object ( Image )

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

grouping Info

object ( GroupingInfo )

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

pass Constraints

object ( PassConstraints )

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

save Restrictions

object ( SaveRestrictions )

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

linked Object Ids[]

string

linkedObjectIds — это список других объектов, таких как билет на мероприятие, программа лояльности, предложение, универсальный, подарочная карта, транзитный и посадочный талон, которые должны быть автоматически прикреплены к этому транзитному объекту. Если пользователь сохранил эту транспортную карту, то эти linkedObjectIds будут автоматически отправлены в кошелек пользователя (если только он не отключил настройку для получения таких связанных пропусков).

Убедитесь, что объекты, присутствующие в linkedObjectIds, уже вставлены — в противном случае вызовы завершатся неудачно. После связывания связанные объекты не могут быть отсоединены. Вы не можете связать объекты, принадлежащие другому эмитенту. Существует ограничение на количество объектов, которые можно связать с одним объектом. После достижения предела новые связанные объекты в вызове будут игнорироваться автоматически.

Идентификаторы объектов должны соответствовать формату issuer ID . identifier , первый из которых выдается Google, а второй выбирается вами.

value Added Module Data[]

object ( ValueAddedModuleData )

Дополнительные данные модуля с добавленной стоимостью. Максимум десять на объекте.

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

Перечисления
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)
  }
}
Поля
route Restrictions

object ( LocalizedString )

Ограничения на маршруты, которые можно использовать. Например, это может быть строка «Только зарезервированные поезда CrossCountry».

route Restrictions Details

object ( LocalizedString )

Подробнее о вышеуказанных routeRestrictions .

time Restrictions

object ( LocalizedString )

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

other Restrictions

object ( LocalizedString )

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

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

JSON-представление
{
  "purchaseReceiptNumber": string,
  "purchaseDateTime": string,
  "accountId": string,
  "confirmationCode": string,
  "ticketCost": {
    object (TicketCost)
  }
}
Поля
purchase Receipt Number

string

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

purchase Date Time

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 года без какой-либо информации о смещении.

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

account Id

string

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

confirmation Code

string

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

ticket Cost

object ( TicketCost )

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

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

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

object ( Money )

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

purchase Price

object ( Money )

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

discount Message

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)
  }
}
Поля
origin Station Code

string

Код станции отправления. Это необходимо, если присутствует destinationStationCode или не указано originName .

origin Name

object ( LocalizedString )

Название исходной станции. Это необходимо, если присутствует desinationName или originStationCode .

destination Station Code

string

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

destination Name

object ( LocalizedString )

Имя пункта назначения.

departure Date Time

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 .

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

arrival Date Time

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 .

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

fare Name

object ( LocalizedString )

Краткое описание/название тарифа на этом участке путешествия. Например, «Одноразовое использование в любое время».

carriage

string

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

platform

string

Платформа или ворота, через которые пассажир может войти в вагон.

zone

string

Зона посадки внутри платформы.

ticket Seat

object ( TicketSeat )

Зарезервированное место для пассажира(ов). Если необходимо указать более одного места, используйте вместо этого поле ticketSeats . Оба ticketSeat и ticketSeats не могут быть установлены.

ticket Seats[]

object ( TicketSeat )

Зарезервированное место для пассажира(ов). Если необходимо указать только одно место, используйте вместо него поле ticketSeat . Оба ticketSeat и ticketSeats не могут быть установлены.

transit Operator Name

object ( LocalizedString )

Название транзитного оператора, выполняющего этот участок поездки.

transit Terminus Name

object ( LocalizedString )

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

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

JSON-представление
{
  "fareClass": enum (FareClass),
  "customFareClass": {
    object (LocalizedString)
  },
  "coach": string,
  "seat": string,
  "seatAssignment": {
    object (LocalizedString)
  }
}
Поля
fare Class

enum ( FareClass )

Класс тарифа места, на которое оформлен билет.

custom Fare Class

object ( LocalizedString )

Пользовательский класс тарифа, который будет использоваться, если fareClass не применяется. Оба fareClass и customFareClass не могут быть установлены.

coach

string

Идентификатор вагона или автобуса, в котором находится билетное место. Например. "10"

seat

string

Идентификатор места, где находится билетное место. Например. «42». Если конкретного идентификатора нет, используйте вместо него seatAssignment .

seat Assignment

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
}
Поля
device Token

string

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

Методы

addmessage

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

get

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

insert

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

list

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

patch

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

update

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