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

票券的編號。這是大眾運輸業者系統中票券的專屬 ID。

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。特定核發者的所有物件 ID 都不得重複。這個值應採用以下格式:issuer IDidentifier,其中前者是由 Google 核發,後者則您指定。專屬 ID 只能包含英數字元、「.」、「_」或「-」。

classId

string

必要欄位。與這個物件相關聯的類別。必須是與這個物件相同的類型、已存在,而且必須經過核准的類別。

類別 ID 應採用以下格式:issuer IDidentifier,其中前者是由 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)

可能的路線限制。例如,這裡可能會是「僅限預訂的跨國家/地區火車」字串。

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

透過售票機構追蹤購票資訊的收據編號/ID。

purchaseDateTime

string

票券的購買日期/時間。

日期/時間採用 ISO 8601 擴充格式 (無論是否含有偏移量)。時間的精確度可以指定到奈秒。偏移量可以指定秒精確度 (雖然偏移秒數並非 ISO 8601 的一部分)。

例如:

1985-04-12T23:20:50.52Z 是世界標準時間 1985 年 4 月 12 日 23 時 20 分 50.52 秒。

1985-04-12T19:20:50.52-04:00 是 1985 年 4 月 12 日 19 時 20 分 50.52 秒,比世界標準時間慢 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 是世界標準時間 1985 年 4 月 12 日 23 時 20 分 50.52 秒。

1985-04-12T19:20:50.52-04:00 是 1985 年 4 月 12 日 19 時 20 分 50.52 秒,比世界標準時間慢 4 個小時 (與上述範例為同一時間)。如果活動是在紐約舉行,則等同於美東夏令時間 (EDT)。請注意,偏移量可能會因當地時段而異。

1985-04-12T19:20:50.52 是 1985 年 4 月 12 日 19 時 20 分 50.52 秒,不含偏移資訊。

不含偏移量的日期/時間部分會視為「當地日期/時間」,且應是出發站的當地日期/時間。例如,如果在 2018 年 6 月 5 日 20 時從出發站點出發,則當地日期/時間的部分應為 2018-06-05T20:00:00。如果出發站的當地日期/時間比世界標準時間慢 4 小時,可以加上 -04:00 的偏移量。

在沒有偏移資訊的情況下,某些實用功能可能無法使用。

arrivalDateTime

string

抵達日期/時間。

日期/時間採用 ISO 8601 擴充格式 (無論是否含有偏移量)。時間的精確度可以指定到奈秒。偏移量可以指定秒精確度 (雖然偏移秒數並非 ISO 8601 的一部分)。

例如:

1985-04-12T23:20:50.52Z 是世界標準時間 1985 年 4 月 12 日 23 時 20 分 50.52 秒。

1985-04-12T19:20:50.52-04:00 是 1985 年 4 月 12 日 19 時 20 分 50.52 秒,比世界標準時間慢 4 個小時 (與上述範例為同一時間)。如果活動是在紐約舉行,則等同於美東夏令時間 (EDT)。請注意,偏移量可能會因當地時段而異。

1985-04-12T19:20:50.52 是 1985 年 4 月 12 日 19 時 20 分 50.52 秒,不含偏移資訊。

不含偏移量的日期/時間部分會視為「當地日期/時間」,且應是目的地站點的當地日期/時間。例如,如果活動是在 2018 年 6 月 5 日 20 時於目的地站台發生,則當地日期/時間的部分應為 2018-06-05T20:00:00。如果目的地站點的當地日期/時間比世界標準時間慢 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

售票座位所在的火車車廂或教練的 ID。例如:「10」

seat

string

售票座位所在位置的 ID,例如:「42」。如果沒有專屬 ID,請改用 seatAssigment

seatAssignment

object (LocalizedString)

乘客的座位安排。例如:「沒有特定座位」。使用時機為 seat 中沒有特定 ID 可用時。

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

設定後,系統只會在啟動物件時將兌換資訊傳回指定裝置。不應做為追蹤使用者裝置的穩定 ID。這項設定可能會變更,變更在同一部裝置上使用不同的票證,或是在同一部裝置使用不同的啟動程序。設定這項設定時,呼叫端也必須在啟用的物件中設定 hasLinkedDevice。

方法

addmessage

在指定物件 ID 參照的大眾運輸物件中新增訊息。

get

傳回具有指定物件 ID 的大眾運輸物件。

insert

插入具有指定 ID 和屬性的大眾運輸物件。

list

傳回指定核發者 ID 的所有大眾運輸物件清單。

patch

更新指定物件 ID 參照的大眾運輸物件。

update

更新指定物件 ID 參照的大眾運輸物件。