REST Resource: 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)
  },
  "activationStatus": {
    object (ActivationStatus)
  },
  "rotatingBarcode": {
    object (RotatingBarcode)
  },
  "deviceContext": {
    object (DeviceContext)
  },
  "heroImage": {
    object (Image)
  },
  "groupingInfo": {
    object (GroupingInfo)
  },
  "passConstraints": {
    object (PassConstraints)
  },
  "saveRestrictions": {
    object (SaveRestrictions)
  },
  "linkedObjectIds": [
    string
  ],
  "notifyPreference": enum (NotificationSettingsForUpdates),
  "valueAddedModuleData": [
    {
      object (ValueAddedModuleData)
    }
  ]
}
字段
classReference

object (TransitClass)

父类的继承字段的副本。执行 GET 操作期间会检索这些字段。

ticketNumber

string

门票的号码。这是车票在公交运营商系统中的唯一标识符。

passengerType

enum (PassengerType)

乘客人数。

passengerNames

string

持票乘客的姓名。上面的 passengerType 字段旨在提供有关此字段的 Google 上下文。

tripId

string

如果用户已为同一行程保存了多张车票,则可使用此 ID 将车票分为一组。

ticketStatus

enum (TicketStatus)

票券的状态。对于影响显示的状态,请改用 state 字段。

customTicketStatus

object (LocalizedString)

ticketStatus 未提供正确选项时,用于车票状态值的自定义状态。不能同时设置 ticketStatuscustomTicketStatus

concessionCategory

enum (ConcessionCategory)

车票的优惠类别。

customConcessionCategory

object (LocalizedString)

concessionCategory 未提供正确选项时使用的自定义优惠类别。不能同时设置 concessionCategorycustomConcessionCategory

ticketRestrictions

object (TicketRestrictions)

有关此车票使用限制的信息。例如,车票必须在一周的哪几天使用,或允许采用哪些路线。

purchaseDetails

object (PurchaseDetails)

此票券的购买详细信息。

ticketLeg

object (TicketLeg)

单段车票包含出发和到达信息以及乘车和座位信息。如果要指定多段行程,请改用 ticketLegs 字段。不能同时设置 ticketLegticketLegs

ticketLegs[]

object (TicketLeg)

每张车票可包含一段或多段。每段都包含相应的出发和到达信息以及乘车和座位信息。如果仅指定一段,请改用 ticketLeg 字段。不能同时设置 ticketLegticketLegs

hexBackgroundColor

string

卡片的背景颜色。如果未设置,则使用主打图片的主体色;如果未设置主打图片,则使用徽标的主体色。格式为 #rrggbb,其中 rrggbb 为十六进制 RGB 三元组,例如 #ffcc00。您也可以使用 RGB 三元组的简写版本(即 #rgb),例如 #fc0

tripType

enum (TripType)

必需。此公交对象所表示的行程类型。用于确定卡券标题和/或要在出发地和目的地之间使用的符号。

id

string

必需。对象的唯一标识符。此 ID 在一个发卡机构的所有对象中必须是唯一的。此值应遵循 issuer ID 格式。identifier”格式,其中前者由 Google 提供,后者由您自行选择。该唯一标识符应仅包含字母数字字符、“.”“_”或“-”。

classId

string

必需。与此对象关联的类。该类必须与此对象属于同一类型、已存在且已获批准。

类 ID 应遵循“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[]
(deprecated)

object (LatLongPoint)

注意:此字段目前不支持触发地理位置通知。

hasUsers

boolean

指示对象是否有用户。此字段由平台设置。

smartTapRedemptionValue

string

系统将通过 NFC 将此对象的此值传输到经过智能感应认证的终端。此外,还必须正确设置类级字段 enableSmartTapredemptionIssuers,卡券才支持智能触碰。仅支持 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 和屏幕截图行为。

saveRestrictions

object (SaveRestrictions)

对对象的限制,用户在尝试保存卡券之前需要先验证该对象。请注意,此限制仅在省电模式下应用。如果用户保存卡券后限制条件发生了变化,新限制条件不会应用于已保存的卡券。

linkedObjectIds[]

string

linkedObjectIds 是应自动附加到此公交卡对象的其他对象(例如活动门票、会员卡、优惠、通用卡、礼品卡、公交卡和登机牌)的列表。如果用户已保存此公交卡,系统会自动将这些 linkedObjectId 推送到用户的钱包(除非用户关闭了接收此类关联卡券的设置)。

确保“linkedObjectIds”中存在的对象已插入,否则,调用将会失败。一旦建立关联,已关联的对象便无法解除关联。您无法关联属于其他发卡机构的对象。可与单个对象关联的对象数量存在限制。达到该限制后,调用中新的关联对象将被静默忽略。

对象 ID 应遵循 issuer ID 格式。identifier”格式,其中前者由 Google 提供,后者由您自行选择。

notifyPreference

enum (NotificationSettingsForUpdates)

是否应针对此对象触发字段更新通知。如果设置为 NOTIFY,我们将尝试触发向用户发送的字段更新通知。只有当该字段已列入许可名单时,系统才会向用户发送此类通知。如果设置为 DO_NOT_NOTIFY 或 NOTIFICATION_SETTINGS_UNSPECIFIED,则不会触发任何通知。此设置是暂时性的,需要在每次 PATCH 或 UPDATE 请求中进行设置,否则系统不会触发通知。

valueAddedModuleData[]

object (ValueAddedModuleData)

可选增值模块数据。对象最多 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 表示世界协调时间 (UTC) 1985 年 4 月 12 日 23 时 20 分 50.52 秒。

