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)
  }
}
字段
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[]

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 个。

activationStatus

object (ActivationStatus)

对象的激活状态。如果该类设置了 activationOptions,则该属性为必需。

rotatingBarcode

object (RotatingBarcode)

轮播的条形码类型和值。

deviceContext

object (DeviceContext)

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

heroImage

object (Image)

在卡片正面显示的可选横幅图片。如果没有,则会显示课程的主打图片(如果有)。如果课程的主打图片也没有显示,则不会显示任何内容。

groupingInfo

object (GroupingInfo)

用于控制卡券如何分组的信息。

passConstraints

object (PassConstraints)

为对象传递约束条件。包括限制 NFC 和屏幕截图行为。

saveRestrictions

object (SaveRestrictions)

针对需要在用户尝试保存卡券之前验证的对象的限制。请注意,此限制仅在保存时间内适用。如果在用户保存卡券后限制发生变化,新的限制将不会应用于已保存的卡券。

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 引用的公交对象。