AI-generated Key Takeaways
- 
          The content focuses on defining the structure and customization options for digital passes within Google Wallet. 
- 
          It involves defining templates for card, details, and list views, along with specific field references and date formatting. 
- 
          Users can leverage various predefined items for common use cases like flight or loyalty program information. 
- 
          The structure allows for flexibility in arranging and displaying pass details through one, two, or three-item row layouts. 
- 
          It details how to override default layouts using custom fields or predefined options, and how to display dates and times. 
- JSON representation
- CardBarcodeSectionDetails
- BarcodeSectionDetail
- FieldSelector
- FieldReference
- DateFormat
- CardTemplateOverride
- CardRowTemplateInfo
- CardRowOneItem
- TemplateItem
- PredefinedItem
- CardRowTwoItems
- CardRowThreeItems
- DetailsTemplateOverride
- DetailsItemInfo
- ListTemplateOverride
- FirstRowOption
- TransitOption
| JSON representation | 
|---|
| { "cardBarcodeSectionDetails": { object ( | 
| Fields | |
|---|---|
| cardBarcodeSectionDetails | 
 Specifies extra information to be displayed above and below the barcode. | 
| cardTemplateOverride | 
 Override for the card view. | 
| detailsTemplateOverride | 
 Override for the details view (beneath the card view). | 
| listTemplateOverride | 
 Override for the passes list view. | 
CardBarcodeSectionDetails
| JSON representation | 
|---|
| { "firstTopDetail": { object ( | 
| Fields | |
|---|---|
| firstTopDetail | 
 Optional information to display above the barcode. If  | 
| firstBottomDetail | 
 Optional information to display below the barcode. | 
| secondTopDetail | 
 Optional second piece of information to display above the barcode. If  | 
BarcodeSectionDetail
| JSON representation | 
|---|
| {
  "fieldSelector": {
    object ( | 
| Fields | |
|---|---|
| fieldSelector | 
 A reference to an existing text-based or image field to display. | 
FieldSelector
Custom field selector to use with field overrides.
| JSON representation | 
|---|
| {
  "fields": [
    {
      object ( | 
| Fields | |
|---|---|
| fields[] | 
 If more than one reference is supplied, then the first one that references a non-empty field will be displayed. | 
FieldReference
Reference definition to use with field overrides.
| JSON representation | 
|---|
| {
  "fieldPath": string,
  "dateFormat": enum ( | 
| Fields | |
|---|---|
| fieldPath | 
 Path to the field being referenced, prefixed with "object" or "class" and separated with dots. For example, it may be the string "object.purchaseDetails.purchasePrice". | 
| dateFormat | 
 Only valid if the  | 
DateFormat
DateFormat options specific to rendering date/time fields.
| Enums | |
|---|---|
| DATE_FORMAT_UNSPECIFIED | Default option when no format is specified, when selected, no formatting will be applied. | 
| DATE_TIME | Renders 2018-12-14T13:00:00asDec 14, 1:00 PMinen_US. | 
| dateTime | Legacy alias for  | 
| DATE_ONLY | Renders 2018-12-14T13:00:00asDec 14inen_US. | 
| dateOnly | Legacy alias for  | 
| TIME_ONLY | Renders 2018-12-14T13:00:00as1:00 PMinen_US. | 
| timeOnly | Legacy alias for  | 
| DATE_TIME_YEAR | Renders 2018-12-14T13:00:00asDec 14, 2018, 1:00 PMinen_US. | 
| dateTimeYear | Legacy alias for  | 
| DATE_YEAR | Renders 2018-12-14T13:00:00asDec 14, 2018inen_US. | 
| dateYear | Legacy alias for  | 
| YEAR_MONTH | Renders 2018-12-14T13:00:00as2018-12. | 
| YEAR_MONTH_DAY | Renders 2018-12-14T13:00:00as2018-12-14. | 
CardTemplateOverride
| JSON representation | 
|---|
| {
  "cardRowTemplateInfos": [
    {
      object ( | 
| Fields | |
|---|---|
| cardRowTemplateInfos[] | 
 Template information for rows in the card view. At most three rows are allowed to be specified. | 
CardRowTemplateInfo
| JSON representation | 
|---|
| { "oneItem": { object ( | 
| Fields | |
|---|---|
| oneItem | 
 Template for a row containing one item. Exactly one of "oneItem", "twoItems", "threeItems" must be set. | 
| twoItems | 
 Template for a row containing two items. Exactly one of "oneItem", "twoItems", "threeItems" must be set. | 
| threeItems | 
 Template for a row containing three items. Exactly one of "oneItem", "twoItems", "threeItems" must be set. | 
CardRowOneItem
| JSON representation | 
|---|
| {
  "item": {
    object ( | 
| Fields | |
|---|---|
| item | 
 The item to be displayed in the row. This item will be automatically centered. | 
TemplateItem
| JSON representation | 
|---|
| { "firstValue": { object ( | 
| Fields | |
|---|---|
| firstValue | 
 A reference to a field to display. If both  | 
| secondValue | 
 A reference to a field to display. This may only be populated if the  | 
| predefinedItem | 
 A predefined item to display. Only one of  | 
PredefinedItem
| Enums | |
|---|---|
| PREDEFINED_ITEM_UNSPECIFIED | |
| FREQUENT_FLYER_PROGRAM_NAME_AND_NUMBER | |
| frequentFlyerProgramNameAndNumber | Legacy alias for  | 
| FLIGHT_NUMBER_AND_OPERATING_FLIGHT_NUMBER | |
| flightNumberAndOperatingFlightNumber | Legacy alias for  | 
CardRowTwoItems
| JSON representation | 
|---|
| { "startItem": { object ( | 
| Fields | |
|---|---|
| startItem | 
 The item to be displayed at the start of the row. This item will be aligned to the left. | 
| endItem | 
 The item to be displayed at the end of the row. This item will be aligned to the right. | 
CardRowThreeItems
| JSON representation | 
|---|
| { "startItem": { object ( | 
| Fields | |
|---|---|
| startItem | 
 The item to be displayed at the start of the row. This item will be aligned to the left. | 
| middleItem | 
 The item to be displayed in the middle of the row. This item will be centered between the start and end items. | 
| endItem | 
 The item to be displayed at the end of the row. This item will be aligned to the right. | 
DetailsTemplateOverride
| JSON representation | 
|---|
| {
  "detailsItemInfos": [
    {
      object ( | 
| Fields | |
|---|---|
| detailsItemInfos[] | 
 Information for the "nth" item displayed in the details list. | 
DetailsItemInfo
| JSON representation | 
|---|
| {
  "item": {
    object ( | 
| Fields | |
|---|---|
| item | 
 The item to be displayed in the details list. | 
ListTemplateOverride
| JSON representation | 
|---|
| { "firstRowOption": { object ( | 
| Fields | |
|---|---|
| firstRowOption | 
 Specifies from a predefined set of options or from a reference to the field what will be displayed in the first row. To set this override, set the FirstRowOption.fieldOption to the FieldSelector of your choice. | 
| secondRowOption | 
 A reference to the field to be displayed in the second row. This option is only displayed if there are not multiple user objects in a group. If there is a group, the second row will always display a field shared by all objects. To set this override, please set secondRowOption to the FieldSelector of you choice. | 
| thirdRowOption | 
 An unused/deprecated field. Setting it will have no effect on what the user sees. | 
FirstRowOption
| JSON representation | 
|---|
| { "transitOption": enum ( | 
| Fields | |
|---|---|
| transitOption | 
 | 
| fieldOption | 
 A reference to the field to be displayed in the first row. | 
TransitOption
| Enums | |
|---|---|
| TRANSIT_OPTION_UNSPECIFIED | |
| ORIGIN_AND_DESTINATION_NAMES | |
| originAndDestinationNames | Legacy alias for  | 
| ORIGIN_AND_DESTINATION_CODES | |
| originAndDestinationCodes | Legacy alias for  | 
| ORIGIN_NAME | |
| originName | Legacy alias for  | 