1985-04-12T19:20:50.52-04:00 表示比世界协调时间 (UTC) 早 4 个小时的时区的 1985 年 4 月 12 日 19 时 20 分 50.52 秒(与上一个示例的时间为同一时刻)。如果活动地点为纽约,则此时间相当于美国东部夏令时 (EDT) 的时间。请注意,在采用夏令时的区域中,偏移量会有所不同,具体取决于处于一年中的哪个时段。

1985-04-12T19:20:50.52 表示不带偏移量信息的 1985 年 4 月 12 日 19 时 20 分 50.52 秒。

如果没有偏移量信息,您可能无法使用某些丰富的功能。

accountId

string

用于购买门票的账号的 ID。

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

出发日期/时间。如果公交对象上未设置有效时间间隔,则必须提供此值。

这是 ISO 8601 扩展格式的日期/时间,可带也可不带偏移量。时间最高可指定到纳秒级精度。偏移量可指定到秒级精度(虽然 ISO 8601 中未以秒为精度指定偏移量)。

例如:

1985-04-12T23:20:50.52Z 表示世界协调时间 (UTC) 1985 年 4 月 12 日 23 时 20 分 50.52 秒。

1985-04-12T19:20:50.52-04:00 表示比世界协调时间 (UTC) 早 4 个小时的时区的 1985 年 4 月 12 日 19 时 20 分 50.52 秒(与上一个示例的时间为同一时刻)。如果活动地点为纽约,则此时间相当于美国东部夏令时 (EDT) 的时间。请注意,在采用夏令时的区域中,偏移量会有所不同,具体取决于处于一年中的哪个时段。

1985-04-12T19:20:50.52 表示不带偏移量信息的 1985 年 4 月 12 日 19 时 20 分 50.52 秒。

不带偏移量的日期/时间部分被视为“当地日期/时间”。此值应为起点站的当地日期/时间。例如,如果在起点站的出发时间为 2018 年 6 月 5 日 20 时,则当地日期/时间部分应为 2018-06-05T20:00:00。如果在起点站的当地日期/时间比世界协调时间 (UTC) 早 4 个小时,则可附加 -04:00 的偏移量。

如果没有偏移量信息,可能会无法使用某些丰富的功能。

arrivalDateTime

string

到达日期/时间。

这是 ISO 8601 扩展格式的日期/时间,可带或不带偏移量。时间最高可指定到纳秒级精度。偏移量可指定到秒级精度(虽然 ISO 8601 中未以秒为精度指定偏移量)。

例如:

1985-04-12T23:20:50.52Z 表示世界协调时间 (UTC) 1985 年 4 月 12 日 23 时 20 分 50.52 秒。

1985-04-12T19:20:50.52-04:00 表示比世界协调时间 (UTC) 早 4 个小时的时区的 1985 年 4 月 12 日 19 时 20 分 50.52 秒(与上一个示例的时间为同一时刻)。如果活动地点为纽约,则此时间相当于美国东部夏令时 (EDT) 的时间。请注意,在采用夏令时的区域中,偏移量会有所不同,具体取决于处于一年中的哪个时段。

1985-04-12T19:20:50.52 表示不带偏移量信息的 1985 年 4 月 12 日 19 时 20 分 50.52 秒。

不带偏移量的日期/时间部分被视为“当地日期/时间”。此值应为目标站的当地日期/时间。例如,如果在目标站开展活动的时间为 2018 年 6 月 5 日 20 时,则当地日期/时间部分应为 2018-06-05T20:00:00。如果在目标站的当地日期/时间比世界协调时间 (UTC) 早 4 个小时,则可附加 -04:00 的偏移量。

如果没有偏移量信息,您可能无法使用某些丰富的功能。

fareName

object (LocalizedString)

此次行程票价的简短说明/名称。例如“不限时间,只用一次”。

carriage

string

乘客要搭乘的火车或轮船的名称/编号。

platform

string

乘客所乘坐的车厢对应的站台或出入口。

zone

string

站台上的乘车区。

ticketSeat

object (TicketSeat)

乘客预订的座位。如果要指定多个座位,请改用 ticketSeats 字段。不能同时设置 ticketSeatticketSeats

ticketSeats[]

object (TicketSeat)

乘客预订的座位。如果仅指定一个座位,请改用 ticketSeat 字段。不能同时设置 ticketSeatticketSeats

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,可使用自定义的票价等级。不能同时设置 fareClasscustomFareClass

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 的旧别名。已弃用。

ActivationStatus

对象的激活状态。如果实用内容支持激活,此字段会包含激活状态。

JSON 表示法
{
  "state": enum (State)
}
字段
state

enum (State)

枚举
UNKNOWN_STATE
NOT_ACTIVATED 未启用,这是默认状态
not_activated

NOT_ACTIVATED 的旧别名,已弃用。

ACTIVATED 已启用
activated

ACTIVATED 的旧别名,已弃用。

DeviceContext

与对象关联的设备上下文。

JSON 表示法
{
  "deviceToken": string
}
字段
deviceToken

string

如果设置,则仅在激活对象时将兑换信息返回给给定设备。此标识符不应用作跟踪用户设备的稳定标识符。它可能会因同一设备的不同卡券而异,甚至同一设备的不同激活而异。设置此属性时,调用方还必须在要激活的对象上设置 hasLinkedDevice。

方法

addmessage

向指定对象 ID 引用的公交对象添加消息。

get

返回具有指定对象 ID 的公交对象。

insert

插入具有指定 ID 和属性的公交对象。

list

返回指定发卡机构 ID 的所有公交对象的列表。

patch

更新指定对象 ID 引用的公交对象。

update

更新指定对象 ID 引用的公交对象。