edutap.wallet_google.models.retail.GiftCardObject#

pydantic model edutap.wallet_google.models.retail.GiftCardObject#

see: https://developers.google.com/wallet/retail/gift-cards/rest/v1/giftcardobject

Show JSON schema
{
   "title": "GiftCardObject",
   "description": "see: https://developers.google.com/wallet/retail/gift-cards/rest/v1/giftcardobject",
   "type": "object",
   "properties": {
      "id": {
         "title": "Id",
         "type": "string"
      },
      "classId": {
         "title": "Classid",
         "type": "string"
      },
      "classReference": {
         "anyOf": [
            {
               "$ref": "#/$defs/GiftCardClass"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "cardNumber": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Cardnumber"
      },
      "pin": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Pin"
      },
      "balance": {
         "anyOf": [
            {
               "$ref": "#/$defs/Money"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "balanceUpdateTime": {
         "anyOf": [
            {
               "$ref": "#/$defs/DateTime"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "eventNumber": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Eventnumber"
      },
      "version": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Version"
      },
      "state": {
         "allOf": [
            {
               "$ref": "#/$defs/State"
            }
         ],
         "default": "STATE_UNSPECIFIED"
      },
      "barcode": {
         "anyOf": [
            {
               "$ref": "#/$defs/Barcode"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "messages": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/Message"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Messages"
      },
      "validTimeInterval": {
         "anyOf": [
            {
               "$ref": "#/$defs/TimeInterval"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "locations": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/LatLongPoint"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Locations"
      },
      "hasUsers": {
         "default": false,
         "title": "Hasusers",
         "type": "boolean"
      },
      "smartTapRedemptionValue": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Smarttapredemptionvalue"
      },
      "hasLinkedDevice": {
         "title": "Haslinkeddevice",
         "type": "boolean"
      },
      "disableExpirationNotification": {
         "title": "Disableexpirationnotification",
         "type": "boolean"
      },
      "infoModuleData": {
         "anyOf": [
            {
               "$ref": "#/$defs/InfoModuleData"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "imageModulesData": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/ImageModuleData"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Imagemodulesdata"
      },
      "textModulesData": {
         "anyOf": [
            {
               "items": {
                  "$ref": "#/$defs/TextModuleData"
               },
               "type": "array"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Textmodulesdata"
      },
      "linksModuleData": {
         "anyOf": [
            {
               "$ref": "#/$defs/LinksModuleData"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "appLinkData": {
         "anyOf": [
            {
               "$ref": "#/$defs/AppLinkData"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "rotatingBarcode": {
         "anyOf": [
            {
               "$ref": "#/$defs/RotatingBarcode"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "heroImage": {
         "anyOf": [
            {
               "$ref": "#/$defs/Image"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "groupingInfo": {
         "anyOf": [
            {
               "$ref": "#/$defs/GroupingInfo"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      },
      "passConstraints": {
         "anyOf": [
            {
               "$ref": "#/$defs/PassConstraints"
            },
            {
               "type": "null"
            }
         ],
         "default": null
      }
   },
   "$defs": {
      "AnimationType": {
         "description": "see: https://developers.google.com/wallet/generic/rest/v1/SecurityAnimation#animationtype",
         "enum": [
            "ANIMATION_UNSPECIFIED",
            "FOIL_SHIMMER"
         ],
         "title": "AnimationType",
         "type": "string"
      },
      "AppLinkData": {
         "description": "see: https://developers.google.com/wallet/generic/rest/v1/AppLinkData",
         "properties": {
            "androidAppLinkInfo": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/AppLinkInfo"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "iosAppLinkInfo": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/AppLinkInfo"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "webAppLinkInfo": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/AppLinkInfo"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "AppLinkData",
         "type": "object"
      },
      "AppLinkInfo": {
         "description": "see: https://developers.google.com/wallet/generic/rest/v1/AppLinkData#applinkinfo",
         "properties": {
            "appLogoImage": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Image"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "title": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LocalizedString"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "description": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LocalizedString"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "appTarget": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/AppTarget"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "AppLinkInfo",
         "type": "object"
      },
      "AppTarget": {
         "description": "see: https://developers.google.com/wallet/generic/rest/v1/AppLinkData#apptargets",
         "properties": {
            "targetUri": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Uri"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "AppTarget",
         "type": "object"
      },
      "Barcode": {
         "description": "see: https://developers.google.com/wallet/generic/rest/v1/Barcode",
         "properties": {
            "type": {
               "allOf": [
                  {
                     "$ref": "#/$defs/BarcodeType"
                  }
               ],
               "default": "BARCODE_TYPE_UNSPECIFIED"
            },
            "renderEncoding": {
               "allOf": [
                  {
                     "$ref": "#/$defs/BarcodeRenderEncoding"
                  }
               ],
               "default": "RENDER_ENCODING_UNSPECIFIED"
            },
            "value": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Value"
            },
            "alternateText": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Alternatetext"
            },
            "showCodeText": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LocalizedString"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "Barcode",
         "type": "object"
      },
      "BarcodeRenderEncoding": {
         "description": "see: https://developers.google.com/wallet/generic/rest/v1/BarcodeRenderEncoding",
         "enum": [
            "RENDER_ENCODING_UNSPECIFIED",
            "UTF_8"
         ],
         "title": "BarcodeRenderEncoding",
         "type": "string"
      },
      "BarcodeSectionDetail": {
         "description": "see: https://developers.google.com/wallet/generic/rest/v1/ClassTemplateInfo#barcodesectiondetail",
         "properties": {
            "fieldSelector": {
               "$ref": "#/$defs/FieldSelector"
            }
         },
         "required": [
            "fieldSelector"
         ],
         "title": "BarcodeSectionDetail",
         "type": "object"
      },
      "BarcodeType": {
         "description": "see: https://developers.google.com/wallet/generic/rest/v1/BarcodeType",
         "enum": [
            "BARCODE_TYPE_UNSPECIFIED",
            "AZTEC",
            "CODE_39",
            "CODE_128",
            "CODABAR",
            "DATA_MATRIX",
            "EAN_8",
            "EAN_13",
            "ITF_14",
            "PDF_417",
            "QR_CODE",
            "UPC_A",
            "TEXT_ONLY"
         ],
         "title": "BarcodeType",
         "type": "string"
      },
      "CallbackOptions": {
         "description": "see: https://developers.google.com/wallet/generic/rest/v1/CallbackOptions",
         "properties": {
            "url": {
               "anyOf": [
                  {
                     "format": "uri",
                     "maxLength": 2083,
                     "minLength": 1,
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Url"
            }
         },
         "title": "CallbackOptions",
         "type": "object"
      },
      "CardBarcodeSectionDetails": {
         "description": "see: https://developers.google.com/wallet/generic/rest/v1/ClassTemplateInfo#cardbarcodesectiondetails",
         "properties": {
            "firstTopDetail": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/BarcodeSectionDetail"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "firstBottomDetail": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/BarcodeSectionDetail"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "secondTopDetail": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/BarcodeSectionDetail"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "CardBarcodeSectionDetails",
         "type": "object"
      },
      "CardRowOneItem": {
         "description": "see: https://developers.google.com/wallet/generic/rest/v1/ClassTemplateInfo#cardrowoneitem",
         "properties": {
            "item": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TemplateItem"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "CardRowOneItem",
         "type": "object"
      },
      "CardRowTemplateInfo": {
         "description": "see: https://developers.google.com/wallet/generic/rest/v1/ClassTemplateInfo#cardrowtemplateinfo",
         "properties": {
            "oneItem": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/CardRowOneItem"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "twoItems": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/CardRowTwoItems"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "threeItems": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/CardRowThreeItems"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "CardRowTemplateInfo",
         "type": "object"
      },
      "CardRowThreeItems": {
         "description": "see: https://developers.google.com/wallet/generic/rest/v1/ClassTemplateInfo#cardrowthreeitems",
         "properties": {
            "startItem": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TemplateItem"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "middleItem": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TemplateItem"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "endItem": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TemplateItem"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "CardRowThreeItems",
         "type": "object"
      },
      "CardRowTwoItems": {
         "description": "see: https://developers.google.com/wallet/generic/rest/v1/ClassTemplateInfo#cardrowtwoitems",
         "properties": {
            "startItem": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TemplateItem"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "endItem": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TemplateItem"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "CardRowTwoItems",
         "type": "object"
      },
      "CardTemplateOverride": {
         "description": "see: https://developers.google.com/wallet/generic/rest/v1/ClassTemplateInfo#cardtemplateoverride",
         "properties": {
            "cardRowTemplateInfos": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/CardRowTemplateInfo"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Cardrowtemplateinfos"
            }
         },
         "title": "CardTemplateOverride",
         "type": "object"
      },
      "ClassTemplateInfo": {
         "description": "see: https://developers.google.com/wallet/generic/rest/v1/ClassTemplateInfo",
         "properties": {
            "cardBarcodeSectionDetails": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/CardBarcodeSectionDetails"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "cardTemplateOverride": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/CardTemplateOverride"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "detailsTemplateOverride": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/DetailsTemplateOverride"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "listTemplateOverride": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ListTemplateOverride"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "ClassTemplateInfo",
         "type": "object"
      },
      "DateFormat": {
         "enum": [
            "DATE_FORMAT_UNSPECIFIED",
            "DATE_TIME",
            "DATE_ONLY",
            "TIME_ONLY",
            "DATE_TIME_YEAR",
            "DATE_YEAR"
         ],
         "title": "DateFormat",
         "type": "string"
      },
      "DateTime": {
         "description": "see: https://developers.google.com/wallet/tickets/events/rest/v1/DateTime",
         "properties": {
            "date": {
               "format": "date-time",
               "title": "Date",
               "type": "string"
            }
         },
         "required": [
            "date"
         ],
         "title": "DateTime",
         "type": "object"
      },
      "DetailsItemInfo": {
         "description": "see: https://developers.google.com/wallet/generic/rest/v1/ClassTemplateInfo#detailsiteminfo",
         "properties": {
            "item": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TemplateItem"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "DetailsItemInfo",
         "type": "object"
      },
      "DetailsTemplateOverride": {
         "description": "see: https://developers.google.com/wallet/generic/rest/v1/ClassTemplateInfo#detailstemplateoverride",
         "properties": {
            "detailsItemInfos": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/DetailsItemInfo"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Detailsiteminfos"
            }
         },
         "title": "DetailsTemplateOverride",
         "type": "object"
      },
      "FieldReference": {
         "description": "see: https://developers.google.com/wallet/generic/rest/v1/ClassTemplateInfo#fieldreference",
         "properties": {
            "fieldPath": {
               "title": "Fieldpath",
               "type": "string"
            },
            "dateFormat": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/DateFormat"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "required": [
            "fieldPath"
         ],
         "title": "FieldReference",
         "type": "object"
      },
      "FieldSelector": {
         "description": "see: https://developers.google.com/wallet/generic/rest/v1/ClassTemplateInfo#fieldselector",
         "properties": {
            "fields": {
               "items": {
                  "$ref": "#/$defs/FieldReference"
               },
               "title": "Fields",
               "type": "array"
            }
         },
         "required": [
            "fields"
         ],
         "title": "FieldSelector",
         "type": "object"
      },
      "FirstRowOption": {
         "description": "see: https://developers.google.com/wallet/generic/rest/v1/ClassTemplateInfo#firstrowoption",
         "properties": {
            "transitOption": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TransitOption"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "fieldOption": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/FieldSelector"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "FirstRowOption",
         "type": "object"
      },
      "GiftCardClass": {
         "description": "see: https://developers.google.com/wallet/retail/gift-cards/rest/v1/giftcardclass",
         "properties": {
            "id": {
               "title": "Id",
               "type": "string"
            },
            "merchantName": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Merchantname"
            },
            "programLogo": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Image"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "pinLabel": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Pinlabel"
            },
            "eventNumberLabel": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Eventnumberlabel"
            },
            "allowBarcodeRedemption": {
               "default": false,
               "title": "Allowbarcoderedemption",
               "type": "boolean"
            },
            "localizedMerchantName": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LocalizedString"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "localizedPinLabel": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LocalizedString"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "localizedEventNumberLabel": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LocalizedString"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "cardNumberLabel": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Cardnumberlabel"
            },
            "localizedCardNumberLabel": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LocalizedString"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "classTemplateInfo": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/ClassTemplateInfo"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "version": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "deprecated",
               "title": "Version"
            },
            "issuerName": {
               "title": "Issuername",
               "type": "string"
            },
            "messages": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/Message"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Messages"
            },
            "allowMultipleUsersPerObject": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "deprecated",
               "title": "Allowmultipleusersperobject"
            },
            "homepageUri": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Uri"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "locations": {
               "items": {
                  "$ref": "#/$defs/LatLongPoint"
               },
               "title": "Locations",
               "type": "array"
            },
            "reviewStatus": {
               "allOf": [
                  {
                     "$ref": "#/$defs/ReviewStatus"
                  }
               ],
               "default": "REVIEW_STATUS_UNSPECIFIED"
            },
            "review": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Review"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "infoModuleData": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/InfoModuleData"
                  },
                  {
                     "type": "null"
                  }
               ],
               "description": "deprecated"
            },
            "imageModulesData": {
               "items": {
                  "$ref": "#/$defs/ImageModuleData"
               },
               "title": "Imagemodulesdata",
               "type": "array"
            },
            "textModulesData": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/TextModuleData"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Textmodulesdata"
            },
            "linksModuleData": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LinksModuleData"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "redemptionIssuers": {
               "anyOf": [
                  {
                     "items": {
                        "type": "string"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Redemptionissuers"
            },
            "countryCode": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Countrycode"
            },
            "heroImage": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Image"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "wordMark": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Image"
                  },
                  {
                     "type": "null"
                  }
               ],
               "description": "deprecated"
            },
            "enableSmartTap": {
               "anyOf": [
                  {
                     "type": "boolean"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Enablesmarttap"
            },
            "hexBackgroundColor": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Hexbackgroundcolor"
            },
            "localizedIssuerName": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LocalizedString"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "multipleDevicesAndHoldersAllowedStatus": {
               "allOf": [
                  {
                     "$ref": "#/$defs/MultipleDevicesAndHoldersAllowedStatus"
                  }
               ],
               "default": "STATUS_UNSPECIFIED"
            },
            "callbackOptions": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/CallbackOptions"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "securityAnimation": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/SecurityAnimation"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "viewUnlockRequirement": {
               "allOf": [
                  {
                     "$ref": "#/$defs/ViewUnlockRequirement"
                  }
               ],
               "default": "VIEW_UNLOCK_REQUIREMENT_UNSPECIFIED"
            }
         },
         "required": [
            "id",
            "issuerName",
            "locations",
            "infoModuleData",
            "imageModulesData",
            "wordMark"
         ],
         "title": "GiftCardClass",
         "type": "object"
      },
      "GroupingInfo": {
         "description": "see: https://developers.google.com/wallet/generic/rest/v1/GroupingInfo",
         "properties": {
            "sortIndex": {
               "anyOf": [
                  {
                     "type": "integer"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Sortindex"
            },
            "groupingId": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Groupingid"
            }
         },
         "title": "GroupingInfo",
         "type": "object"
      },
      "Image": {
         "description": "see: https://developers.google.com/wallet/generic/rest/v1/Image",
         "properties": {
            "sourceUri": {
               "$ref": "#/$defs/ImageUri"
            },
            "contentDescription": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LocalizedString"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "required": [
            "sourceUri"
         ],
         "title": "Image",
         "type": "object"
      },
      "ImageModuleData": {
         "description": "see: https://developers.google.com/wallet/generic/rest/v1/ImageModuleData",
         "properties": {
            "mainImage": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/Image"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "id": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Id"
            }
         },
         "title": "ImageModuleData",
         "type": "object"
      },
      "ImageUri": {
         "description": "see: https://developers.google.com/wallet/generic/rest/v1/Image#imageuri",
         "properties": {
            "uri": {
               "format": "uri",
               "minLength": 1,
               "title": "Uri",
               "type": "string"
            },
            "description": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Description"
            },
            "localizedDescription": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LocalizedString"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "required": [
            "uri"
         ],
         "title": "ImageUri",
         "type": "object"
      },
      "InfoModuleData": {
         "description": "see: https://developers.google.com/wallet/retail/loyalty-cards/rest/v1/InfoModuleData",
         "properties": {
            "labelValueRows": {
               "items": {
                  "$ref": "#/$defs/LabelValueRow"
               },
               "title": "Labelvaluerows",
               "type": "array"
            },
            "showLastUpdatedTime": {
               "default": false,
               "description": "deprecated",
               "title": "Showlastupdatedtime",
               "type": "boolean"
            }
         },
         "required": [
            "labelValueRows"
         ],
         "title": "InfoModuleData",
         "type": "object"
      },
      "LabelValue": {
         "description": "see: https://developers.google.com/wallet/retail/loyalty-cards/rest/v1/InfoModuleData#labelvalue",
         "properties": {
            "label": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Label"
            },
            "value": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Value"
            },
            "localizedLabel": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LocalizedString"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "localizedValue": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LocalizedString"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "LabelValue",
         "type": "object"
      },
      "LabelValueRow": {
         "description": "see: https://developers.google.com/wallet/retail/loyalty-cards/rest/v1/InfoModuleData#labelvaluerow",
         "properties": {
            "columns": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/LabelValue"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Columns"
            }
         },
         "title": "LabelValueRow",
         "type": "object"
      },
      "LatLongPoint": {
         "description": "see: https://developers.google.com/wallet/retail/loyalty-cards/rest/v1/LatLongPoint",
         "properties": {
            "latitude": {
               "maximum": 90.0,
               "minimum": -90.0,
               "title": "Latitude",
               "type": "number"
            },
            "longitude": {
               "maximum": 180.0,
               "minimum": -180.0,
               "title": "Longitude",
               "type": "number"
            }
         },
         "required": [
            "latitude",
            "longitude"
         ],
         "title": "LatLongPoint",
         "type": "object"
      },
      "LinksModuleData": {
         "description": "see: https://developers.google.com/wallet/generic/rest/v1/LinksModuleData",
         "properties": {
            "uris": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/Uri"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Uris"
            }
         },
         "title": "LinksModuleData",
         "type": "object"
      },
      "ListTemplateOverride": {
         "description": "see: https://developers.google.com/wallet/generic/rest/v1/ClassTemplateInfo#listtemplateoverride",
         "properties": {
            "firstRowOption": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/FirstRowOption"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "secondRowOption": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/FieldSelector"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "thirdRowOption": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/FieldSelector"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "deprecated"
            }
         },
         "title": "ListTemplateOverride",
         "type": "object"
      },
      "LocalizedString": {
         "description": "see: https://developers.google.com/wallet/generic/rest/v1/LocalizedString",
         "properties": {
            "defaultValue": {
               "$ref": "#/$defs/TranslatedString"
            },
            "translatedValues": {
               "default": [],
               "items": {
                  "$ref": "#/$defs/TranslatedString"
               },
               "title": "Translatedvalues",
               "type": "array"
            }
         },
         "required": [
            "defaultValue"
         ],
         "title": "LocalizedString",
         "type": "object"
      },
      "Message": {
         "description": "see: https://developers.google.com/wallet/tickets/events/rest/v1/Message",
         "properties": {
            "header": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Header"
            },
            "body": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Body"
            },
            "displayInterval": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TimeInterval"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "id": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Id"
            },
            "messageType": {
               "allOf": [
                  {
                     "$ref": "#/$defs/MessageType"
                  }
               ],
               "default": "MESSAGE_TYPE_UNSPECIFIED"
            },
            "localizedHeader": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LocalizedString"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "localizedBody": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LocalizedString"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "Message",
         "type": "object"
      },
      "MessageType": {
         "description": "see: https://developers.google.com/wallet/tickets/events/rest/v1/Message#messagetype",
         "enum": [
            "MESSAGE_TYPE_UNSPECIFIED",
            "TEXT",
            "EXPIRATION_NOTIFICATION"
         ],
         "title": "MessageType",
         "type": "string"
      },
      "Money": {
         "description": "see: https://developers.google.com/wallet/tickets/events/rest/v1/Money",
         "properties": {
            "micros": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Micros"
            },
            "currencyCode": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Currencycode"
            }
         },
         "title": "Money",
         "type": "object"
      },
      "MultipleDevicesAndHoldersAllowedStatus": {
         "description": "see: https://developers.google.com/wallet/generic/rest/v1/MultipleDevicesAndHoldersAllowedStatus",
         "enum": [
            "STATUS_UNSPECIFIED",
            "MULTIPLE_HOLDERS",
            "ONE_USER_ALL_DEVICES",
            "ONE_USER_ONE_DEVICE"
         ],
         "title": "MultipleDevicesAndHoldersAllowedStatus",
         "type": "string"
      },
      "NfcConstraint": {
         "description": "see:",
         "enum": [
            "NFC_CONSTRAINT_UNSPECIFIED",
            "BLOCK_PAYMENT",
            "BLOCK_CLOSED_LOOP_TRANSIT"
         ],
         "title": "NfcConstraint",
         "type": "string"
      },
      "PassConstraints": {
         "description": "see https://developers.google.com/wallet/generic/rest/v1/PassConstraints",
         "properties": {
            "screenshotEligibility": {
               "allOf": [
                  {
                     "$ref": "#/$defs/ScreenshotEligibility"
                  }
               ],
               "default": "SCREENSHOT_ELIGIBILITY_UNSPECIFIED"
            },
            "nfcConstraint": {
               "anyOf": [
                  {
                     "items": {
                        "$ref": "#/$defs/NfcConstraint"
                     },
                     "type": "array"
                  },
                  {
                     "type": "null"
                  }
               ],
               "title": "Nfcconstraint"
            }
         },
         "title": "PassConstraints",
         "type": "object"
      },
      "PredefinedItem": {
         "description": "see: https://developers.google.com/wallet/retail/offers/rest/v1/ClassTemplateInfo#predefineditem",
         "enum": [
            "PREDEFINED_ITEM_UNSPECIFIED",
            "FREQUENT_FLYER_PROGRAM_NAME_AND_NUMBER",
            "FLIGHT_NUMBER_AND_OPERATING_FLIGHT_NUMBER"
         ],
         "title": "PredefinedItem",
         "type": "string"
      },
      "Review": {
         "description": "see: https://developers.google.com/wallet/retail/loyalty-cards/rest/v1/Review",
         "properties": {
            "comments": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Comments"
            }
         },
         "title": "Review",
         "type": "object"
      },
      "ReviewStatus": {
         "description": "see: https://developers.google.com/wallet/retail/loyalty-cards/rest/v1/ReviewStatus",
         "enum": [
            "REVIEW_STATUS_UNSPECIFIED",
            "UNDER_REVIEW",
            "APPROVED",
            "REJECTED",
            "DRAFT"
         ],
         "title": "ReviewStatus",
         "type": "string"
      },
      "RotatingBarcode": {
         "description": "see: https://developers.google.com/wallet/generic/rest/v1/RotatingBarcode",
         "properties": {
            "type": {
               "allOf": [
                  {
                     "$ref": "#/$defs/BarcodeType"
                  }
               ],
               "default": "BARCODE_TYPE_UNSPECIFIED"
            },
            "renderEncoding": {
               "allOf": [
                  {
                     "$ref": "#/$defs/BarcodeRenderEncoding"
                  }
               ],
               "default": "RENDER_ENCODING_UNSPECIFIED"
            },
            "valuePattern": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Valuepattern"
            },
            "totpDetails": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/TotpDetails"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "alternateText": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Alternatetext"
            },
            "showCodeText": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LocalizedString"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "RotatingBarcode",
         "type": "object"
      },
      "ScreenshotEligibility": {
         "description": "see: https://developers.google.com/wallet/generic/rest/v1/PassConstraints#screenshoteligibility",
         "enum": [
            "SCREENSHOT_ELIGIBILITY_UNSPECIFIED",
            "ELIGIBLE",
            "INELIGIBLE"
         ],
         "title": "ScreenshotEligibility",
         "type": "string"
      },
      "SecurityAnimation": {
         "description": "see: https://developers.google.com/wallet/generic/rest/v1/SecurityAnimation",
         "properties": {
            "animationType": {
               "allOf": [
                  {
                     "$ref": "#/$defs/AnimationType"
                  }
               ],
               "default": "ANIMATION_UNSPECIFIED"
            }
         },
         "title": "SecurityAnimation",
         "type": "object"
      },
      "State": {
         "description": "see: https://developers.google.com/wallet/generic/rest/v1/State\n     https://developers.google.com/wallet/retail/loyalty-cards/rest/v1/State",
         "enum": [
            "STATE_UNSPECIFIED",
            "ACTIVE",
            "COMPLETED",
            "EXPIRED",
            "INACTIVE"
         ],
         "title": "State",
         "type": "string"
      },
      "TemplateItem": {
         "description": "see: https://developers.google.com/wallet/generic/rest/v1/ClassTemplateInfo#templateitem",
         "properties": {
            "firstValue": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/FieldSelector"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "secondValue": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/FieldSelector"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "predefinedItem": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/PredefinedItem"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            }
         },
         "title": "TemplateItem",
         "type": "object"
      },
      "TextModuleData": {
         "description": "see: https://developers.google.com/wallet/generic/rest/v1/TextModuleData",
         "properties": {
            "header": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Header"
            },
            "body": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Body"
            },
            "localizedHeader": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LocalizedString"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "localizedBody": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LocalizedString"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "id": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Id"
            }
         },
         "title": "TextModuleData",
         "type": "object"
      },
      "TimeInterval": {
         "description": "see: https://developers.google.com/wallet/tickets/events/rest/v1/TimeInterval",
         "properties": {
            "start": {
               "$ref": "#/$defs/DateTime"
            },
            "end": {
               "$ref": "#/$defs/DateTime"
            }
         },
         "required": [
            "start",
            "end"
         ],
         "title": "TimeInterval",
         "type": "object"
      },
      "TotpAlgorithm": {
         "description": "see: https://developers.google.com/wallet/generic/rest/v1/RotatingBarcode#totpalgorithm",
         "enum": [
            "TOTP_ALGORITHM_UNSPECIFIED",
            "TOTP_SHA1"
         ],
         "title": "TotpAlgorithm",
         "type": "string"
      },
      "TotpDetails": {
         "description": "see: https://developers.google.com/wallet/generic/rest/v1/RotatingBarcode#totpdetails",
         "properties": {
            "periodMillis": {
               "title": "Periodmillis",
               "type": "string"
            },
            "algorithm": {
               "allOf": [
                  {
                     "$ref": "#/$defs/TotpAlgorithm"
                  }
               ],
               "default": "TOTP_ALGORITHM_UNSPECIFIED"
            },
            "parameters": {
               "items": {
                  "$ref": "#/$defs/TotpParameters"
               },
               "title": "Parameters",
               "type": "array"
            }
         },
         "required": [
            "periodMillis",
            "parameters"
         ],
         "title": "TotpDetails",
         "type": "object"
      },
      "TotpParameters": {
         "description": "see: https://developers.google.com/wallet/generic/rest/v1/RotatingBarcode#totpparameters",
         "properties": {
            "key": {
               "title": "Key",
               "type": "string"
            },
            "valueLength": {
               "title": "Valuelength",
               "type": "integer"
            }
         },
         "required": [
            "key",
            "valueLength"
         ],
         "title": "TotpParameters",
         "type": "object"
      },
      "TransitOption": {
         "description": "see: https://developers.google.com/wallet/generic/rest/v1/ClassTemplateInfo#transitoption",
         "enum": [
            "TRANSIT_OPTION_UNSPECIFIED",
            "ORIGIN_AND_DESTINATION_NAMES",
            "ORIGIN_AND_DESTINATION_CODES",
            "ORIGIN_NAME"
         ],
         "title": "TransitOption",
         "type": "string"
      },
      "TranslatedString": {
         "description": "see: https://developers.google.com/wallet/generic/rest/v1/LocalizedString#translatedstring",
         "properties": {
            "language": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Language"
            },
            "value": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Value"
            }
         },
         "title": "TranslatedString",
         "type": "object"
      },
      "Uri": {
         "description": "see: https://developers.google.com/wallet/generic/rest/v1/Uri",
         "properties": {
            "uri": {
               "anyOf": [
                  {
                     "format": "uri",
                     "minLength": 1,
                     "type": "string"
                  },
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Uri"
            },
            "description": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Description"
            },
            "localizedDescription": {
               "anyOf": [
                  {
                     "$ref": "#/$defs/LocalizedString"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null
            },
            "id": {
               "anyOf": [
                  {
                     "type": "string"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "title": "Id"
            }
         },
         "title": "Uri",
         "type": "object"
      },
      "ViewUnlockRequirement": {
         "description": "see: https://developers.google.com/wallet/generic/rest/v1/ViewUnlockRequirement",
         "enum": [
            "VIEW_UNLOCK_REQUIREMENT_UNSPECIFIED",
            "UNLOCK_NOT_REQUIRED",
            "UNLOCK_REQUIRED_TO_VIEW"
         ],
         "title": "ViewUnlockRequirement",
         "type": "string"
      }
   },
   "required": [
      "id",
      "classId",
      "hasLinkedDevice",
      "disableExpirationNotification"
   ]
}

Fields:
field appLinkData: AppLinkData | None = None#
field balance: Money | None = None#
field balanceUpdateTime: DateTime | None = None#
field barcode: Barcode | None = None#
field cardNumber: str | None = None#
field classReference: GiftCardClass | None = None#
field disableExpirationNotification: bool [Required]#
field eventNumber: str | None = None#
field groupingInfo: GroupingInfo | None = None#
field hasLinkedDevice: bool [Required]#
field hasUsers: bool = False#
field heroImage: Image | None = None#
field imageModulesData: list[ImageModuleData] | None = None#
field infoModuleData: InfoModuleData | None = None#
field linksModuleData: LinksModuleData | None = None#
field locations: list[LatLongPoint] | None = None#
field messages: list[Message] | None = None#
field passConstraints: PassConstraints | None = None#
field pin: str | None = None#
field rotatingBarcode: RotatingBarcode | None = None#
field smartTapRedemptionValue: str | None = None#
field state: State = State.STATE_UNSPECIFIED#
field textModulesData: list[TextModuleData] | None = None#
field validTimeInterval: TimeInterval | None = None#
field version: str | None = None#