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

票券的編號。這是大眾運輸公司系統中票券的專屬 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 ID 格式。identifier 的格式,其中前者是由 Google 核發,後者則由您指定。專屬 ID 只能包含英數字元、「.」、「_」或「-」。

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 推送至使用者的錢包 (除非使用者關閉接收這類已連結票證的設定)。

請確認您已插入 linkObjectIds 中的物件;如果沒有插入,呼叫就會失敗。連結後即無法取消連結。您無法連結屬於其他核發單位的物件。單一物件可連結的物件數量有限。達到上限後,系統會以無通知的方式忽略呼叫中的新連結物件。

物件 ID 應採用 issuer ID 格式。identifier 的格式,其中前者是由 Google 核發,後者則由您指定。

notifyPreference

enum (NotificationSettingsForUpdates)

此物件的欄位更新是否應觸發通知。設為 NOTIFY 時,我們會嘗試向使用者觸發欄位更新通知。只有在欄位屬於許可清單的一部分時,系統才會傳送這些通知給使用者。如果設為 DO_NOT_NOTIFY 或 NOTIFICATION_SETTINGS_UNSPECIFIED,系統就不會觸發通知。這項設定是暫時性的,需要在每次 PATCH 或 UPDATE 要求中設定,否則系統不會觸發通知。

valueAddedModuleData[]

object (ValueAddedModuleData)

選用價值加值模組資料。物件上最多可有十個。

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

透過售票機構追蹤購票情形的收據編號/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 不得做為追蹤使用者裝置的穩定 ID。可能會因在同一部裝置的不同票證上,甚至是同一部裝置的不同啟用方式間變更。設定此值時,呼叫端也必須在要啟用的物件上設定 hasLinkedDevice。

方法

addmessage

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

get

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

insert

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

list

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

patch

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

update

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