# ClassTemplateInfo

- [JSON representation](https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#SCHEMA_REPRESENTATION)
- [CardBarcodeSectionDetails](https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#CardBarcodeSectionDetails)
  - [JSON representation](https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#CardBarcodeSectionDetails.SCHEMA_REPRESENTATION)
- [BarcodeSectionDetail](https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#BarcodeSectionDetail)
  - [JSON representation](https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#BarcodeSectionDetail.SCHEMA_REPRESENTATION)
- [FieldSelector](https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#FieldSelector)
  - [JSON representation](https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#FieldSelector.SCHEMA_REPRESENTATION)
- [FieldReference](https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#FieldReference)
  - [JSON representation](https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#FieldReference.SCHEMA_REPRESENTATION)
- [DateFormat](https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#DateFormat)
- [CardTemplateOverride](https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#CardTemplateOverride)
  - [JSON representation](https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#CardTemplateOverride.SCHEMA_REPRESENTATION)
- [CardRowTemplateInfo](https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#CardRowTemplateInfo)
  - [JSON representation](https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#CardRowTemplateInfo.SCHEMA_REPRESENTATION)
- [CardRowOneItem](https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#CardRowOneItem)
  - [JSON representation](https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#CardRowOneItem.SCHEMA_REPRESENTATION)
- [TemplateItem](https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#TemplateItem)
  - [JSON representation](https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#TemplateItem.SCHEMA_REPRESENTATION)
- [PredefinedItem](https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#PredefinedItem)
- [CardRowTwoItems](https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#CardRowTwoItems)
  - [JSON representation](https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#CardRowTwoItems.SCHEMA_REPRESENTATION)
- [CardRowThreeItems](https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#CardRowThreeItems)
  - [JSON representation](https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#CardRowThreeItems.SCHEMA_REPRESENTATION)
- [DetailsTemplateOverride](https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#DetailsTemplateOverride)
  - [JSON representation](https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#DetailsTemplateOverride.SCHEMA_REPRESENTATION)
- [DetailsItemInfo](https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#DetailsItemInfo)
  - [JSON representation](https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#DetailsItemInfo.SCHEMA_REPRESENTATION)
- [ListTemplateOverride](https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#ListTemplateOverride)
  - [JSON representation](https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#ListTemplateOverride.SCHEMA_REPRESENTATION)
- [FirstRowOption](https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#FirstRowOption)
  - [JSON representation](https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#FirstRowOption.SCHEMA_REPRESENTATION)
- [TransitOption](https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#TransitOption)

| JSON representation |
|---|
| ``` { "cardBarcodeSectionDetails": { object (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#CardBarcodeSectionDetails`) }, "cardTemplateOverride": { object (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#CardTemplateOverride`) }, "detailsTemplateOverride": { object (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#DetailsTemplateOverride`) }, "listTemplateOverride": { object (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#ListTemplateOverride`) } } ``` |

| Fields ||
|---|---|
| `cardBarcodeSectionDetails` | ``object (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#CardBarcodeSectionDetails`)`` Specifies extra information to be displayed above and below the barcode. |
| `cardTemplateOverride` | ``object (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#CardTemplateOverride`)`` Override for the card view. |
| `detailsTemplateOverride` | ``object (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#DetailsTemplateOverride`)`` Override for the details view (beneath the card view). |
| `listTemplateOverride` | ``object (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#ListTemplateOverride`)`` Override for the passes list view. |

## CardBarcodeSectionDetails

| JSON representation |
|---|
| ``` { "firstTopDetail": { object (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#BarcodeSectionDetail`) }, "firstBottomDetail": { object (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#BarcodeSectionDetail`) }, "secondTopDetail": { object (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#BarcodeSectionDetail`) } } ``` |

| Fields ||
|---|---|
| `firstTopDetail` | ``object (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#BarcodeSectionDetail`)`` Optional information to display above the barcode. If `secondTopDetail` is defined, this will be displayed to the start side of this detail section. |
| `firstBottomDetail` | ``object (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#BarcodeSectionDetail`)`` Optional information to display below the barcode. |
| `secondTopDetail` | ``object (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#BarcodeSectionDetail`)`` Optional second piece of information to display above the barcode. If `firstTopDetail` is defined, this will be displayed to the end side of this detail section. |

## BarcodeSectionDetail

| JSON representation |
|---|
| ``` { "fieldSelector": { object (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#FieldSelector`) } } ``` |

| Fields ||
|---|---|
| `fieldSelector` | ``object (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#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 (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#FieldReference`) } ] } ``` |

| Fields ||
|---|---|
| `fields[]` | ``object (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#FieldReference`)`` 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 (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#DateFormat`) } ``` |

| Fields ||
|---|---|
| `fieldPath` | `string` 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` | ``enum (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#DateFormat`)`` Only valid if the `fieldPath` references a date field. Chooses how the date field will be formatted and displayed in the UI. |

## 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_TIME`. Deprecated. > [!WARNING] > This item is deprecated! |
| `DATE_ONLY` | Renders `2018-12-14T13:00:00` as `Dec 14` in `en_US`. |
| `dateOnly` | Legacy alias for `DATE_ONLY`. Deprecated. > [!WARNING] > This item is deprecated! |
| `TIME_ONLY` | Renders `2018-12-14T13:00:00` as `1:00 PM` in `en_US`. |
| `timeOnly` | Legacy alias for `TIME_ONLY`. Deprecated. > [!WARNING] > This item is deprecated! |
| `DATE_TIME_YEAR` | Renders `2018-12-14T13:00:00` as `Dec 14, 2018, 1:00 PM` in `en_US`. |
| `dateTimeYear` | Legacy alias for `DATE_TIME_YEAR`. Deprecated. > [!WARNING] > This item is deprecated! |
| `DATE_YEAR` | Renders `2018-12-14T13:00:00` as `Dec 14, 2018` in `en_US`. |
| `dateYear` | Legacy alias for `DATE_YEAR`. Deprecated. > [!WARNING] > This item is deprecated! |
| `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 (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#CardRowTemplateInfo`) } ] } ``` |

| Fields ||
|---|---|
| `cardRowTemplateInfos[]` | ``object (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#CardRowTemplateInfo`)`` Template information for rows in the card view. At most three rows are allowed to be specified. |

## CardRowTemplateInfo

| JSON representation |
|---|
| ``` { "oneItem": { object (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#CardRowOneItem`) }, "twoItems": { object (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#CardRowTwoItems`) }, "threeItems": { object (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#CardRowThreeItems`) } } ``` |

| Fields ||
|---|---|
| `oneItem` | ``object (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#CardRowOneItem`)`` Template for a row containing one item. Exactly one of "oneItem", "twoItems", "threeItems" must be set. |
| `twoItems` | ``object (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#CardRowTwoItems`)`` Template for a row containing two items. Exactly one of "oneItem", "twoItems", "threeItems" must be set. |
| `threeItems` | ``object (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#CardRowThreeItems`)`` Template for a row containing three items. Exactly one of "oneItem", "twoItems", "threeItems" must be set. |

## CardRowOneItem

| JSON representation |
|---|
| ``` { "item": { object (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#TemplateItem`) } } ``` |

| Fields ||
|---|---|
| `item` | ``object (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#TemplateItem`)`` The item to be displayed in the row. This item will be automatically centered. |

## TemplateItem

| JSON representation |
|---|
| ``` { "firstValue": { object (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#FieldSelector`) }, "secondValue": { object (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#FieldSelector`) }, "predefinedItem": enum (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#PredefinedItem`) } ``` |

| Fields ||
|---|---|
| `firstValue` | ``object (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#FieldSelector`)`` A reference to a field to display. If both `firstValue` and `secondValue` are populated, they will both appear as one item with a slash between them. For example, values A and B would be shown as "A / B". |
| `secondValue` | ``object (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#FieldSelector`)`` A reference to a field to display. This may only be populated if the `firstValue` field is populated. |
| `predefinedItem` | ``enum (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#PredefinedItem`)`` A predefined item to display. Only one of `firstValue` or `predefinedItem` may be set. |

## PredefinedItem

| Enums ||
|---|---|
| `PREDEFINED_ITEM_UNSPECIFIED` |   |
| `FREQUENT_FLYER_PROGRAM_NAME_AND_NUMBER` |   |
| `frequentFlyerProgramNameAndNumber` | Legacy alias for `FREQUENT_FLYER_PROGRAM_NAME_AND_NUMBER`. Deprecated. > [!WARNING] > This item is deprecated! |
| `FLIGHT_NUMBER_AND_OPERATING_FLIGHT_NUMBER` |   |
| `flightNumberAndOperatingFlightNumber` | Legacy alias for `FLIGHT_NUMBER_AND_OPERATING_FLIGHT_NUMBER`. Deprecated. > [!WARNING] > This item is deprecated! |

## CardRowTwoItems

| JSON representation |
|---|
| ``` { "startItem": { object (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#TemplateItem`) }, "endItem": { object (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#TemplateItem`) } } ``` |

| Fields ||
|---|---|
| `startItem` | ``object (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#TemplateItem`)`` The item to be displayed at the start of the row. This item will be aligned to the left. |
| `endItem` | ``object (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#TemplateItem`)`` The item to be displayed at the end of the row. This item will be aligned to the right. |

## CardRowThreeItems

| JSON representation |
|---|
| ``` { "startItem": { object (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#TemplateItem`) }, "middleItem": { object (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#TemplateItem`) }, "endItem": { object (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#TemplateItem`) } } ``` |

| Fields ||
|---|---|
| `startItem` | ``object (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#TemplateItem`)`` The item to be displayed at the start of the row. This item will be aligned to the left. |
| `middleItem` | ``object (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#TemplateItem`)`` The item to be displayed in the middle of the row. This item will be centered between the start and end items. |
| `endItem` | ``object (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#TemplateItem`)`` The item to be displayed at the end of the row. This item will be aligned to the right. |

## DetailsTemplateOverride

| JSON representation |
|---|
| ``` { "detailsItemInfos": [ { object (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#DetailsItemInfo`) } ] } ``` |

| Fields ||
|---|---|
| `detailsItemInfos[]` | ``object (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#DetailsItemInfo`)`` Information for the "nth" item displayed in the details list. |

## DetailsItemInfo

| JSON representation |
|---|
| ``` { "item": { object (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#TemplateItem`) } } ``` |

| Fields ||
|---|---|
| `item` | ``object (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#TemplateItem`)`` The item to be displayed in the details list. |

## ListTemplateOverride

| JSON representation |
|---|
| ``` { "firstRowOption": { object (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#FirstRowOption`) }, "secondRowOption": { object (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#FieldSelector`) }, "thirdRowOption": { object (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#FieldSelector`) } } ``` |

| Fields ||
|---|---|
| `firstRowOption` | ``object (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#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` | ``object (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#FieldSelector`)`` 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 (deprecated)` | ``object (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#FieldSelector`)`` > [!WARNING] > This item is deprecated! An unused/deprecated field. Setting it will have no effect on what the user sees. |

## FirstRowOption

| JSON representation |
|---|
| ``` { "transitOption": enum (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#TransitOption`), "fieldOption": { object (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#FieldSelector`) } } ``` |

| Fields ||
|---|---|
| `transitOption` | ``enum (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#TransitOption`)`` |
| `fieldOption` | ``object (`https://developers.google.com/wallet/reference/rest/v1/ClassTemplateInfo#FieldSelector`)`` 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_NAMES`. Deprecated. > [!WARNING] > This item is deprecated! |
| `ORIGIN_AND_DESTINATION_CODES` |   |
| `originAndDestinationCodes` | Legacy alias for `ORIGIN_AND_DESTINATION_CODES`. Deprecated. > [!WARNING] > This item is deprecated! |
| `ORIGIN_NAME` |   |
| `originName` | Legacy alias for `ORIGIN_NAME`. Deprecated. > [!WARNING] > This item is deprecated! |