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:00 as Dec 14, 1:00 PM in en_US. | 
              
dateTime | 
                Legacy alias for   | 
              
DATE_ONLY | 
                Renders 2018-12-14T13:00:00 as Dec 14 in en_US. | 
              
dateOnly | 
                Legacy alias for   | 
              
TIME_ONLY | 
                Renders 2018-12-14T13:00:00 as 1:00 PM in en_US. | 
              
timeOnly | 
                Legacy alias for   | 
              
DATE_TIME_YEAR | 
                Renders 2018-12-14T13:00:00 as Dec 14, 2018, 1:00 PM in en_US. | 
              
dateTimeYear | 
                Legacy alias for   | 
              
DATE_YEAR | 
                Renders 2018-12-14T13:00:00 as Dec 14, 2018 in en_US. | 
              
dateYear | 
                Legacy alias for   | 
              
YEAR_MONTH | 
                Renders 2018-12-14T13:00:00 as 2018-12. | 
              
YEAR_MONTH_DAY | 
                Renders 2018-12-14T13:00:00 as 2018-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   |