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)
  }
}
字段
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 个,类中的字段数量上限为 10。

activationStatus

object (ActivationStatus)

对象的启用状态。如果类设置了 activationOptions,则为必需。

rotatingBarcode

object (RotatingBarcode)

轮换的条形码类型和值。

deviceContext

object (DeviceContext)

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

heroImage

object (Image)

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

groupingInfo

object (GroupingInfo)

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

passConstraints

object (PassConstraints)

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

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 表示 1985 年 4 月 12 日 19 小时之后 20 分 50.52 秒,比世界协调时间 (UTC) 早 4 小时(与上述示例的时间相同)。如果活动地点为纽约,则此时间相当于美国东部夏令时 (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 表示 1985 年 4 月 12 日 19 小时之后 20 分 50.52 秒,比世界协调时间 (UTC) 早 4 小时(与上述示例的时间相同)。如果活动地点为纽约,则此时间相当于美国东部夏令时 (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 表示 1985 年 4 月 12 日 19 小时之后 20 分 50.52 秒,比世界协调时间 (UTC) 早 4 小时(与上述示例的时间相同)。如果活动地点为纽约,则此时间相当于美国东部夏令时 (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 引用的公交对象。