{
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/wallet_object.issuer": {
          "description": "Private Service: https://www.googleapis.com/auth/wallet_object.issuer"
        }
      }
    }
  },
  "basePath": "",
  "baseUrl": "https://walletobjects.googleapis.com/",
  "batchPath": "batch",
  "canonicalName": "Walletobjects",
  "description": "API for issuers to save and manage Google Wallet Objects.",
  "discoveryVersion": "v1",
  "documentationLink": "https://developers.google.com/pay/passes",
  "fullyEncodeReservedExpansion": true,
  "icons": {
    "x16": "http://www.google.com/images/icons/product/search-16.gif",
    "x32": "http://www.google.com/images/icons/product/search-32.gif"
  },
  "id": "walletobjects:v1",
  "kind": "discovery#restDescription",
  "mtlsRootUrl": "https://walletobjects.mtls.googleapis.com/",
  "name": "walletobjects",
  "ownerDomain": "google.com",
  "ownerName": "Google",
  "parameters": {
    "$.xgafv": {
      "description": "V1 error format.",
      "enum": [
        "1",
        "2"
      ],
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ],
      "location": "query",
      "type": "string"
    },
    "access_token": {
      "description": "OAuth access token.",
      "location": "query",
      "type": "string"
    },
    "alt": {
      "default": "json",
      "description": "Data format for response.",
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "location": "query",
      "type": "string"
    },
    "callback": {
      "description": "JSONP",
      "location": "query",
      "type": "string"
    },
    "fields": {
      "description": "Selector specifying which fields to include in a partial response.",
      "location": "query",
      "type": "string"
    },
    "key": {
      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
      "location": "query",
      "type": "string"
    },
    "oauth_token": {
      "description": "OAuth 2.0 token for the current user.",
      "location": "query",
      "type": "string"
    },
    "prettyPrint": {
      "default": "true",
      "description": "Returns response with indentations and line breaks.",
      "location": "query",
      "type": "boolean"
    },
    "quotaUser": {
      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
      "location": "query",
      "type": "string"
    },
    "uploadType": {
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "location": "query",
      "type": "string"
    },
    "upload_protocol": {
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "location": "query",
      "type": "string"
    }
  },
  "protocol": "rest",
  "resources": {
    "eventticketclass": {
      "methods": {
        "addmessage": {
          "description": "Adds a message to the event ticket class referenced by the given class ID.",
          "flatPath": "walletobjects/v1/eventTicketClass/{resourceId}/addMessage",
          "httpMethod": "POST",
          "id": "walletobjects.eventticketclass.addmessage",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/eventTicketClass/{resourceId}/addMessage",
          "request": {
            "$ref": "AddMessageRequest"
          },
          "response": {
            "$ref": "EventTicketClassAddMessageResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "get": {
          "description": "Returns the event ticket class with the given class ID.",
          "flatPath": "walletobjects/v1/eventTicketClass/{resourceId}",
          "httpMethod": "GET",
          "id": "walletobjects.eventticketclass.get",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/eventTicketClass/{resourceId}",
          "response": {
            "$ref": "EventTicketClass"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "insert": {
          "description": "Inserts an event ticket class with the given ID and properties.",
          "flatPath": "walletobjects/v1/eventTicketClass",
          "httpMethod": "POST",
          "id": "walletobjects.eventticketclass.insert",
          "parameterOrder": [],
          "parameters": {},
          "path": "walletobjects/v1/eventTicketClass",
          "request": {
            "$ref": "EventTicketClass"
          },
          "response": {
            "$ref": "EventTicketClass"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "list": {
          "description": "Returns a list of all event ticket classes for a given issuer ID.",
          "flatPath": "walletobjects/v1/eventTicketClass",
          "httpMethod": "GET",
          "id": "walletobjects.eventticketclass.list",
          "parameterOrder": [],
          "parameters": {
            "issuerId": {
              "description": "The ID of the issuer authorized to list classes.",
              "format": "int64",
              "location": "query",
              "type": "string"
            },
            "maxResults": {
              "description": "Identifies the max number of results returned by a list. All results are returned if `maxResults` isn't defined.",
              "format": "int32",
              "location": "query",
              "type": "integer"
            },
            "token": {
              "description": "Used to get the next set of results if `maxResults` is specified, but more than `maxResults` classes are available in a list. For example, if you have a list of 200 classes and you call list with `maxResults` set to 20, list will return the first 20 classes and a token. Call list again with `maxResults` set to 20 and the token to get the next 20 classes.",
              "location": "query",
              "type": "string"
            }
          },
          "path": "walletobjects/v1/eventTicketClass",
          "response": {
            "$ref": "EventTicketClassListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "patch": {
          "description": "Updates the event ticket class referenced by the given class ID. This method supports patch semantics.",
          "flatPath": "walletobjects/v1/eventTicketClass/{resourceId}",
          "httpMethod": "PATCH",
          "id": "walletobjects.eventticketclass.patch",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/eventTicketClass/{resourceId}",
          "request": {
            "$ref": "EventTicketClass"
          },
          "response": {
            "$ref": "EventTicketClass"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "update": {
          "description": "Updates the event ticket class referenced by the given class ID.",
          "flatPath": "walletobjects/v1/eventTicketClass/{resourceId}",
          "httpMethod": "PUT",
          "id": "walletobjects.eventticketclass.update",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/eventTicketClass/{resourceId}",
          "request": {
            "$ref": "EventTicketClass"
          },
          "response": {
            "$ref": "EventTicketClass"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        }
      }
    },
    "eventticketobject": {
      "methods": {
        "addmessage": {
          "description": "Adds a message to the event ticket object referenced by the given object ID.",
          "flatPath": "walletobjects/v1/eventTicketObject/{resourceId}/addMessage",
          "httpMethod": "POST",
          "id": "walletobjects.eventticketobject.addmessage",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/eventTicketObject/{resourceId}/addMessage",
          "request": {
            "$ref": "AddMessageRequest"
          },
          "response": {
            "$ref": "EventTicketObjectAddMessageResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "get": {
          "description": "Returns the event ticket object with the given object ID.",
          "flatPath": "walletobjects/v1/eventTicketObject/{resourceId}",
          "httpMethod": "GET",
          "id": "walletobjects.eventticketobject.get",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/eventTicketObject/{resourceId}",
          "response": {
            "$ref": "EventTicketObject"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "insert": {
          "description": "Inserts an event ticket object with the given ID and properties.",
          "flatPath": "walletobjects/v1/eventTicketObject",
          "httpMethod": "POST",
          "id": "walletobjects.eventticketobject.insert",
          "parameterOrder": [],
          "parameters": {},
          "path": "walletobjects/v1/eventTicketObject",
          "request": {
            "$ref": "EventTicketObject"
          },
          "response": {
            "$ref": "EventTicketObject"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "list": {
          "description": "Returns a list of all event ticket objects for a given issuer ID.",
          "flatPath": "walletobjects/v1/eventTicketObject",
          "httpMethod": "GET",
          "id": "walletobjects.eventticketobject.list",
          "parameterOrder": [],
          "parameters": {
            "classId": {
              "description": "The ID of the class whose objects will be listed.",
              "location": "query",
              "type": "string"
            },
            "maxResults": {
              "description": "Identifies the max number of results returned by a list. All results are returned if `maxResults` isn't defined.",
              "format": "int32",
              "location": "query",
              "type": "integer"
            },
            "token": {
              "description": "Used to get the next set of results if `maxResults` is specified, but more than `maxResults` objects are available in a list. For example, if you have a list of 200 objects and you call list with `maxResults` set to 20, list will return the first 20 objects and a token. Call list again with `maxResults` set to 20 and the token to get the next 20 objects.",
              "location": "query",
              "type": "string"
            }
          },
          "path": "walletobjects/v1/eventTicketObject",
          "response": {
            "$ref": "EventTicketObjectListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "modifylinkedofferobjects": {
          "description": "Modifies linked offer objects for the event ticket object with the given ID.",
          "flatPath": "walletobjects/v1/eventTicketObject/{resourceId}/modifyLinkedOfferObjects",
          "httpMethod": "POST",
          "id": "walletobjects.eventticketobject.modifylinkedofferobjects",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/eventTicketObject/{resourceId}/modifyLinkedOfferObjects",
          "request": {
            "$ref": "ModifyLinkedOfferObjectsRequest"
          },
          "response": {
            "$ref": "EventTicketObject"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "patch": {
          "description": "Updates the event ticket object referenced by the given object ID. This method supports patch semantics.",
          "flatPath": "walletobjects/v1/eventTicketObject/{resourceId}",
          "httpMethod": "PATCH",
          "id": "walletobjects.eventticketobject.patch",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/eventTicketObject/{resourceId}",
          "request": {
            "$ref": "EventTicketObject"
          },
          "response": {
            "$ref": "EventTicketObject"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "update": {
          "description": "Updates the event ticket object referenced by the given object ID.",
          "flatPath": "walletobjects/v1/eventTicketObject/{resourceId}",
          "httpMethod": "PUT",
          "id": "walletobjects.eventticketobject.update",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/eventTicketObject/{resourceId}",
          "request": {
            "$ref": "EventTicketObject"
          },
          "response": {
            "$ref": "EventTicketObject"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        }
      }
    },
    "flightclass": {
      "methods": {
        "addmessage": {
          "description": "Adds a message to the flight class referenced by the given class ID.",
          "flatPath": "walletobjects/v1/flightClass/{resourceId}/addMessage",
          "httpMethod": "POST",
          "id": "walletobjects.flightclass.addmessage",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/flightClass/{resourceId}/addMessage",
          "request": {
            "$ref": "AddMessageRequest"
          },
          "response": {
            "$ref": "FlightClassAddMessageResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "get": {
          "description": "Returns the flight class with the given class ID.",
          "flatPath": "walletobjects/v1/flightClass/{resourceId}",
          "httpMethod": "GET",
          "id": "walletobjects.flightclass.get",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/flightClass/{resourceId}",
          "response": {
            "$ref": "FlightClass"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "insert": {
          "description": "Inserts an flight class with the given ID and properties.",
          "flatPath": "walletobjects/v1/flightClass",
          "httpMethod": "POST",
          "id": "walletobjects.flightclass.insert",
          "parameterOrder": [],
          "parameters": {},
          "path": "walletobjects/v1/flightClass",
          "request": {
            "$ref": "FlightClass"
          },
          "response": {
            "$ref": "FlightClass"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "list": {
          "description": "Returns a list of all flight classes for a given issuer ID.",
          "flatPath": "walletobjects/v1/flightClass",
          "httpMethod": "GET",
          "id": "walletobjects.flightclass.list",
          "parameterOrder": [],
          "parameters": {
            "issuerId": {
              "description": "The ID of the issuer authorized to list classes.",
              "format": "int64",
              "location": "query",
              "type": "string"
            },
            "maxResults": {
              "description": "Identifies the max number of results returned by a list. All results are returned if `maxResults` isn't defined.",
              "format": "int32",
              "location": "query",
              "type": "integer"
            },
            "token": {
              "description": "Used to get the next set of results if `maxResults` is specified, but more than `maxResults` classes are available in a list. For example, if you have a list of 200 classes and you call list with `maxResults` set to 20, list will return the first 20 classes and a token. Call list again with `maxResults` set to 20 and the token to get the next 20 classes.",
              "location": "query",
              "type": "string"
            }
          },
          "path": "walletobjects/v1/flightClass",
          "response": {
            "$ref": "FlightClassListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "patch": {
          "description": "Updates the flight class referenced by the given class ID. This method supports patch semantics.",
          "flatPath": "walletobjects/v1/flightClass/{resourceId}",
          "httpMethod": "PATCH",
          "id": "walletobjects.flightclass.patch",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/flightClass/{resourceId}",
          "request": {
            "$ref": "FlightClass"
          },
          "response": {
            "$ref": "FlightClass"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "update": {
          "description": "Updates the flight class referenced by the given class ID.",
          "flatPath": "walletobjects/v1/flightClass/{resourceId}",
          "httpMethod": "PUT",
          "id": "walletobjects.flightclass.update",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/flightClass/{resourceId}",
          "request": {
            "$ref": "FlightClass"
          },
          "response": {
            "$ref": "FlightClass"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        }
      }
    },
    "flightobject": {
      "methods": {
        "addmessage": {
          "description": "Adds a message to the flight object referenced by the given object ID.",
          "flatPath": "walletobjects/v1/flightObject/{resourceId}/addMessage",
          "httpMethod": "POST",
          "id": "walletobjects.flightobject.addmessage",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/flightObject/{resourceId}/addMessage",
          "request": {
            "$ref": "AddMessageRequest"
          },
          "response": {
            "$ref": "FlightObjectAddMessageResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "get": {
          "description": "Returns the flight object with the given object ID.",
          "flatPath": "walletobjects/v1/flightObject/{resourceId}",
          "httpMethod": "GET",
          "id": "walletobjects.flightobject.get",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/flightObject/{resourceId}",
          "response": {
            "$ref": "FlightObject"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "insert": {
          "description": "Inserts an flight object with the given ID and properties.",
          "flatPath": "walletobjects/v1/flightObject",
          "httpMethod": "POST",
          "id": "walletobjects.flightobject.insert",
          "parameterOrder": [],
          "parameters": {},
          "path": "walletobjects/v1/flightObject",
          "request": {
            "$ref": "FlightObject"
          },
          "response": {
            "$ref": "FlightObject"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "list": {
          "description": "Returns a list of all flight objects for a given issuer ID.",
          "flatPath": "walletobjects/v1/flightObject",
          "httpMethod": "GET",
          "id": "walletobjects.flightobject.list",
          "parameterOrder": [],
          "parameters": {
            "classId": {
              "description": "The ID of the class whose objects will be listed.",
              "location": "query",
              "type": "string"
            },
            "maxResults": {
              "description": "Identifies the max number of results returned by a list. All results are returned if `maxResults` isn't defined.",
              "format": "int32",
              "location": "query",
              "type": "integer"
            },
            "token": {
              "description": "Used to get the next set of results if `maxResults` is specified, but more than `maxResults` objects are available in a list. For example, if you have a list of 200 objects and you call list with `maxResults` set to 20, list will return the first 20 objects and a token. Call list again with `maxResults` set to 20 and the token to get the next 20 objects.",
              "location": "query",
              "type": "string"
            }
          },
          "path": "walletobjects/v1/flightObject",
          "response": {
            "$ref": "FlightObjectListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "patch": {
          "description": "Updates the flight object referenced by the given object ID. This method supports patch semantics.",
          "flatPath": "walletobjects/v1/flightObject/{resourceId}",
          "httpMethod": "PATCH",
          "id": "walletobjects.flightobject.patch",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/flightObject/{resourceId}",
          "request": {
            "$ref": "FlightObject"
          },
          "response": {
            "$ref": "FlightObject"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "update": {
          "description": "Updates the flight object referenced by the given object ID.",
          "flatPath": "walletobjects/v1/flightObject/{resourceId}",
          "httpMethod": "PUT",
          "id": "walletobjects.flightobject.update",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/flightObject/{resourceId}",
          "request": {
            "$ref": "FlightObject"
          },
          "response": {
            "$ref": "FlightObject"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        }
      }
    },
    "genericclass": {
      "methods": {
        "get": {
          "description": "Returns the generic class with the given class ID.",
          "flatPath": "walletobjects/v1/genericClass/{resourceId}",
          "httpMethod": "GET",
          "id": "walletobjects.genericclass.get",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for a class. This ID must be unique across all classes from an issuer. This value needs to follow the format `issuerID.identifier` where `issuerID` is issued by Google and `identifier` is chosen by you. The unique identifier can only include alphanumeric characters, `.`, `_`, or `-`.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/genericClass/{resourceId}",
          "response": {
            "$ref": "GenericClass"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "insert": {
          "description": "Inserts a generic class with the given ID and properties.",
          "flatPath": "walletobjects/v1/genericClass",
          "httpMethod": "POST",
          "id": "walletobjects.genericclass.insert",
          "parameterOrder": [],
          "parameters": {},
          "path": "walletobjects/v1/genericClass",
          "request": {
            "$ref": "GenericClass"
          },
          "response": {
            "$ref": "GenericClass"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "list": {
          "description": "Returns a list of all generic classes for a given issuer ID.",
          "flatPath": "walletobjects/v1/genericClass",
          "httpMethod": "GET",
          "id": "walletobjects.genericclass.list",
          "parameterOrder": [],
          "parameters": {
            "issuerId": {
              "description": "The ID of the issuer authorized to list classes.",
              "format": "int64",
              "location": "query",
              "type": "string"
            },
            "maxResults": {
              "description": "Identifies the max number of results returned by a list. All results are returned if `maxResults` isn't defined.",
              "format": "int32",
              "location": "query",
              "type": "integer"
            },
            "token": {
              "description": "Used to get the next set of results if `maxResults` is specified, but more than `maxResults` classes are available in a list. For example, if you have a list of 200 classes and you call list with `maxResults` set to 20, list will return the first 20 classes and a token. Call list again with `maxResults` set to 20 and the token to get the next 20 classes.",
              "location": "query",
              "type": "string"
            }
          },
          "path": "walletobjects/v1/genericClass",
          "response": {
            "$ref": "GenericClassListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "patch": {
          "description": "Updates the generic class referenced by the given class ID. This method supports patch semantics.",
          "flatPath": "walletobjects/v1/genericClass/{resourceId}",
          "httpMethod": "PATCH",
          "id": "walletobjects.genericclass.patch",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for a class. This ID must be unique across all classes from an issuer. This value needs to follow the format `issuerID.identifier` where `issuerID` is issued by Google and `identifier` is chosen by you. The unique identifier can only include alphanumeric characters, `.`, `_`, or `-`.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/genericClass/{resourceId}",
          "request": {
            "$ref": "GenericClass"
          },
          "response": {
            "$ref": "GenericClass"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "update": {
          "description": "Updates the Generic class referenced by the given class ID.",
          "flatPath": "walletobjects/v1/genericClass/{resourceId}",
          "httpMethod": "PUT",
          "id": "walletobjects.genericclass.update",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for a class. This ID must be unique across all classes from an issuer. This value needs to follow the format `issuerID.identifier` where `issuerID` is issued by Google and `identifier` is chosen by you. The unique identifier can only include alphanumeric characters, `.`, `_`, or `-`.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/genericClass/{resourceId}",
          "request": {
            "$ref": "GenericClass"
          },
          "response": {
            "$ref": "GenericClass"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        }
      }
    },
    "genericobject": {
      "methods": {
        "get": {
          "description": "Returns the generic object with the given object ID.",
          "flatPath": "walletobjects/v1/genericObject/{resourceId}",
          "httpMethod": "GET",
          "id": "walletobjects.genericobject.get",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for an object. This ID must be unique across all objects from an issuer. This value needs to follow the format `issuerID.identifier` where `issuerID` is issued by Google and `identifier` is chosen by you. The unique identifier can only include alphanumeric characters, `.`, `_`, or `-`.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/genericObject/{resourceId}",
          "response": {
            "$ref": "GenericObject"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "insert": {
          "description": "Inserts a generic object with the given ID and properties.",
          "flatPath": "walletobjects/v1/genericObject",
          "httpMethod": "POST",
          "id": "walletobjects.genericobject.insert",
          "parameterOrder": [],
          "parameters": {},
          "path": "walletobjects/v1/genericObject",
          "request": {
            "$ref": "GenericObject"
          },
          "response": {
            "$ref": "GenericObject"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "list": {
          "description": "Returns a list of all generic objects for a given issuer ID.",
          "flatPath": "walletobjects/v1/genericObject",
          "httpMethod": "GET",
          "id": "walletobjects.genericobject.list",
          "parameterOrder": [],
          "parameters": {
            "classId": {
              "description": "The ID of the class whose objects will be listed.",
              "location": "query",
              "type": "string"
            },
            "maxResults": {
              "description": "Identifies the max number of results returned by a list. All results are returned if `maxResults` isn't defined.",
              "format": "int32",
              "location": "query",
              "type": "integer"
            },
            "token": {
              "description": "Used to get the next set of results if `maxResults` is specified, but more than `maxResults` objects are available in a list. For example, if you have a list of 200 objects and you call list with `maxResults` set to 20, list will return the first 20 objects and a token. Call list again with `maxResults` set to 20 and the token to get the next 20 objects.",
              "location": "query",
              "type": "string"
            }
          },
          "path": "walletobjects/v1/genericObject",
          "response": {
            "$ref": "GenericObjectListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "patch": {
          "description": "Updates the generic object referenced by the given object ID. This method supports patch semantics.",
          "flatPath": "walletobjects/v1/genericObject/{resourceId}",
          "httpMethod": "PATCH",
          "id": "walletobjects.genericobject.patch",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for an object. This ID must be unique across all objects from an issuer. This value needs to follow the format `issuerID.identifier` where `issuerID` is issued by Google and `identifier` is chosen by you. The unique identifier can only include alphanumeric characters, `.`, `_`, or `-`.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/genericObject/{resourceId}",
          "request": {
            "$ref": "GenericObject"
          },
          "response": {
            "$ref": "GenericObject"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "update": {
          "description": "Updates the generic object referenced by the given object ID.",
          "flatPath": "walletobjects/v1/genericObject/{resourceId}",
          "httpMethod": "PUT",
          "id": "walletobjects.genericobject.update",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for an object. This ID must be unique across all objects from an issuer. This value needs to follow the format `issuerID.identifier` where `issuerID` is issued by Google and `identifier` is chosen by you. The unique identifier can only include alphanumeric characters, `.`, `_`, or `-`.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/genericObject/{resourceId}",
          "request": {
            "$ref": "GenericObject"
          },
          "response": {
            "$ref": "GenericObject"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        }
      }
    },
    "giftcardclass": {
      "methods": {
        "addmessage": {
          "description": "Adds a message to the gift card class referenced by the given class ID.",
          "flatPath": "walletobjects/v1/giftCardClass/{resourceId}/addMessage",
          "httpMethod": "POST",
          "id": "walletobjects.giftcardclass.addmessage",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/giftCardClass/{resourceId}/addMessage",
          "request": {
            "$ref": "AddMessageRequest"
          },
          "response": {
            "$ref": "GiftCardClassAddMessageResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "get": {
          "description": "Returns the gift card class with the given class ID.",
          "flatPath": "walletobjects/v1/giftCardClass/{resourceId}",
          "httpMethod": "GET",
          "id": "walletobjects.giftcardclass.get",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/giftCardClass/{resourceId}",
          "response": {
            "$ref": "GiftCardClass"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "insert": {
          "description": "Inserts an gift card class with the given ID and properties.",
          "flatPath": "walletobjects/v1/giftCardClass",
          "httpMethod": "POST",
          "id": "walletobjects.giftcardclass.insert",
          "parameterOrder": [],
          "parameters": {},
          "path": "walletobjects/v1/giftCardClass",
          "request": {
            "$ref": "GiftCardClass"
          },
          "response": {
            "$ref": "GiftCardClass"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "list": {
          "description": "Returns a list of all gift card classes for a given issuer ID.",
          "flatPath": "walletobjects/v1/giftCardClass",
          "httpMethod": "GET",
          "id": "walletobjects.giftcardclass.list",
          "parameterOrder": [],
          "parameters": {
            "issuerId": {
              "description": "The ID of the issuer authorized to list classes.",
              "format": "int64",
              "location": "query",
              "type": "string"
            },
            "maxResults": {
              "description": "Identifies the max number of results returned by a list. All results are returned if `maxResults` isn't defined.",
              "format": "int32",
              "location": "query",
              "type": "integer"
            },
            "token": {
              "description": "Used to get the next set of results if `maxResults` is specified, but more than `maxResults` classes are available in a list. For example, if you have a list of 200 classes and you call list with `maxResults` set to 20, list will return the first 20 classes and a token. Call list again with `maxResults` set to 20 and the token to get the next 20 classes.",
              "location": "query",
              "type": "string"
            }
          },
          "path": "walletobjects/v1/giftCardClass",
          "response": {
            "$ref": "GiftCardClassListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "patch": {
          "description": "Updates the gift card class referenced by the given class ID. This method supports patch semantics.",
          "flatPath": "walletobjects/v1/giftCardClass/{resourceId}",
          "httpMethod": "PATCH",
          "id": "walletobjects.giftcardclass.patch",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/giftCardClass/{resourceId}",
          "request": {
            "$ref": "GiftCardClass"
          },
          "response": {
            "$ref": "GiftCardClass"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "update": {
          "description": "Updates the gift card class referenced by the given class ID.",
          "flatPath": "walletobjects/v1/giftCardClass/{resourceId}",
          "httpMethod": "PUT",
          "id": "walletobjects.giftcardclass.update",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/giftCardClass/{resourceId}",
          "request": {
            "$ref": "GiftCardClass"
          },
          "response": {
            "$ref": "GiftCardClass"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        }
      }
    },
    "giftcardobject": {
      "methods": {
        "addmessage": {
          "description": "Adds a message to the gift card object referenced by the given object ID.",
          "flatPath": "walletobjects/v1/giftCardObject/{resourceId}/addMessage",
          "httpMethod": "POST",
          "id": "walletobjects.giftcardobject.addmessage",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/giftCardObject/{resourceId}/addMessage",
          "request": {
            "$ref": "AddMessageRequest"
          },
          "response": {
            "$ref": "GiftCardObjectAddMessageResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "get": {
          "description": "Returns the gift card object with the given object ID.",
          "flatPath": "walletobjects/v1/giftCardObject/{resourceId}",
          "httpMethod": "GET",
          "id": "walletobjects.giftcardobject.get",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/giftCardObject/{resourceId}",
          "response": {
            "$ref": "GiftCardObject"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "insert": {
          "description": "Inserts an gift card object with the given ID and properties.",
          "flatPath": "walletobjects/v1/giftCardObject",
          "httpMethod": "POST",
          "id": "walletobjects.giftcardobject.insert",
          "parameterOrder": [],
          "parameters": {},
          "path": "walletobjects/v1/giftCardObject",
          "request": {
            "$ref": "GiftCardObject"
          },
          "response": {
            "$ref": "GiftCardObject"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "list": {
          "description": "Returns a list of all gift card objects for a given issuer ID.",
          "flatPath": "walletobjects/v1/giftCardObject",
          "httpMethod": "GET",
          "id": "walletobjects.giftcardobject.list",
          "parameterOrder": [],
          "parameters": {
            "classId": {
              "description": "The ID of the class whose objects will be listed.",
              "location": "query",
              "type": "string"
            },
            "maxResults": {
              "description": "Identifies the max number of results returned by a list. All results are returned if `maxResults` isn't defined.",
              "format": "int32",
              "location": "query",
              "type": "integer"
            },
            "token": {
              "description": "Used to get the next set of results if `maxResults` is specified, but more than `maxResults` objects are available in a list. For example, if you have a list of 200 objects and you call list with `maxResults` set to 20, list will return the first 20 objects and a token. Call list again with `maxResults` set to 20 and the token to get the next 20 objects.",
              "location": "query",
              "type": "string"
            }
          },
          "path": "walletobjects/v1/giftCardObject",
          "response": {
            "$ref": "GiftCardObjectListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "patch": {
          "description": "Updates the gift card object referenced by the given object ID. This method supports patch semantics.",
          "flatPath": "walletobjects/v1/giftCardObject/{resourceId}",
          "httpMethod": "PATCH",
          "id": "walletobjects.giftcardobject.patch",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/giftCardObject/{resourceId}",
          "request": {
            "$ref": "GiftCardObject"
          },
          "response": {
            "$ref": "GiftCardObject"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "update": {
          "description": "Updates the gift card object referenced by the given object ID.",
          "flatPath": "walletobjects/v1/giftCardObject/{resourceId}",
          "httpMethod": "PUT",
          "id": "walletobjects.giftcardobject.update",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/giftCardObject/{resourceId}",
          "request": {
            "$ref": "GiftCardObject"
          },
          "response": {
            "$ref": "GiftCardObject"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        }
      }
    },
    "issuer": {
      "methods": {
        "get": {
          "description": "Returns the issuer with the given issuer ID.",
          "flatPath": "walletobjects/v1/issuer/{resourceId}",
          "httpMethod": "GET",
          "id": "walletobjects.issuer.get",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for an issuer.",
              "format": "int64",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/issuer/{resourceId}",
          "response": {
            "$ref": "Issuer"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "insert": {
          "description": "Inserts an issuer with the given ID and properties.",
          "flatPath": "walletobjects/v1/issuer",
          "httpMethod": "POST",
          "id": "walletobjects.issuer.insert",
          "parameterOrder": [],
          "parameters": {},
          "path": "walletobjects/v1/issuer",
          "request": {
            "$ref": "Issuer"
          },
          "response": {
            "$ref": "Issuer"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "list": {
          "description": "Returns a list of all issuers shared to the caller.",
          "flatPath": "walletobjects/v1/issuer",
          "httpMethod": "GET",
          "id": "walletobjects.issuer.list",
          "parameterOrder": [],
          "parameters": {},
          "path": "walletobjects/v1/issuer",
          "response": {
            "$ref": "IssuerListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "patch": {
          "description": "Updates the issuer referenced by the given issuer ID. This method supports patch semantics.",
          "flatPath": "walletobjects/v1/issuer/{resourceId}",
          "httpMethod": "PATCH",
          "id": "walletobjects.issuer.patch",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for an issuer.",
              "format": "int64",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/issuer/{resourceId}",
          "request": {
            "$ref": "Issuer"
          },
          "response": {
            "$ref": "Issuer"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "update": {
          "description": "Updates the issuer referenced by the given issuer ID.",
          "flatPath": "walletobjects/v1/issuer/{resourceId}",
          "httpMethod": "PUT",
          "id": "walletobjects.issuer.update",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for an issuer.",
              "format": "int64",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/issuer/{resourceId}",
          "request": {
            "$ref": "Issuer"
          },
          "response": {
            "$ref": "Issuer"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        }
      }
    },
    "jwt": {
      "methods": {
        "insert": {
          "description": "Inserts the resources in the JWT.",
          "flatPath": "walletobjects/v1/jwt",
          "httpMethod": "POST",
          "id": "walletobjects.jwt.insert",
          "parameterOrder": [],
          "parameters": {},
          "path": "walletobjects/v1/jwt",
          "request": {
            "$ref": "JwtResource"
          },
          "response": {
            "$ref": "JwtInsertResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        }
      }
    },
    "loyaltyclass": {
      "methods": {
        "addmessage": {
          "description": "Adds a message to the loyalty class referenced by the given class ID.",
          "flatPath": "walletobjects/v1/loyaltyClass/{resourceId}/addMessage",
          "httpMethod": "POST",
          "id": "walletobjects.loyaltyclass.addmessage",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/loyaltyClass/{resourceId}/addMessage",
          "request": {
            "$ref": "AddMessageRequest"
          },
          "response": {
            "$ref": "LoyaltyClassAddMessageResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "get": {
          "description": "Returns the loyalty class with the given class ID.",
          "flatPath": "walletobjects/v1/loyaltyClass/{resourceId}",
          "httpMethod": "GET",
          "id": "walletobjects.loyaltyclass.get",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/loyaltyClass/{resourceId}",
          "response": {
            "$ref": "LoyaltyClass"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "insert": {
          "description": "Inserts an loyalty class with the given ID and properties.",
          "flatPath": "walletobjects/v1/loyaltyClass",
          "httpMethod": "POST",
          "id": "walletobjects.loyaltyclass.insert",
          "parameterOrder": [],
          "parameters": {},
          "path": "walletobjects/v1/loyaltyClass",
          "request": {
            "$ref": "LoyaltyClass"
          },
          "response": {
            "$ref": "LoyaltyClass"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "list": {
          "description": "Returns a list of all loyalty classes for a given issuer ID.",
          "flatPath": "walletobjects/v1/loyaltyClass",
          "httpMethod": "GET",
          "id": "walletobjects.loyaltyclass.list",
          "parameterOrder": [],
          "parameters": {
            "issuerId": {
              "description": "The ID of the issuer authorized to list classes.",
              "format": "int64",
              "location": "query",
              "type": "string"
            },
            "maxResults": {
              "description": "Identifies the max number of results returned by a list. All results are returned if `maxResults` isn't defined.",
              "format": "int32",
              "location": "query",
              "type": "integer"
            },
            "token": {
              "description": "Used to get the next set of results if `maxResults` is specified, but more than `maxResults` classes are available in a list. For example, if you have a list of 200 classes and you call list with `maxResults` set to 20, list will return the first 20 classes and a token. Call list again with `maxResults` set to 20 and the token to get the next 20 classes.",
              "location": "query",
              "type": "string"
            }
          },
          "path": "walletobjects/v1/loyaltyClass",
          "response": {
            "$ref": "LoyaltyClassListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "patch": {
          "description": "Updates the loyalty class referenced by the given class ID. This method supports patch semantics.",
          "flatPath": "walletobjects/v1/loyaltyClass/{resourceId}",
          "httpMethod": "PATCH",
          "id": "walletobjects.loyaltyclass.patch",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/loyaltyClass/{resourceId}",
          "request": {
            "$ref": "LoyaltyClass"
          },
          "response": {
            "$ref": "LoyaltyClass"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "update": {
          "description": "Updates the loyalty class referenced by the given class ID.",
          "flatPath": "walletobjects/v1/loyaltyClass/{resourceId}",
          "httpMethod": "PUT",
          "id": "walletobjects.loyaltyclass.update",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/loyaltyClass/{resourceId}",
          "request": {
            "$ref": "LoyaltyClass"
          },
          "response": {
            "$ref": "LoyaltyClass"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        }
      }
    },
    "loyaltyobject": {
      "methods": {
        "addmessage": {
          "description": "Adds a message to the loyalty object referenced by the given object ID.",
          "flatPath": "walletobjects/v1/loyaltyObject/{resourceId}/addMessage",
          "httpMethod": "POST",
          "id": "walletobjects.loyaltyobject.addmessage",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/loyaltyObject/{resourceId}/addMessage",
          "request": {
            "$ref": "AddMessageRequest"
          },
          "response": {
            "$ref": "LoyaltyObjectAddMessageResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "get": {
          "description": "Returns the loyalty object with the given object ID.",
          "flatPath": "walletobjects/v1/loyaltyObject/{resourceId}",
          "httpMethod": "GET",
          "id": "walletobjects.loyaltyobject.get",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/loyaltyObject/{resourceId}",
          "response": {
            "$ref": "LoyaltyObject"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "insert": {
          "description": "Inserts an loyalty object with the given ID and properties.",
          "flatPath": "walletobjects/v1/loyaltyObject",
          "httpMethod": "POST",
          "id": "walletobjects.loyaltyobject.insert",
          "parameterOrder": [],
          "parameters": {},
          "path": "walletobjects/v1/loyaltyObject",
          "request": {
            "$ref": "LoyaltyObject"
          },
          "response": {
            "$ref": "LoyaltyObject"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "list": {
          "description": "Returns a list of all loyalty objects for a given issuer ID.",
          "flatPath": "walletobjects/v1/loyaltyObject",
          "httpMethod": "GET",
          "id": "walletobjects.loyaltyobject.list",
          "parameterOrder": [],
          "parameters": {
            "classId": {
              "description": "The ID of the class whose objects will be listed.",
              "location": "query",
              "type": "string"
            },
            "maxResults": {
              "description": "Identifies the max number of results returned by a list. All results are returned if `maxResults` isn't defined.",
              "format": "int32",
              "location": "query",
              "type": "integer"
            },
            "token": {
              "description": "Used to get the next set of results if `maxResults` is specified, but more than `maxResults` objects are available in a list. For example, if you have a list of 200 objects and you call list with `maxResults` set to 20, list will return the first 20 objects and a token. Call list again with `maxResults` set to 20 and the token to get the next 20 objects.",
              "location": "query",
              "type": "string"
            }
          },
          "path": "walletobjects/v1/loyaltyObject",
          "response": {
            "$ref": "LoyaltyObjectListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "modifylinkedofferobjects": {
          "description": "Modifies linked offer objects for the loyalty object with the given ID.",
          "flatPath": "walletobjects/v1/loyaltyObject/{resourceId}/modifyLinkedOfferObjects",
          "httpMethod": "POST",
          "id": "walletobjects.loyaltyobject.modifylinkedofferobjects",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/loyaltyObject/{resourceId}/modifyLinkedOfferObjects",
          "request": {
            "$ref": "ModifyLinkedOfferObjectsRequest"
          },
          "response": {
            "$ref": "LoyaltyObject"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "patch": {
          "description": "Updates the loyalty object referenced by the given object ID. This method supports patch semantics.",
          "flatPath": "walletobjects/v1/loyaltyObject/{resourceId}",
          "httpMethod": "PATCH",
          "id": "walletobjects.loyaltyobject.patch",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/loyaltyObject/{resourceId}",
          "request": {
            "$ref": "LoyaltyObject"
          },
          "response": {
            "$ref": "LoyaltyObject"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "update": {
          "description": "Updates the loyalty object referenced by the given object ID.",
          "flatPath": "walletobjects/v1/loyaltyObject/{resourceId}",
          "httpMethod": "PUT",
          "id": "walletobjects.loyaltyobject.update",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/loyaltyObject/{resourceId}",
          "request": {
            "$ref": "LoyaltyObject"
          },
          "response": {
            "$ref": "LoyaltyObject"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        }
      }
    },
    "media": {
      "methods": {
        "download": {
          "description": "Downloads rotating barcode values for the transit object referenced by the given object ID.",
          "flatPath": "walletobjects/v1/transitObject/{resourceId}/downloadRotatingBarcodeValues",
          "httpMethod": "GET",
          "id": "walletobjects.media.download",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/transitObject/{resourceId}/downloadRotatingBarcodeValues",
          "response": {
            "$ref": "Media"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ],
          "supportsMediaDownload": true,
          "useMediaDownloadService": true
        },
        "upload": {
          "description": "Uploads rotating barcode values for the transit object referenced by the given object ID. Note the max upload size is specified in google3/production/config/cdd/apps-upload/customers/payments-consumer-passes/config.gcl and enforced by Scotty.",
          "flatPath": "walletobjects/v1/transitObject/{resourceId}/uploadRotatingBarcodeValues",
          "httpMethod": "POST",
          "id": "walletobjects.media.upload",
          "mediaUpload": {
            "accept": [
              "*/*"
            ],
            "protocols": {
              "simple": {
                "multipart": true,
                "path": "/upload/walletobjects/v1/transitObject/{resourceId}/uploadRotatingBarcodeValues"
              }
            }
          },
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/transitObject/{resourceId}/uploadRotatingBarcodeValues",
          "request": {
            "$ref": "TransitObjectUploadRotatingBarcodeValuesRequest"
          },
          "response": {
            "$ref": "TransitObjectUploadRotatingBarcodeValuesResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ],
          "supportsMediaUpload": true
        }
      }
    },
    "offerclass": {
      "methods": {
        "addmessage": {
          "description": "Adds a message to the offer class referenced by the given class ID.",
          "flatPath": "walletobjects/v1/offerClass/{resourceId}/addMessage",
          "httpMethod": "POST",
          "id": "walletobjects.offerclass.addmessage",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/offerClass/{resourceId}/addMessage",
          "request": {
            "$ref": "AddMessageRequest"
          },
          "response": {
            "$ref": "OfferClassAddMessageResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "get": {
          "description": "Returns the offer class with the given class ID.",
          "flatPath": "walletobjects/v1/offerClass/{resourceId}",
          "httpMethod": "GET",
          "id": "walletobjects.offerclass.get",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/offerClass/{resourceId}",
          "response": {
            "$ref": "OfferClass"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "insert": {
          "description": "Inserts an offer class with the given ID and properties.",
          "flatPath": "walletobjects/v1/offerClass",
          "httpMethod": "POST",
          "id": "walletobjects.offerclass.insert",
          "parameterOrder": [],
          "parameters": {},
          "path": "walletobjects/v1/offerClass",
          "request": {
            "$ref": "OfferClass"
          },
          "response": {
            "$ref": "OfferClass"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "list": {
          "description": "Returns a list of all offer classes for a given issuer ID.",
          "flatPath": "walletobjects/v1/offerClass",
          "httpMethod": "GET",
          "id": "walletobjects.offerclass.list",
          "parameterOrder": [],
          "parameters": {
            "issuerId": {
              "description": "The ID of the issuer authorized to list classes.",
              "format": "int64",
              "location": "query",
              "type": "string"
            },
            "maxResults": {
              "description": "Identifies the max number of results returned by a list. All results are returned if `maxResults` isn't defined.",
              "format": "int32",
              "location": "query",
              "type": "integer"
            },
            "token": {
              "description": "Used to get the next set of results if `maxResults` is specified, but more than `maxResults` classes are available in a list. For example, if you have a list of 200 classes and you call list with `maxResults` set to 20, list will return the first 20 classes and a token. Call list again with `maxResults` set to 20 and the token to get the next 20 classes.",
              "location": "query",
              "type": "string"
            }
          },
          "path": "walletobjects/v1/offerClass",
          "response": {
            "$ref": "OfferClassListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "patch": {
          "description": "Updates the offer class referenced by the given class ID. This method supports patch semantics.",
          "flatPath": "walletobjects/v1/offerClass/{resourceId}",
          "httpMethod": "PATCH",
          "id": "walletobjects.offerclass.patch",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/offerClass/{resourceId}",
          "request": {
            "$ref": "OfferClass"
          },
          "response": {
            "$ref": "OfferClass"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "update": {
          "description": "Updates the offer class referenced by the given class ID.",
          "flatPath": "walletobjects/v1/offerClass/{resourceId}",
          "httpMethod": "PUT",
          "id": "walletobjects.offerclass.update",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/offerClass/{resourceId}",
          "request": {
            "$ref": "OfferClass"
          },
          "response": {
            "$ref": "OfferClass"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        }
      }
    },
    "offerobject": {
      "methods": {
        "addmessage": {
          "description": "Adds a message to the offer object referenced by the given object ID.",
          "flatPath": "walletobjects/v1/offerObject/{resourceId}/addMessage",
          "httpMethod": "POST",
          "id": "walletobjects.offerobject.addmessage",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/offerObject/{resourceId}/addMessage",
          "request": {
            "$ref": "AddMessageRequest"
          },
          "response": {
            "$ref": "OfferObjectAddMessageResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "get": {
          "description": "Returns the offer object with the given object ID.",
          "flatPath": "walletobjects/v1/offerObject/{resourceId}",
          "httpMethod": "GET",
          "id": "walletobjects.offerobject.get",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/offerObject/{resourceId}",
          "response": {
            "$ref": "OfferObject"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "insert": {
          "description": "Inserts an offer object with the given ID and properties.",
          "flatPath": "walletobjects/v1/offerObject",
          "httpMethod": "POST",
          "id": "walletobjects.offerobject.insert",
          "parameterOrder": [],
          "parameters": {},
          "path": "walletobjects/v1/offerObject",
          "request": {
            "$ref": "OfferObject"
          },
          "response": {
            "$ref": "OfferObject"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "list": {
          "description": "Returns a list of all offer objects for a given issuer ID.",
          "flatPath": "walletobjects/v1/offerObject",
          "httpMethod": "GET",
          "id": "walletobjects.offerobject.list",
          "parameterOrder": [],
          "parameters": {
            "classId": {
              "description": "The ID of the class whose objects will be listed.",
              "location": "query",
              "type": "string"
            },
            "maxResults": {
              "description": "Identifies the max number of results returned by a list. All results are returned if `maxResults` isn't defined.",
              "format": "int32",
              "location": "query",
              "type": "integer"
            },
            "token": {
              "description": "Used to get the next set of results if `maxResults` is specified, but more than `maxResults` objects are available in a list. For example, if you have a list of 200 objects and you call list with `maxResults` set to 20, list will return the first 20 objects and a token. Call list again with `maxResults` set to 20 and the token to get the next 20 objects.",
              "location": "query",
              "type": "string"
            }
          },
          "path": "walletobjects/v1/offerObject",
          "response": {
            "$ref": "OfferObjectListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "patch": {
          "description": "Updates the offer object referenced by the given object ID. This method supports patch semantics.",
          "flatPath": "walletobjects/v1/offerObject/{resourceId}",
          "httpMethod": "PATCH",
          "id": "walletobjects.offerobject.patch",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/offerObject/{resourceId}",
          "request": {
            "$ref": "OfferObject"
          },
          "response": {
            "$ref": "OfferObject"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "update": {
          "description": "Updates the offer object referenced by the given object ID.",
          "flatPath": "walletobjects/v1/offerObject/{resourceId}",
          "httpMethod": "PUT",
          "id": "walletobjects.offerobject.update",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/offerObject/{resourceId}",
          "request": {
            "$ref": "OfferObject"
          },
          "response": {
            "$ref": "OfferObject"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        }
      }
    },
    "permissions": {
      "methods": {
        "get": {
          "description": "Returns the permissions for the given issuer id.",
          "flatPath": "walletobjects/v1/permissions/{resourceId}",
          "httpMethod": "GET",
          "id": "walletobjects.permissions.get",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for an issuer. This ID must be unique across all issuers.",
              "format": "int64",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/permissions/{resourceId}",
          "response": {
            "$ref": "Permissions"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "update": {
          "description": "Updates the permissions for the given issuer.",
          "flatPath": "walletobjects/v1/permissions/{resourceId}",
          "httpMethod": "PUT",
          "id": "walletobjects.permissions.update",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for an issuer. This ID must be unique across all issuers.",
              "format": "int64",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/permissions/{resourceId}",
          "request": {
            "$ref": "Permissions"
          },
          "response": {
            "$ref": "Permissions"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        }
      }
    },
    "smarttap": {
      "methods": {
        "insert": {
          "description": "Inserts the smart tap.",
          "flatPath": "walletobjects/v1/smartTap",
          "httpMethod": "POST",
          "id": "walletobjects.smarttap.insert",
          "parameterOrder": [],
          "parameters": {},
          "path": "walletobjects/v1/smartTap",
          "request": {
            "$ref": "SmartTap"
          },
          "response": {
            "$ref": "SmartTap"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        }
      }
    },
    "transitclass": {
      "methods": {
        "addmessage": {
          "description": "Adds a message to the transit class referenced by the given class ID.",
          "flatPath": "walletobjects/v1/transitClass/{resourceId}/addMessage",
          "httpMethod": "POST",
          "id": "walletobjects.transitclass.addmessage",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/transitClass/{resourceId}/addMessage",
          "request": {
            "$ref": "AddMessageRequest"
          },
          "response": {
            "$ref": "TransitClassAddMessageResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "get": {
          "description": "Returns the transit class with the given class ID.",
          "flatPath": "walletobjects/v1/transitClass/{resourceId}",
          "httpMethod": "GET",
          "id": "walletobjects.transitclass.get",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/transitClass/{resourceId}",
          "response": {
            "$ref": "TransitClass"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "insert": {
          "description": "Inserts a transit class with the given ID and properties.",
          "flatPath": "walletobjects/v1/transitClass",
          "httpMethod": "POST",
          "id": "walletobjects.transitclass.insert",
          "parameterOrder": [],
          "parameters": {},
          "path": "walletobjects/v1/transitClass",
          "request": {
            "$ref": "TransitClass"
          },
          "response": {
            "$ref": "TransitClass"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "list": {
          "description": "Returns a list of all transit classes for a given issuer ID.",
          "flatPath": "walletobjects/v1/transitClass",
          "httpMethod": "GET",
          "id": "walletobjects.transitclass.list",
          "parameterOrder": [],
          "parameters": {
            "issuerId": {
              "description": "The ID of the issuer authorized to list classes.",
              "format": "int64",
              "location": "query",
              "type": "string"
            },
            "maxResults": {
              "description": "Identifies the max number of results returned by a list. All results are returned if `maxResults` isn't defined.",
              "format": "int32",
              "location": "query",
              "type": "integer"
            },
            "token": {
              "description": "Used to get the next set of results if `maxResults` is specified, but more than `maxResults` classes are available in a list. For example, if you have a list of 200 classes and you call list with `maxResults` set to 20, list will return the first 20 classes and a token. Call list again with `maxResults` set to 20 and the token to get the next 20 classes.",
              "location": "query",
              "type": "string"
            }
          },
          "path": "walletobjects/v1/transitClass",
          "response": {
            "$ref": "TransitClassListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "patch": {
          "description": "Updates the transit class referenced by the given class ID. This method supports patch semantics.",
          "flatPath": "walletobjects/v1/transitClass/{resourceId}",
          "httpMethod": "PATCH",
          "id": "walletobjects.transitclass.patch",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/transitClass/{resourceId}",
          "request": {
            "$ref": "TransitClass"
          },
          "response": {
            "$ref": "TransitClass"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "update": {
          "description": "Updates the transit class referenced by the given class ID.",
          "flatPath": "walletobjects/v1/transitClass/{resourceId}",
          "httpMethod": "PUT",
          "id": "walletobjects.transitclass.update",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/transitClass/{resourceId}",
          "request": {
            "$ref": "TransitClass"
          },
          "response": {
            "$ref": "TransitClass"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        }
      }
    },
    "transitobject": {
      "methods": {
        "addmessage": {
          "description": "Adds a message to the transit object referenced by the given object ID.",
          "flatPath": "walletobjects/v1/transitObject/{resourceId}/addMessage",
          "httpMethod": "POST",
          "id": "walletobjects.transitobject.addmessage",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/transitObject/{resourceId}/addMessage",
          "request": {
            "$ref": "AddMessageRequest"
          },
          "response": {
            "$ref": "TransitObjectAddMessageResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "get": {
          "description": "Returns the transit object with the given object ID.",
          "flatPath": "walletobjects/v1/transitObject/{resourceId}",
          "httpMethod": "GET",
          "id": "walletobjects.transitobject.get",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/transitObject/{resourceId}",
          "response": {
            "$ref": "TransitObject"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "insert": {
          "description": "Inserts an transit object with the given ID and properties.",
          "flatPath": "walletobjects/v1/transitObject",
          "httpMethod": "POST",
          "id": "walletobjects.transitobject.insert",
          "parameterOrder": [],
          "parameters": {},
          "path": "walletobjects/v1/transitObject",
          "request": {
            "$ref": "TransitObject"
          },
          "response": {
            "$ref": "TransitObject"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "list": {
          "description": "Returns a list of all transit objects for a given issuer ID.",
          "flatPath": "walletobjects/v1/transitObject",
          "httpMethod": "GET",
          "id": "walletobjects.transitobject.list",
          "parameterOrder": [],
          "parameters": {
            "classId": {
              "description": "The ID of the class whose objects will be listed.",
              "location": "query",
              "type": "string"
            },
            "maxResults": {
              "description": "Identifies the max number of results returned by a list. All results are returned if `maxResults` isn't defined.",
              "format": "int32",
              "location": "query",
              "type": "integer"
            },
            "token": {
              "description": "Used to get the next set of results if `maxResults` is specified, but more than `maxResults` objects are available in a list. For example, if you have a list of 200 objects and you call list with `maxResults` set to 20, list will return the first 20 objects and a token. Call list again with `maxResults` set to 20 and the token to get the next 20 objects.",
              "location": "query",
              "type": "string"
            }
          },
          "path": "walletobjects/v1/transitObject",
          "response": {
            "$ref": "TransitObjectListResponse"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "patch": {
          "description": "Updates the transit object referenced by the given object ID. This method supports patch semantics.",
          "flatPath": "walletobjects/v1/transitObject/{resourceId}",
          "httpMethod": "PATCH",
          "id": "walletobjects.transitobject.patch",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/transitObject/{resourceId}",
          "request": {
            "$ref": "TransitObject"
          },
          "response": {
            "$ref": "TransitObject"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        },
        "update": {
          "description": "Updates the transit object referenced by the given object ID.",
          "flatPath": "walletobjects/v1/transitObject/{resourceId}",
          "httpMethod": "PUT",
          "id": "walletobjects.transitobject.update",
          "parameterOrder": [
            "resourceId"
          ],
          "parameters": {
            "resourceId": {
              "description": "The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
              "location": "path",
              "required": true,
              "type": "string"
            }
          },
          "path": "walletobjects/v1/transitObject/{resourceId}",
          "request": {
            "$ref": "TransitObject"
          },
          "response": {
            "$ref": "TransitObject"
          },
          "scopes": [
            "https://www.googleapis.com/auth/wallet_object.issuer"
          ]
        }
      }
    },
    "walletobjects": {
      "resources": {
        "v1": {
          "resources": {
            "privateContent": {
              "methods": {
                "setPassUpdateNotice": {
                  "description": "Provide Google with information about awaiting private pass update. This will allow Google to provide the update notification to the device that currently holds this pass.",
                  "flatPath": "walletobjects/v1/privateContent/setPassUpdateNotice",
                  "httpMethod": "POST",
                  "id": "walletobjects.walletobjects.v1.privateContent.setPassUpdateNotice",
                  "parameterOrder": [],
                  "parameters": {},
                  "path": "walletobjects/v1/privateContent/setPassUpdateNotice",
                  "request": {
                    "$ref": "SetPassUpdateNoticeRequest"
                  },
                  "response": {
                    "$ref": "SetPassUpdateNoticeResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/wallet_object.issuer"
                  ]
                },
                "uploadPrivateData": {
                  "description": "Upload private data (text or URI) and returns an Id to be used in its place.",
                  "flatPath": "walletobjects/v1/privateContent/uploadPrivateData",
                  "httpMethod": "POST",
                  "id": "walletobjects.walletobjects.v1.privateContent.uploadPrivateData",
                  "parameterOrder": [],
                  "parameters": {},
                  "path": "walletobjects/v1/privateContent/uploadPrivateData",
                  "request": {
                    "$ref": "UploadPrivateDataRequest"
                  },
                  "response": {
                    "$ref": "UploadPrivateDataResponse"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/wallet_object.issuer"
                  ]
                }
              }
            }
          }
        }
      }
    }
  },
  "revision": "20231211",
  "rootUrl": "https://walletobjects.googleapis.com/",
  "schemas": {
    "ActivationOptions": {
      "description": "ActivationOptions for the class",
      "id": "ActivationOptions",
      "properties": {
        "activationUrl": {
          "description": "HTTPS URL that supports REST semantics. Would be used for requesting activation from partners for given valuable, triggered by the users.",
          "type": "string"
        },
        "allowReactivation": {
          "description": "Flag to allow users to make activation call from different device. This allows client to render the activation button enabled even if the activationStatus is ACTIVATED but the requested device is different than the current device.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "ActivationStatus": {
      "description": "The activation status of the object. This field includes activation status if valuable supports activation.",
      "id": "ActivationStatus",
      "properties": {
        "state": {
          "enum": [
            "UNKNOWN_STATE",
            "NOT_ACTIVATED",
            "not_activated",
            "ACTIVATED",
            "activated"
          ],
          "enumDeprecated": [
            false,
            false,
            true,
            false,
            true
          ],
          "enumDescriptions": [
            "",
            "Not-Activated, this is the default status",
            "Legacy alias for `NOT_ACTIVATED`. Deprecated.",
            "Activated",
            "Legacy alias for `ACTIVATED`. Deprecated."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "AddMessageRequest": {
      "description": "Resource used when the AddMessage endpoints are called.",
      "id": "AddMessageRequest",
      "properties": {
        "message": {
          "$ref": "Message"
        }
      },
      "type": "object"
    },
    "AirportInfo": {
      "id": "AirportInfo",
      "properties": {
        "airportIataCode": {
          "description": "Three character IATA airport code. This is a required field for `origin` and `destination`. Eg: \"SFO\"",
          "type": "string"
        },
        "airportNameOverride": {
          "$ref": "LocalizedString",
          "description": "Optional field that overrides the airport city name defined by IATA. By default, Google takes the `airportIataCode` provided and maps it to the official airport city name defined by IATA. Official IATA airport city names can be found at IATA airport city names website. For example, for the airport IATA code \"LTN\", IATA website tells us that the corresponding airport city is \"London\". If this field is not populated, Google would display \"London\". However, populating this field with a custom name (eg: \"London Luton\") would override it."
        },
        "gate": {
          "description": "A name of the gate. Eg: \"B59\" or \"59\"",
          "type": "string"
        },
        "kind": {
          "deprecated": true,
          "description": "Identifies what kind of resource this is. Value: the fixed string `\"walletobjects#airportInfo\"`.",
          "type": "string"
        },
        "terminal": {
          "description": "Terminal name. Eg: \"INTL\" or \"I\"",
          "type": "string"
        }
      },
      "type": "object"
    },
    "AppLinkData": {
      "id": "AppLinkData",
      "properties": {
        "androidAppLinkInfo": {
          "$ref": "AppLinkDataAppLinkInfo",
          "description": "Optional information about the partner app link. If included, the app link link module will be rendered on the valuable details on the android client."
        },
        "iosAppLinkInfo": {
          "$ref": "AppLinkDataAppLinkInfo",
          "description": "Optional information about the partner app link. If included, the app link link module will be rendered on the valuable details on the ios client."
        },
        "webAppLinkInfo": {
          "$ref": "AppLinkDataAppLinkInfo",
          "description": "Optional information about the partner app link. If included, the app link link module will be rendered on the valuable details on the web client."
        }
      },
      "type": "object"
    },
    "AppLinkDataAppLinkInfo": {
      "id": "AppLinkDataAppLinkInfo",
      "properties": {
        "appLogoImage": {
          "$ref": "Image",
          "description": "Optional image to be displayed in the App Link Module"
        },
        "appTarget": {
          "$ref": "AppLinkDataAppLinkInfoAppTarget",
          "description": "Url to follow when opening the App Link Module on clients. It will be used by partners to open their webpage or deeplink into their app."
        },
        "description": {
          "$ref": "LocalizedString",
          "description": "String to be displayed in the description of the App Link Module Required"
        },
        "title": {
          "$ref": "LocalizedString",
          "description": "String to be displayed in the title of the App Link Module Required"
        }
      },
      "type": "object"
    },
    "AppLinkDataAppLinkInfoAppTarget": {
      "id": "AppLinkDataAppLinkInfoAppTarget",
      "properties": {
        "targetUri": {
          "$ref": "Uri"
        }
      },
      "type": "object"
    },
    "AuthenticationKey": {
      "id": "AuthenticationKey",
      "properties": {
        "id": {
          "description": "Available only to Smart Tap enabled partners. Contact support for additional guidance.",
          "format": "int32",
          "type": "integer"
        },
        "publicKeyPem": {
          "description": "Available only to Smart Tap enabled partners. Contact support for additional guidance.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Barcode": {
      "id": "Barcode",
      "properties": {
        "alternateText": {
          "description": "An optional text that will override the default text that shows under the barcode. This field is intended for a human readable equivalent of the barcode value, used when the barcode cannot be scanned.",
          "type": "string"
        },
        "kind": {
          "deprecated": true,
          "description": "Identifies what kind of resource this is. Value: the fixed string `\"walletobjects#barcode\"`.",
          "type": "string"
        },
        "renderEncoding": {
          "description": "The render encoding for the barcode. When specified, barcode is rendered in the given encoding. Otherwise best known encoding is chosen by Google.",
          "enum": [
            "RENDER_ENCODING_UNSPECIFIED",
            "UTF_8"
          ],
          "enumDescriptions": [
            "",
            "UTF_8 encoding for barcodes. This is only supported for barcode type qrCode."
          ],
          "type": "string"
        },
        "showCodeText": {
          "$ref": "LocalizedString",
          "description": "Optional text that will be shown when the barcode is hidden behind a click action. This happens in cases where a pass has Smart Tap enabled. If not specified, a default is chosen by Google."
        },
        "type": {
          "description": "The type of barcode.",
          "enum": [
            "BARCODE_TYPE_UNSPECIFIED",
            "AZTEC",
            "aztec",
            "CODE_39",
            "code39",
            "CODE_128",
            "code128",
            "CODABAR",
            "codabar",
            "DATA_MATRIX",
            "dataMatrix",
            "EAN_8",
            "ean8",
            "EAN_13",
            "ean13",
            "EAN13",
            "ITF_14",
            "itf14",
            "PDF_417",
            "pdf417",
            "PDF417",
            "QR_CODE",
            "qrCode",
            "qrcode",
            "UPC_A",
            "upcA",
            "TEXT_ONLY",
            "textOnly"
          ],
          "enumDeprecated": [
            false,
            false,
            true,
            false,
            true,
            false,
            true,
            false,
            true,
            false,
            true,
            false,
            true,
            false,
            true,
            true,
            false,
            true,
            false,
            true,
            true,
            false,
            true,
            true,
            false,
            true,
            false,
            true
          ],
          "enumDescriptions": [
            "",
            "Not supported for Rotating Barcodes.",
            "Legacy alias for `AZTEC`. Deprecated. Not supported for Rotating Barcodes.",
            "Not supported for Rotating Barcodes.",
            "Legacy alias for `CODE_39`. Deprecated. Not supported for Rotating Barcodes.",
            "Not supported for Rotating Barcodes.",
            "Legacy alias for `CODE_128`. Deprecated. Not supported for Rotating Barcodes.",
            "Not supported for Rotating Barcodes.",
            "Legacy alias for `CODABAR`. Deprecated. Not supported for Rotating Barcodes.",
            "A 2D matrix barcode consisting of black and white. Cells or modules are arranged in either a square or rectangle. Not supported for Rotating Barcodes.",
            "Legacy alias for `DATA_MATRIX`. Deprecated. Not supported for Rotating Barcodes.",
            "Not supported for Rotating Barcodes.",
            "Legacy alias for `EAN_8`. Deprecated. Not supported for Rotating Barcodes.",
            "Not supported for Rotating Barcodes.",
            "Legacy alias for `EAN_13`. Deprecated. Not supported for Rotating Barcodes.",
            "Legacy alias for `EAN_13`. Deprecated. Not supported for Rotating Barcodes.",
            "14 digit ITF code Not supported for Rotating Barcodes.",
            "Legacy alias for `ITF_14`. Deprecated. Not supported for Rotating Barcodes.",
            "Supported for Rotating Barcodes.",
            "Legacy alias for `PDF_417`. Deprecated.",
            "Legacy alias for `PDF_417`. Deprecated.",
            "Supported for Rotating Barcodes.",
            "Legacy alias for `QR_CODE`. Deprecated.",
            "Legacy alias for `QR_CODE`. Deprecated.",
            "11 or 12 digit codes Not supported for Rotating Barcodes.",
            "Legacy alias for `UPC_A`. Deprecated. Not supported for Rotating Barcodes.",
            "Renders the field as a text field. The `alternateText` field may not be used with a barcode of type `textOnly`. Not supported for Rotating Barcodes.",
            "Legacy alias for `TEXT_ONLY`. Deprecated. Not supported for Rotating Barcodes."
          ],
          "type": "string"
        },
        "value": {
          "description": "The value encoded in the barcode.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "BarcodeSectionDetail": {
      "id": "BarcodeSectionDetail",
      "properties": {
        "fieldSelector": {
          "$ref": "FieldSelector",
          "description": "A reference to an existing text-based or image field to display."
        }
      },
      "type": "object"
    },
    "Blobstore2Info": {
      "description": "Information to read/write to blobstore2.",
      "id": "Blobstore2Info",
      "properties": {
        "blobGeneration": {
          "description": "The blob generation id.",
          "format": "int64",
          "type": "string"
        },
        "blobId": {
          "description": "The blob id, e.g., /blobstore/prod/playground/scotty",
          "type": "string"
        },
        "downloadReadHandle": {
          "description": "Read handle passed from Bigstore -> Scotty for a GCS download. This is a signed, serialized blobstore2.ReadHandle proto which must never be set outside of Bigstore, and is not applicable to non-GCS media downloads.",
          "format": "byte",
          "type": "string"
        },
        "readToken": {
          "description": "The blob read token. Needed to read blobs that have not been replicated. Might not be available until the final call.",
          "type": "string"
        },
        "uploadMetadataContainer": {
          "description": "Metadata passed from Blobstore -> Scotty for a new GCS upload. This is a signed, serialized blobstore2.BlobMetadataContainer proto which must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.",
          "format": "byte",
          "type": "string"
        }
      },
      "type": "object"
    },
    "BoardingAndSeatingInfo": {
      "id": "BoardingAndSeatingInfo",
      "properties": {
        "boardingDoor": {
          "description": "Set this field only if this flight boards through more than one door or bridge and you want to explicitly print the door location on the boarding pass. Most airlines route their passengers to the right door or bridge by refering to doors/bridges by the `seatClass`. In those cases `boardingDoor` should not be set.",
          "enum": [
            "BOARDING_DOOR_UNSPECIFIED",
            "FRONT",
            "front",
            "BACK",
            "back"
          ],
          "enumDeprecated": [
            false,
            false,
            true,
            false,
            true
          ],
          "enumDescriptions": [
            "",
            "",
            "Legacy alias for `FRONT`. Deprecated.",
            "",
            "Legacy alias for `BACK`. Deprecated."
          ],
          "type": "string"
        },
        "boardingGroup": {
          "description": "The value of boarding group (or zone) this passenger shall board with. eg: \"B\" The label for this value will be determined by the `boardingPolicy` field in the `flightClass` referenced by this object.",
          "type": "string"
        },
        "boardingPosition": {
          "description": "The value of boarding position. eg: \"76\"",
          "type": "string"
        },
        "boardingPrivilegeImage": {
          "$ref": "Image",
          "description": "A small image shown above the boarding barcode. Airlines can use it to communicate any special boarding privileges. In the event the security program logo is also set, this image might be rendered alongside the logo for that security program."
        },
        "kind": {
          "deprecated": true,
          "description": "Identifies what kind of resource this is. Value: the fixed string `\"walletobjects#boardingAndSeatingInfo\"`.",
          "type": "string"
        },
        "seatAssignment": {
          "$ref": "LocalizedString",
          "description": "The passenger's seat assignment. To be used when there is no specific identifier to use in `seatNumber`. eg: \"assigned at gate\""
        },
        "seatClass": {
          "description": "The value of the seat class. eg: \"Economy\" or \"Economy Plus\"",
          "type": "string"
        },
        "seatNumber": {
          "description": "The value of passenger seat. If there is no specific identifier, use `seatAssignment` instead. eg: \"25A\"",
          "type": "string"
        },
        "sequenceNumber": {
          "description": "The sequence number on the boarding pass. This usually matches the sequence in which the passengers checked in. Airline might use the number for manual boarding and bag tags. eg: \"49\"",
          "type": "string"
        }
      },
      "type": "object"
    },
    "BoardingAndSeatingPolicy": {
      "id": "BoardingAndSeatingPolicy",
      "properties": {
        "boardingPolicy": {
          "description": "Indicates the policy the airline uses for boarding. If unset, Google will default to `zoneBased`.",
          "enum": [
            "BOARDING_POLICY_UNSPECIFIED",
            "ZONE_BASED",
            "zoneBased",
            "GROUP_BASED",
            "groupBased",
            "BOARDING_POLICY_OTHER",
            "boardingPolicyOther"
          ],
          "enumDeprecated": [
            false,
            false,
            true,
            false,
            true,
            false,
            true
          ],
          "enumDescriptions": [
            "",
            "",
            "Legacy alias for `ZONE_BASED`. Deprecated.",
            "",
            "Legacy alias for `GROUP_BASED`. Deprecated.",
            "",
            "Legacy alias for `BOARDING_POLICY_OTHER`. Deprecated."
          ],
          "type": "string"
        },
        "kind": {
          "deprecated": true,
          "description": "Identifies what kind of resource this is. Value: the fixed string `\"walletobjects#boardingAndSeatingPolicy\"`.",
          "type": "string"
        },
        "seatClassPolicy": {
          "description": "Seating policy which dictates how we display the seat class. If unset, Google will default to `cabinBased`.",
          "enum": [
            "SEAT_CLASS_POLICY_UNSPECIFIED",
            "CABIN_BASED",
            "cabinBased",
            "CLASS_BASED",
            "classBased",
            "TIER_BASED",
            "tierBased",
            "SEAT_CLASS_POLICY_OTHER",
            "seatClassPolicyOther"
          ],
          "enumDeprecated": [
            false,
            false,
            true,
            false,
            true,
            false,
            true,
            false,
            true
          ],
          "enumDescriptions": [
            "",
            "",
            "Legacy alias for `CABIN_BASED`. Deprecated.",
            "",
            "Legacy alias for `CLASS_BASED`. Deprecated.",
            "",
            "Legacy alias for `TIER_BASED`. Deprecated.",
            "",
            "Legacy alias for `SEAT_CLASS_POLICY_OTHER`. Deprecated."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "CallbackOptions": {
      "id": "CallbackOptions",
      "properties": {
        "updateRequestUrl": {
          "deprecated": true,
          "description": "URL for the merchant endpoint that would be called to request updates. The URL should be hosted on HTTPS and robots.txt should allow the URL path to be accessible by UserAgent:Google-Valuables. Deprecated.",
          "type": "string"
        },
        "url": {
          "description": "The HTTPS url configured by the merchant. The URL should be hosted on HTTPS and robots.txt should allow the URL path to be accessible by UserAgent:Google-Valuables.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "CardBarcodeSectionDetails": {
      "id": "CardBarcodeSectionDetails",
      "properties": {
        "firstBottomDetail": {
          "$ref": "BarcodeSectionDetail",
          "description": "Optional information to display below the barcode."
        },
        "firstTopDetail": {
          "$ref": "BarcodeSectionDetail",
          "description": "Optional information to display above the barcode. If `secondTopDetail` is defined, this will be displayed to the start side of this detail section."
        },
        "secondTopDetail": {
          "$ref": "BarcodeSectionDetail",
          "description": "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."
        }
      },
      "type": "object"
    },
    "CardRowOneItem": {
      "id": "CardRowOneItem",
      "properties": {
        "item": {
          "$ref": "TemplateItem",
          "description": "The item to be displayed in the row. This item will be automatically centered."
        }
      },
      "type": "object"
    },
    "CardRowTemplateInfo": {
      "id": "CardRowTemplateInfo",
      "properties": {
        "oneItem": {
          "$ref": "CardRowOneItem",
          "description": "Template for a row containing one item. Exactly one of \"one_item\", \"two_items\", \"three_items\" must be set."
        },
        "threeItems": {
          "$ref": "CardRowThreeItems",
          "description": "Template for a row containing three items. Exactly one of \"one_item\", \"two_items\", \"three_items\" must be set."
        },
        "twoItems": {
          "$ref": "CardRowTwoItems",
          "description": "Template for a row containing two items. Exactly one of \"one_item\", \"two_items\", \"three_items\" must be set."
        }
      },
      "type": "object"
    },
    "CardRowThreeItems": {
      "id": "CardRowThreeItems",
      "properties": {
        "endItem": {
          "$ref": "TemplateItem",
          "description": "The item to be displayed at the end of the row. This item will be aligned to the right."
        },
        "middleItem": {
          "$ref": "TemplateItem",
          "description": "The item to be displayed in the middle of the row. This item will be centered between the start and end items."
        },
        "startItem": {
          "$ref": "TemplateItem",
          "description": "The item to be displayed at the start of the row. This item will be aligned to the left."
        }
      },
      "type": "object"
    },
    "CardRowTwoItems": {
      "id": "CardRowTwoItems",
      "properties": {
        "endItem": {
          "$ref": "TemplateItem",
          "description": "The item to be displayed at the end of the row. This item will be aligned to the right."
        },
        "startItem": {
          "$ref": "TemplateItem",
          "description": "The item to be displayed at the start of the row. This item will be aligned to the left."
        }
      },
      "type": "object"
    },
    "CardTemplateOverride": {
      "id": "CardTemplateOverride",
      "properties": {
        "cardRowTemplateInfos": {
          "description": "Template information for rows in the card view. At most three rows are allowed to be specified.",
          "items": {
            "$ref": "CardRowTemplateInfo"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ClassTemplateInfo": {
      "id": "ClassTemplateInfo",
      "properties": {
        "cardBarcodeSectionDetails": {
          "$ref": "CardBarcodeSectionDetails",
          "description": "Specifies extra information to be displayed above and below the barcode."
        },
        "cardTemplateOverride": {
          "$ref": "CardTemplateOverride",
          "description": "Override for the card view."
        },
        "detailsTemplateOverride": {
          "$ref": "DetailsTemplateOverride",
          "description": "Override for the details view (beneath the card view)."
        },
        "listTemplateOverride": {
          "$ref": "ListTemplateOverride",
          "description": "Override for the passes list view."
        }
      },
      "type": "object"
    },
    "CompositeMedia": {
      "description": "A sequence of media data references representing composite data. Introduced to support Bigstore composite objects. For details, visit http://go/bigstore-composites.",
      "id": "CompositeMedia",
      "properties": {
        "blobRef": {
          "deprecated": true,
          "description": "Blobstore v1 reference, set if reference_type is BLOBSTORE_REF This should be the byte representation of a blobstore.BlobRef. Since Blobstore is deprecating v1, use blobstore2_info instead. For now, any v2 blob will also be represented in this field as v1 BlobRef.",
          "format": "byte",
          "type": "string"
        },
        "blobstore2Info": {
          "$ref": "Blobstore2Info",
          "description": "Blobstore v2 info, set if reference_type is BLOBSTORE_REF and it refers to a v2 blob."
        },
        "cosmoBinaryReference": {
          "description": "A binary data reference for a media download. Serves as a technology-agnostic binary reference in some Google infrastructure. This value is a serialized storage_cosmo.BinaryReference proto. Storing it as bytes is a hack to get around the fact that the cosmo proto (as well as others it includes) doesn't support JavaScript. This prevents us from including the actual type of this field.",
          "format": "byte",
          "type": "string"
        },
        "crc32cHash": {
          "description": "crc32.c hash for the payload.",
          "format": "uint32",
          "type": "integer"
        },
        "inline": {
          "description": "Media data, set if reference_type is INLINE",
          "format": "byte",
          "type": "string"
        },
        "length": {
          "description": "Size of the data, in bytes",
          "format": "int64",
          "type": "string"
        },
        "md5Hash": {
          "description": "MD5 hash for the payload.",
          "format": "byte",
          "type": "string"
        },
        "objectId": {
          "$ref": "ObjectId",
          "description": "Reference to a TI Blob, set if reference_type is BIGSTORE_REF."
        },
        "path": {
          "description": "Path to the data, set if reference_type is PATH",
          "type": "string"
        },
        "referenceType": {
          "description": "Describes what the field reference contains.",
          "enum": [
            "PATH",
            "BLOB_REF",
            "INLINE",
            "BIGSTORE_REF",
            "COSMO_BINARY_REFERENCE"
          ],
          "enumDescriptions": [
            "Reference contains a GFS path or a local path.",
            "Reference points to a blobstore object. This could be either a v1 blob_ref or a v2 blobstore2_info. Clients should check blobstore2_info first, since v1 is being deprecated.",
            "Data is included into this proto buffer",
            "Reference points to a bigstore object",
            "Indicates the data is stored in cosmo_binary_reference."
          ],
          "type": "string"
        },
        "sha1Hash": {
          "description": "SHA-1 hash for the payload.",
          "format": "byte",
          "type": "string"
        }
      },
      "type": "object"
    },
    "ContentTypeInfo": {
      "description": "Detailed Content-Type information from Scotty. The Content-Type of the media will typically be filled in by the header or Scotty's best_guess, but this extended information provides the backend with more information so that it can make a better decision if needed. This is only used on media upload requests from Scotty.",
      "id": "ContentTypeInfo",
      "properties": {
        "bestGuess": {
          "description": "Scotty's best guess of what the content type of the file is.",
          "type": "string"
        },
        "fromBytes": {
          "description": "The content type of the file derived by looking at specific bytes (i.e. \"magic bytes\") of the actual file.",
          "type": "string"
        },
        "fromFileName": {
          "description": "The content type of the file derived from the file extension of the original file name used by the client.",
          "type": "string"
        },
        "fromHeader": {
          "description": "The content type of the file as specified in the request headers, multipart headers, or RUPIO start request.",
          "type": "string"
        },
        "fromUrlPath": {
          "description": "The content type of the file derived from the file extension of the URL path. The URL path is assumed to represent a file name (which is typically only true for agents that are providing a REST API).",
          "type": "string"
        }
      },
      "type": "object"
    },
    "DateTime": {
      "id": "DateTime",
      "properties": {
        "date": {
          "description": "An ISO 8601 extended format date/time. Offset may or may not be required (refer to the parent field's documentation). Time may be specified up to nanosecond precision. Offsets may be specified with seconds precision (even though offset seconds is not part of ISO 8601). For example: `1985-04-12T23:20:50.52Z` would be 20 minutes and 50.52 seconds after the 23rd hour of April 12th, 1985 in UTC. `1985-04-12T19:20:50.52-04:00` would be 20 minutes and 50.52 seconds after the 19th hour of April 12th, 1985, 4 hours before UTC (same instant in time as the above example). If the date/time is intended for a physical location in New York, this would be the equivalent of Eastern Daylight Time (EDT). Remember that offset varies in regions that observe Daylight Saving Time (or Summer Time), depending on the time of the year. `1985-04-12T19:20:50.52` would be 20 minutes and 50.52 seconds after the 19th hour of April 12th, 1985 with no offset information. Providing an offset makes this an absolute instant in time around the world. The date/time will be adjusted based on the user's time zone. For example, a time of `2018-06-19T18:30:00-04:00` will be 18:30:00 for a user in New York and 15:30:00 for a user in Los Angeles. Omitting the offset makes this a local date/time, representing several instants in time around the world. The date/time will always be in the user's current time zone. For example, a time of `2018-06-19T18:30:00` will be 18:30:00 for a user in New York and also 18:30:00 for a user in Los Angeles. This is useful when the same local date/time should apply to many physical locations across several time zones.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "DetailsItemInfo": {
      "id": "DetailsItemInfo",
      "properties": {
        "item": {
          "$ref": "TemplateItem",
          "description": "The item to be displayed in the details list."
        }
      },
      "type": "object"
    },
    "DetailsTemplateOverride": {
      "id": "DetailsTemplateOverride",
      "properties": {
        "detailsItemInfos": {
          "description": "Information for the \"nth\" item displayed in the details list.",
          "items": {
            "$ref": "DetailsItemInfo"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "DeviceContext": {
      "description": "Device context associated with the object.",
      "id": "DeviceContext",
      "properties": {
        "deviceToken": {
          "description": "If set, redemption information will only be returned to the given device upon activation of the object. This should not be used as a stable identifier to trace a user's device. It can change across different passes for the same device or even across different activations for the same device. When setting this, callers must also set has_linked_device on the object being activated.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "DiffChecksumsResponse": {
      "description": "Backend response for a Diff get checksums response. For details on the Scotty Diff protocol, visit http://go/scotty-diff-protocol.",
      "id": "DiffChecksumsResponse",
      "properties": {
        "checksumsLocation": {
          "$ref": "CompositeMedia",
          "description": "Exactly one of these fields must be populated. If checksums_location is filled, the server will return the corresponding contents to the user. If object_location is filled, the server will calculate the checksums based on the content there and return that to the user. For details on the format of the checksums, see http://go/scotty-diff-protocol."
        },
        "chunkSizeBytes": {
          "description": "The chunk size of checksums. Must be a multiple of 256KB.",
          "format": "int64",
          "type": "string"
        },
        "objectLocation": {
          "$ref": "CompositeMedia",
          "description": "If set, calculate the checksums based on the contents and return them to the caller."
        },
        "objectSizeBytes": {
          "description": "The total size of the server object.",
          "format": "int64",
          "type": "string"
        },
        "objectVersion": {
          "description": "The object version of the object the checksums are being returned for.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "DiffDownloadResponse": {
      "description": "Backend response for a Diff download response. For details on the Scotty Diff protocol, visit http://go/scotty-diff-protocol.",
      "id": "DiffDownloadResponse",
      "properties": {
        "objectLocation": {
          "$ref": "CompositeMedia",
          "description": "The original object location."
        }
      },
      "type": "object"
    },
    "DiffUploadRequest": {
      "description": "A Diff upload request. For details on the Scotty Diff protocol, visit http://go/scotty-diff-protocol.",
      "id": "DiffUploadRequest",
      "properties": {
        "checksumsInfo": {
          "$ref": "CompositeMedia",
          "description": "The location of the checksums for the new object. Agents must clone the object located here, as the upload server will delete the contents once a response is received. For details on the format of the checksums, see http://go/scotty-diff-protocol."
        },
        "objectInfo": {
          "$ref": "CompositeMedia",
          "description": "The location of the new object. Agents must clone the object located here, as the upload server will delete the contents once a response is received."
        },
        "objectVersion": {
          "description": "The object version of the object that is the base version the incoming diff script will be applied to. This field will always be filled in.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "DiffUploadResponse": {
      "description": "Backend response for a Diff upload request. For details on the Scotty Diff protocol, visit http://go/scotty-diff-protocol.",
      "id": "DiffUploadResponse",
      "properties": {
        "objectVersion": {
          "description": "The object version of the object at the server. Must be included in the end notification response. The version in the end notification response must correspond to the new version of the object that is now stored at the server, after the upload.",
          "type": "string"
        },
        "originalObject": {
          "$ref": "CompositeMedia",
          "description": "The location of the original file for a diff upload request. Must be filled in if responding to an upload start notification."
        }
      },
      "type": "object"
    },
    "DiffVersionResponse": {
      "description": "Backend response for a Diff get version response. For details on the Scotty Diff protocol, visit http://go/scotty-diff-protocol.",
      "id": "DiffVersionResponse",
      "properties": {
        "objectSizeBytes": {
          "description": "The total size of the server object.",
          "format": "int64",
          "type": "string"
        },
        "objectVersion": {
          "description": "The version of the object stored at the server.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "DiscoverableProgram": {
      "description": "Information about how a class may be discovered and instantiated from within the Android Pay app. This is done by searching for a loyalty or gift card program and scanning or manually entering.",
      "id": "DiscoverableProgram",
      "properties": {
        "merchantSigninInfo": {
          "$ref": "DiscoverableProgramMerchantSigninInfo",
          "description": "Information about the ability to signin and add a valuable for this program through a merchant site. Used when MERCHANT_HOSTED_SIGNIN is enabled."
        },
        "merchantSignupInfo": {
          "$ref": "DiscoverableProgramMerchantSignupInfo",
          "description": "Information about the ability to signup and add a valuable for this program through a merchant site. Used when MERCHANT_HOSTED_SIGNUP is enabled."
        },
        "state": {
          "description": "Visibility state of the discoverable program.",
          "enum": [
            "STATE_UNSPECIFIED",
            "TRUSTED_TESTERS",
            "trustedTesters",
            "LIVE",
            "live",
            "DISABLED",
            "disabled"
          ],
          "enumDeprecated": [
            false,
            false,
            true,
            false,
            true,
            false,
            true
          ],
          "enumDescriptions": [
            "",
            "Visible only to testers that have access to issuer account.",
            "Legacy alias for `TRUSTED_TESTERS`. Deprecated.",
            "Visible to all.",
            "Legacy alias for `LIVE`. Deprecated.",
            "Not visible.",
            "Legacy alias for `DISABLED`. Deprecated."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "DiscoverableProgramMerchantSigninInfo": {
      "description": "Information about the merchant hosted signin flow for a program.",
      "id": "DiscoverableProgramMerchantSigninInfo",
      "properties": {
        "signinWebsite": {
          "$ref": "Uri",
          "description": "The URL to direct the user to for the merchant's signin site."
        }
      },
      "type": "object"
    },
    "DiscoverableProgramMerchantSignupInfo": {
      "description": "Information about the merchant hosted signup flow for a program.",
      "id": "DiscoverableProgramMerchantSignupInfo",
      "properties": {
        "signupSharedDatas": {
          "description": " User data that is sent in a POST request to the signup website URL. This information is encoded and then shared so that the merchant's website can prefill fields used to enroll the user for the discoverable program.",
          "items": {
            "enum": [
              "SHARED_DATA_TYPE_UNSPECIFIED",
              "FIRST_NAME",
              "LAST_NAME",
              "STREET_ADDRESS",
              "ADDRESS_LINE_1",
              "ADDRESS_LINE_2",
              "ADDRESS_LINE_3",
              "CITY",
              "STATE",
              "ZIPCODE",
              "COUNTRY",
              "EMAIL",
              "PHONE"
            ],
            "enumDescriptions": [
              "",
              "",
              "",
              "single line address field",
              "multi line address fields",
              "",
              "",
              "",
              "",
              "",
              "",
              "",
              ""
            ],
            "type": "string"
          },
          "type": "array"
        },
        "signupWebsite": {
          "$ref": "Uri",
          "description": "The URL to direct the user to for the merchant's signup site."
        }
      },
      "type": "object"
    },
    "DownloadParameters": {
      "description": "Parameters specific to media downloads.",
      "id": "DownloadParameters",
      "properties": {
        "allowGzipCompression": {
          "description": "A boolean to be returned in the response to Scotty. Allows/disallows gzip encoding of the payload content when the server thinks it's advantageous (hence, does not guarantee compression) which allows Scotty to GZip the response to the client.",
          "type": "boolean"
        },
        "ignoreRange": {
          "description": "Determining whether or not Apiary should skip the inclusion of any Content-Range header on its response to Scotty.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "EventDateTime": {
      "id": "EventDateTime",
      "properties": {
        "customDoorsOpenLabel": {
          "$ref": "LocalizedString",
          "description": "A custom label to use for the doors open value (`doorsOpen`) on the card detail view. This should only be used if the default \"Doors Open\" label or one of the `doorsOpenLabel` options is not sufficient. Both `doorsOpenLabel` and `customDoorsOpenLabel` may not be set. If neither is set, the label will default to \"Doors Open\", localized. If the doors open field is unset, this label will not be used."
        },
        "doorsOpen": {
          "description": "The date/time when the doors open at the venue. This is an ISO 8601 extended format date/time, with or without an offset. Time may be specified up to nanosecond precision. Offsets may be specified with seconds precision (even though offset seconds is not part of ISO 8601). For example: `1985-04-12T23:20:50.52Z` would be 20 minutes and 50.52 seconds after the 23rd hour of April 12th, 1985 in UTC. `1985-04-12T19:20:50.52-04:00` would be 20 minutes and 50.52 seconds after the 19th hour of April 12th, 1985, 4 hours before UTC (same instant in time as the above example). If the event were in New York, this would be the equivalent of Eastern Daylight Time (EDT). Remember that offset varies in regions that observe Daylight Saving Time (or Summer Time), depending on the time of the year. `1985-04-12T19:20:50.52` would be 20 minutes and 50.52 seconds after the 19th hour of April 12th, 1985 with no offset information. The portion of the date/time without the offset is considered the \"local date/time\". This should be the local date/time at the venue. For example, if the event occurs at the 20th hour of June 5th, 2018 at the venue, the local date/time portion should be `2018-06-05T20:00:00`. If the local date/time at the venue is 4 hours before UTC, an offset of `-04:00` may be appended. Without offset information, some rich features may not be available.",
          "type": "string"
        },
        "doorsOpenLabel": {
          "description": "The label to use for the doors open value (`doorsOpen`) on the card detail view. Each available option maps to a set of localized strings, so that translations are shown to the user based on their locale. Both `doorsOpenLabel` and `customDoorsOpenLabel` may not be set. If neither is set, the label will default to \"Doors Open\", localized. If the doors open field is unset, this label will not be used.",
          "enum": [
            "DOORS_OPEN_LABEL_UNSPECIFIED",
            "DOORS_OPEN",
            "doorsOpen",
            "GATES_OPEN",
            "gatesOpen"
          ],
          "enumDeprecated": [
            false,
            false,
            true,
            false,
            true
          ],
          "enumDescriptions": [
            "",
            "",
            "Legacy alias for `DOORS_OPEN`. Deprecated.",
            "",
            "Legacy alias for `GATES_OPEN`. Deprecated."
          ],
          "type": "string"
        },
        "end": {
          "description": "The date/time when the event ends. If the event spans multiple days, it should be the end date/time on the last day. This is an ISO 8601 extended format date/time, with or without an offset. Time may be specified up to nanosecond precision. Offsets may be specified with seconds precision (even though offset seconds is not part of ISO 8601). For example: `1985-04-12T23:20:50.52Z` would be 20 minutes and 50.52 seconds after the 23rd hour of April 12th, 1985 in UTC. `1985-04-12T19:20:50.52-04:00` would be 20 minutes and 50.52 seconds after the 19th hour of April 12th, 1985, 4 hours before UTC (same instant in time as the above example). If the event were in New York, this would be the equivalent of Eastern Daylight Time (EDT). Remember that offset varies in regions that observe Daylight Saving Time (or Summer Time), depending on the time of the year. `1985-04-12T19:20:50.52` would be 20 minutes and 50.52 seconds after the 19th hour of April 12th, 1985 with no offset information. The portion of the date/time without the offset is considered the \"local date/time\". This should be the local date/time at the venue. For example, if the event occurs at the 20th hour of June 5th, 2018 at the venue, the local date/time portion should be `2018-06-05T20:00:00`. If the local date/time at the venue is 4 hours before UTC, an offset of `-04:00` may be appended. Without offset information, some rich features may not be available.",
          "type": "string"
        },
        "kind": {
          "deprecated": true,
          "description": "Identifies what kind of resource this is. Value: the fixed string `\"walletobjects#eventDateTime\"`.",
          "type": "string"
        },
        "start": {
          "description": "The date/time when the event starts. If the event spans multiple days, it should be the start date/time on the first day. This is an ISO 8601 extended format date/time, with or without an offset. Time may be specified up to nanosecond precision. Offsets may be specified with seconds precision (even though offset seconds is not part of ISO 8601). For example: `1985-04-12T23:20:50.52Z` would be 20 minutes and 50.52 seconds after the 23rd hour of April 12th, 1985 in UTC. `1985-04-12T19:20:50.52-04:00` would be 20 minutes and 50.52 seconds after the 19th hour of April 12th, 1985, 4 hours before UTC (same instant in time as the above example). If the event were in New York, this would be the equivalent of Eastern Daylight Time (EDT). Remember that offset varies in regions that observe Daylight Saving Time (or Summer Time), depending on the time of the year. `1985-04-12T19:20:50.52` would be 20 minutes and 50.52 seconds after the 19th hour of April 12th, 1985 with no offset information. The portion of the date/time without the offset is considered the \"local date/time\". This should be the local date/time at the venue. For example, if the event occurs at the 20th hour of June 5th, 2018 at the venue, the local date/time portion should be `2018-06-05T20:00:00`. If the local date/time at the venue is 4 hours before UTC, an offset of `-04:00` may be appended. Without offset information, some rich features may not be available.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "EventReservationInfo": {
      "id": "EventReservationInfo",
      "properties": {
        "confirmationCode": {
          "description": "The confirmation code of the event reservation. This may also take the form of an \"order number\", \"confirmation number\", \"reservation number\", or other equivalent.",
          "type": "string"
        },
        "kind": {
          "deprecated": true,
          "description": "Identifies what kind of resource this is. Value: the fixed string `\"walletobjects#eventReservationInfo\"`.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "EventSeat": {
      "id": "EventSeat",
      "properties": {
        "gate": {
          "$ref": "LocalizedString",
          "description": "The gate the ticket holder should enter to get to their seat, such as \"A\" or \"West\". This field is localizable so you may translate words or use different alphabets for the characters in an identifier."
        },
        "kind": {
          "deprecated": true,
          "description": "Identifies what kind of resource this is. Value: the fixed string `\"walletobjects#eventSeat\"`.",
          "type": "string"
        },
        "row": {
          "$ref": "LocalizedString",
          "description": "The row of the seat, such as \"1\", E\", \"BB\", or \"A5\". This field is localizable so you may translate words or use different alphabets for the characters in an identifier."
        },
        "seat": {
          "$ref": "LocalizedString",
          "description": "The seat number, such as \"1\", \"2\", \"3\", or any other seat identifier. This field is localizable so you may translate words or use different alphabets for the characters in an identifier."
        },
        "section": {
          "$ref": "LocalizedString",
          "description": "The section of the seat, such as \"121\". This field is localizable so you may translate words or use different alphabets for the characters in an identifier."
        }
      },
      "type": "object"
    },
    "EventTicketClass": {
      "id": "EventTicketClass",
      "properties": {
        "allowMultipleUsersPerObject": {
          "deprecated": true,
          "description": "Deprecated. Use `multipleDevicesAndHoldersAllowedStatus` instead.",
          "type": "boolean"
        },
        "callbackOptions": {
          "$ref": "CallbackOptions",
          "description": "Callback options to be used to call the issuer back for every save/delete of an object for this class by the end-user. All objects of this class are eligible for the callback."
        },
        "classTemplateInfo": {
          "$ref": "ClassTemplateInfo",
          "description": "Template information about how the class should be displayed. If unset, Google will fallback to a default set of fields to display."
        },
        "confirmationCodeLabel": {
          "description": "The label to use for the confirmation code value (`eventTicketObject.reservationInfo.confirmationCode`) on the card detail view. Each available option maps to a set of localized strings, so that translations are shown to the user based on their locale. Both `confirmationCodeLabel` and `customConfirmationCodeLabel` may not be set. If neither is set, the label will default to \"Confirmation Code\", localized. If the confirmation code field is unset, this label will not be used.",
          "enum": [
            "CONFIRMATION_CODE_LABEL_UNSPECIFIED",
            "CONFIRMATION_CODE",
            "confirmationCode",
            "CONFIRMATION_NUMBER",
            "confirmationNumber",
            "ORDER_NUMBER",
            "orderNumber",
            "RESERVATION_NUMBER",
            "reservationNumber"
          ],
          "enumDeprecated": [
            false,
            false,
            true,
            false,
            true,
            false,
            true,
            false,
            true
          ],
          "enumDescriptions": [
            "",
            "",
            "Legacy alias for `CONFIRMATION_CODE`. Deprecated.",
            "",
            "Legacy alias for `CONFIRMATION_NUMBER`. Deprecated.",
            "",
            "Legacy alias for `ORDER_NUMBER`. Deprecated.",
            "",
            "Legacy alias for `RESERVATION_NUMBER`. Deprecated."
          ],
          "type": "string"
        },
        "countryCode": {
          "description": "Country code used to display the card's country (when the user is not in that country), as well as to display localized content when content is not available in the user's locale.",
          "type": "string"
        },
        "customConfirmationCodeLabel": {
          "$ref": "LocalizedString",
          "description": "A custom label to use for the confirmation code value (`eventTicketObject.reservationInfo.confirmationCode`) on the card detail view. This should only be used if the default \"Confirmation Code\" label or one of the `confirmationCodeLabel` options is not sufficient. Both `confirmationCodeLabel` and `customConfirmationCodeLabel` may not be set. If neither is set, the label will default to \"Confirmation Code\", localized. If the confirmation code field is unset, this label will not be used."
        },
        "customGateLabel": {
          "$ref": "LocalizedString",
          "description": "A custom label to use for the gate value (`eventTicketObject.seatInfo.gate`) on the card detail view. This should only be used if the default \"Gate\" label or one of the `gateLabel` options is not sufficient. Both `gateLabel` and `customGateLabel` may not be set. If neither is set, the label will default to \"Gate\", localized. If the gate field is unset, this label will not be used."
        },
        "customRowLabel": {
          "$ref": "LocalizedString",
          "description": "A custom label to use for the row value (`eventTicketObject.seatInfo.row`) on the card detail view. This should only be used if the default \"Row\" label or one of the `rowLabel` options is not sufficient. Both `rowLabel` and `customRowLabel` may not be set. If neither is set, the label will default to \"Row\", localized. If the row field is unset, this label will not be used."
        },
        "customSeatLabel": {
          "$ref": "LocalizedString",
          "description": "A custom label to use for the seat value (`eventTicketObject.seatInfo.seat`) on the card detail view. This should only be used if the default \"Seat\" label or one of the `seatLabel` options is not sufficient. Both `seatLabel` and `customSeatLabel` may not be set. If neither is set, the label will default to \"Seat\", localized. If the seat field is unset, this label will not be used."
        },
        "customSectionLabel": {
          "$ref": "LocalizedString",
          "description": "A custom label to use for the section value (`eventTicketObject.seatInfo.section`) on the card detail view. This should only be used if the default \"Section\" label or one of the `sectionLabel` options is not sufficient. Both `sectionLabel` and `customSectionLabel` may not be set. If neither is set, the label will default to \"Section\", localized. If the section field is unset, this label will not be used."
        },
        "dateTime": {
          "$ref": "EventDateTime",
          "description": "The date & time information of the event."
        },
        "enableSmartTap": {
          "description": "Identifies whether this class supports Smart Tap. The `redemptionIssuers` and object level `smartTapRedemptionLevel` fields must also be set up correctly in order for a pass to support Smart Tap.",
          "type": "boolean"
        },
        "eventId": {
          "description": "The ID of the event. This ID should be unique for every event in an account. It is used to group tickets together if the user has saved multiple tickets for the same event. It can be at most 64 characters. If provided, the grouping will be stable. Be wary of unintentional collision to avoid grouping tickets that should not be grouped. If you use only one class per event, you can simply set this to the `classId` (with or without the issuer ID portion). If not provided, the platform will attempt to use other data to group tickets (potentially unstable).",
          "type": "string"
        },
        "eventName": {
          "$ref": "LocalizedString",
          "description": "Required. The name of the event, such as \"LA Dodgers at SF Giants\"."
        },
        "finePrint": {
          "$ref": "LocalizedString",
          "description": "The fine print, terms, or conditions of the ticket."
        },
        "gateLabel": {
          "description": "The label to use for the gate value (`eventTicketObject.seatInfo.gate`) on the card detail view. Each available option maps to a set of localized strings, so that translations are shown to the user based on their locale. Both `gateLabel` and `customGateLabel` may not be set. If neither is set, the label will default to \"Gate\", localized. If the gate field is unset, this label will not be used.",
          "enum": [
            "GATE_LABEL_UNSPECIFIED",
            "GATE",
            "gate",
            "DOOR",
            "door",
            "ENTRANCE",
            "entrance"
          ],
          "enumDeprecated": [
            false,
            false,
            true,
            false,
            true,
            false,
            true
          ],
          "enumDescriptions": [
            "",
            "",
            "Legacy alias for `GATE`. Deprecated.",
            "",
            "Legacy alias for `DOOR`. Deprecated.",
            "",
            "Legacy alias for `ENTRANCE`. Deprecated."
          ],
          "type": "string"
        },
        "heroImage": {
          "$ref": "Image",
          "description": "Optional banner image displayed on the front of the card. If none is present, nothing will be displayed. The image will display at 100% width."
        },
        "hexBackgroundColor": {
          "description": "The background color for the card. If not set the dominant color of the hero image is used, and if no hero image is set, the dominant color of the logo is used. The format is #rrggbb where rrggbb is a hex RGB triplet, such as `#ffcc00`. You can also use the shorthand version of the RGB triplet which is #rgb, such as `#fc0`.",
          "type": "string"
        },
        "homepageUri": {
          "$ref": "Uri",
          "description": "The URI of your application's home page. Populating the URI in this field results in the exact same behavior as populating an URI in linksModuleData (when an object is rendered, a link to the homepage is shown in what would usually be thought of as the linksModuleData section of the object)."
        },
        "id": {
          "description": "Required. The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
          "type": "string"
        },
        "imageModulesData": {
          "description": "Image module data. The maximum number of these fields displayed is 1 from object level and 1 for class object level.",
          "items": {
            "$ref": "ImageModuleData"
          },
          "type": "array"
        },
        "infoModuleData": {
          "$ref": "InfoModuleData",
          "deprecated": true,
          "description": "Deprecated. Use textModulesData instead."
        },
        "issuerName": {
          "description": "Required. The issuer name. Recommended maximum length is 20 characters to ensure full string is displayed on smaller screens.",
          "type": "string"
        },
        "kind": {
          "deprecated": true,
          "description": "Identifies what kind of resource this is. Value: the fixed string `\"walletobjects#eventTicketClass\"`.",
          "type": "string"
        },
        "linksModuleData": {
          "$ref": "LinksModuleData",
          "description": "Links module data. If links module data is also defined on the object, both will be displayed."
        },
        "localizedIssuerName": {
          "$ref": "LocalizedString",
          "description": "Translated strings for the issuer_name. Recommended maximum length is 20 characters to ensure full string is displayed on smaller screens."
        },
        "locations": {
          "description": "Note: This field is currently not supported to trigger geo notifications.",
          "items": {
            "$ref": "LatLongPoint"
          },
          "type": "array"
        },
        "logo": {
          "$ref": "Image",
          "description": "The logo image of the ticket. This image is displayed in the card detail view of the app."
        },
        "messages": {
          "description": "An array of messages displayed in the app. All users of this object will receive its associated messages. The maximum number of these fields is 10.",
          "items": {
            "$ref": "Message"
          },
          "type": "array"
        },
        "multipleDevicesAndHoldersAllowedStatus": {
          "description": "Identifies whether multiple users and devices will save the same object referencing this class.",
          "enum": [
            "STATUS_UNSPECIFIED",
            "MULTIPLE_HOLDERS",
            "ONE_USER_ALL_DEVICES",
            "ONE_USER_ONE_DEVICE",
            "multipleHolders",
            "oneUserAllDevices",
            "oneUserOneDevice"
          ],
          "enumDeprecated": [
            false,
            false,
            false,
            false,
            true,
            true,
            true
          ],
          "enumDescriptions": [
            "Unspecified preference.",
            "The same object can be saved by any number of different users, and on any number of devices. Partners typically use this setup for passes that do not need to be restricted to a single user or pinned to a single device.",
            "An object can only be saved by one user, but this user can view and use it on multiple of their devices. Once the first user saves the object, no other user will be allowed to view or save it.",
            "An object can only be saved by one user on a single device. Intended for use by select partners in limited circumstances. An example use case is a transit ticket that should be \"device pinned\", meaning it can be saved, viewed and used only by a single user on a single device. Contact support for additional information.",
            "Legacy alias for `MULTIPLE_HOLDERS`. Deprecated.",
            "Legacy alias for `ONE_USER_ALL_DEVICES`. Deprecated.",
            "Legacy alias for `ONE_USER_ONE_DEVICE`. Deprecated."
          ],
          "type": "string"
        },
        "redemptionIssuers": {
          "description": "Identifies which redemption issuers can redeem the pass over Smart Tap. Redemption issuers are identified by their issuer ID. Redemption issuers must have at least one Smart Tap key configured. The `enableSmartTap` and object level `smartTapRedemptionLevel` fields must also be set up correctly in order for a pass to support Smart Tap.",
          "items": {
            "format": "int64",
            "type": "string"
          },
          "type": "array"
        },
        "review": {
          "$ref": "Review",
          "description": "The review comments set by the platform when a class is marked `approved` or `rejected`."
        },
        "reviewStatus": {
          "description": "Required. The status of the class. This field can be set to `draft` or `underReview` using the insert, patch, or update API calls. Once the review state is changed from `draft` it may not be changed back to `draft`. You should keep this field to `draft` when the class is under development. A `draft` class cannot be used to create any object. You should set this field to `underReview` when you believe the class is ready for use. The platform will automatically set this field to `approved` and it can be immediately used to create or migrate objects. When updating an already `approved` class you should keep setting this field to `underReview`.",
          "enum": [
            "REVIEW_STATUS_UNSPECIFIED",
            "UNDER_REVIEW",
            "underReview",
            "APPROVED",
            "approved",
            "REJECTED",
            "rejected",
            "DRAFT",
            "draft"
          ],
          "enumDeprecated": [
            false,
            false,
            true,
            false,
            true,
            false,
            true,
            false,
            true
          ],
          "enumDescriptions": [
            "",
            "",
            "Legacy alias for `UNDER_REVIEW`. Deprecated.",
            "",
            "Legacy alias for `APPROVED`. Deprecated.",
            "",
            "Legacy alias for `REJECTED`. Deprecated.",
            "",
            "Legacy alias for `DRAFT`. Deprecated."
          ],
          "type": "string"
        },
        "rowLabel": {
          "description": "The label to use for the row value (`eventTicketObject.seatInfo.row`) on the card detail view. Each available option maps to a set of localized strings, so that translations are shown to the user based on their locale. Both `rowLabel` and `customRowLabel` may not be set. If neither is set, the label will default to \"Row\", localized. If the row field is unset, this label will not be used.",
          "enum": [
            "ROW_LABEL_UNSPECIFIED",
            "ROW",
            "row"
          ],
          "enumDeprecated": [
            false,
            false,
            true
          ],
          "enumDescriptions": [
            "",
            "",
            "Legacy alias for `ROW`. Deprecated."
          ],
          "type": "string"
        },
        "seatLabel": {
          "description": "The label to use for the seat value (`eventTicketObject.seatInfo.seat`) on the card detail view. Each available option maps to a set of localized strings, so that translations are shown to the user based on their locale. Both `seatLabel` and `customSeatLabel` may not be set. If neither is set, the label will default to \"Seat\", localized. If the seat field is unset, this label will not be used.",
          "enum": [
            "SEAT_LABEL_UNSPECIFIED",
            "SEAT",
            "seat"
          ],
          "enumDeprecated": [
            false,
            false,
            true
          ],
          "enumDescriptions": [
            "",
            "",
            "Legacy alias for `SEAT`. Deprecated."
          ],
          "type": "string"
        },
        "sectionLabel": {
          "description": "The label to use for the section value (`eventTicketObject.seatInfo.section`) on the card detail view. Each available option maps to a set of localized strings, so that translations are shown to the user based on their locale. Both `sectionLabel` and `customSectionLabel` may not be set. If neither is set, the label will default to \"Section\", localized. If the section field is unset, this label will not be used.",
          "enum": [
            "SECTION_LABEL_UNSPECIFIED",
            "SECTION",
            "section",
            "THEATER",
            "theater"
          ],
          "enumDeprecated": [
            false,
            false,
            true,
            false,
            true
          ],
          "enumDescriptions": [
            "",
            "",
            "Legacy alias for `SECTION`. Deprecated.",
            "",
            "Legacy alias for `THEATER`. Deprecated."
          ],
          "type": "string"
        },
        "securityAnimation": {
          "$ref": "SecurityAnimation",
          "description": "Optional information about the security animation. If this is set a security animation will be rendered on pass details."
        },
        "textModulesData": {
          "description": "Text module data. If text module data is also defined on the class, both will be displayed. The maximum number of these fields displayed is 10 from the object and 10 from the class.",
          "items": {
            "$ref": "TextModuleData"
          },
          "type": "array"
        },
        "venue": {
          "$ref": "EventVenue",
          "description": "Event venue details."
        },
        "version": {
          "deprecated": true,
          "description": "Deprecated",
          "format": "int64",
          "type": "string"
        },
        "viewUnlockRequirement": {
          "description": "View Unlock Requirement options for the event ticket.",
          "enum": [
            "VIEW_UNLOCK_REQUIREMENT_UNSPECIFIED",
            "UNLOCK_NOT_REQUIRED",
            "UNLOCK_REQUIRED_TO_VIEW"
          ],
          "enumDescriptions": [
            "Default value, same as UNLOCK_NOT_REQUIRED.",
            "Default behavior for all the existing Passes if ViewUnlockRequirement is not set.",
            "Requires the user to unlock their device each time the pass is viewed. If the user removes their device lock after saving the pass, then they will be prompted to create a device lock before the pass can be viewed."
          ],
          "type": "string"
        },
        "wideLogo": {
          "$ref": "Image",
          "description": "The wide logo of the ticket. When provided, this will be used in place of the logo in the top left of the card view."
        },
        "wordMark": {
          "$ref": "Image",
          "deprecated": true,
          "description": "Deprecated."
        }
      },
      "type": "object"
    },
    "EventTicketClassAddMessageResponse": {
      "id": "EventTicketClassAddMessageResponse",
      "properties": {
        "resource": {
          "$ref": "EventTicketClass",
          "description": "The updated EventTicketClass resource."
        }
      },
      "type": "object"
    },
    "EventTicketClassListResponse": {
      "id": "EventTicketClassListResponse",
      "properties": {
        "pagination": {
          "$ref": "Pagination",
          "description": "Pagination of the response."
        },
        "resources": {
          "description": "Resources corresponding to the list request.",
          "items": {
            "$ref": "EventTicketClass"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "EventTicketObject": {
      "id": "EventTicketObject",
      "properties": {
        "appLinkData": {
          "$ref": "AppLinkData",
          "description": "Optional information about the partner app link."
        },
        "barcode": {
          "$ref": "Barcode",
          "description": "The barcode type and value."
        },
        "classId": {
          "description": "Required. The class associated with this object. The class must be of the same type as this object, must already exist, and must be approved. Class IDs should follow the format issuer ID.identifier where the former is issued by Google and latter is chosen by you.",
          "type": "string"
        },
        "classReference": {
          "$ref": "EventTicketClass",
          "description": "A copy of the inherited fields of the parent class. These fields are retrieved during a GET."
        },
        "disableExpirationNotification": {
          "description": "Indicates if notifications should explicitly be suppressed. If this field is set to true, regardless of the `messages` field, expiration notifications to the user will be suppressed. By default, this field is set to false. Currently, this can only be set for offers.",
          "type": "boolean"
        },
        "faceValue": {
          "$ref": "Money",
          "description": "The face value of the ticket, matching what would be printed on a physical version of the ticket."
        },
        "groupingInfo": {
          "$ref": "GroupingInfo",
          "description": "Information that controls how passes are grouped together."
        },
        "hasLinkedDevice": {
          "description": "Whether this object is currently linked to a single device. This field is set by the platform when a user saves the object, linking it to their device. Intended for use by select partners. Contact support for additional information.",
          "type": "boolean"
        },
        "hasUsers": {
          "description": "Indicates if the object has users. This field is set by the platform.",
          "type": "boolean"
        },
        "heroImage": {
          "$ref": "Image",
          "description": "Optional banner image displayed on the front of the card. If none is present, hero image of the class, if present, will be displayed. If hero image of the class is also not present, nothing will be displayed."
        },
        "hexBackgroundColor": {
          "description": "The background color for the card. If not set the dominant color of the hero image is used, and if no hero image is set, the dominant color of the logo is used. The format is #rrggbb where rrggbb is a hex RGB triplet, such as `#ffcc00`. You can also use the shorthand version of the RGB triplet which is #rgb, such as `#fc0`.",
          "type": "string"
        },
        "id": {
          "description": "Required. The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID.identifier where the former is issued by Google and latter is chosen by you. The unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
          "type": "string"
        },
        "imageModulesData": {
          "description": "Image module data. The maximum number of these fields displayed is 1 from object level and 1 for class object level.",
          "items": {
            "$ref": "ImageModuleData"
          },
          "type": "array"
        },
        "infoModuleData": {
          "$ref": "InfoModuleData",
          "description": "Deprecated. Use textModulesData instead."
        },
        "kind": {
          "deprecated": true,
          "description": "Identifies what kind of resource this is. Value: the fixed string `\"walletobjects#eventTicketObject\"`.",
          "type": "string"
        },
        "linkedOfferIds": {
          "description": "A list of offer objects linked to this event ticket. The offer objects must already exist. Offer object IDs should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "linksModuleData": {
          "$ref": "LinksModuleData",
          "description": "Links module data. If links module data is also defined on the class, both will be displayed."
        },
        "locations": {
          "description": "Note: This field is currently not supported to trigger geo notifications.",
          "items": {
            "$ref": "LatLongPoint"
          },
          "type": "array"
        },
        "messages": {
          "description": "An array of messages displayed in the app. All users of this object will receive its associated messages. The maximum number of these fields is 10.",
          "items": {
            "$ref": "Message"
          },
          "type": "array"
        },
        "passConstraints": {
          "$ref": "PassConstraints",
          "description": "Pass constraints for the object. Includes limiting NFC and screenshot behaviors."
        },
        "reservationInfo": {
          "$ref": "EventReservationInfo",
          "description": "Reservation details for this ticket. This is expected to be shared amongst all tickets that were purchased in the same order."
        },
        "rotatingBarcode": {
          "$ref": "RotatingBarcode",
          "description": "The rotating barcode type and value."
        },
        "seatInfo": {
          "$ref": "EventSeat",
          "description": "Seating details for this ticket."
        },
        "smartTapRedemptionValue": {
          "description": "The value that will be transmitted to a Smart Tap certified terminal over NFC for this object. The class level fields `enableSmartTap` and `redemptionIssuers` must also be set up correctly in order for the pass to support Smart Tap. Only ASCII characters are supported.",
          "type": "string"
        },
        "state": {
          "description": "Required. The state of the object. This field is used to determine how an object is displayed in the app. For example, an `inactive` object is moved to the \"Expired passes\" section.",
          "enum": [
            "STATE_UNSPECIFIED",
            "ACTIVE",
            "active",
            "COMPLETED",
            "completed",
            "EXPIRED",
            "expired",
            "INACTIVE",
            "inactive"
          ],
          "enumDeprecated": [
            false,
            false,
            true,
            false,
            true,
            false,
            true,
            false,
            true
          ],
          "enumDescriptions": [
            "",
            "Object is active and displayed to with other active objects.",
            "Legacy alias for `ACTIVE`. Deprecated.",
            "",
            "Legacy alias for `COMPLETED`. Deprecated.",
            "Object is no longer valid (`validTimeInterval` passed).",
            "Legacy alias for `EXPIRED`. Deprecated.",
            "",
            "Legacy alias for `INACTIVE`. Deprecated."
          ],
          "type": "string"
        },
        "textModulesData": {
          "description": "Text module data. If text module data is also defined on the class, both will be displayed. The maximum number of these fields displayed is 10 from the object and 10 from the class.",
          "items": {
            "$ref": "TextModuleData"
          },
          "type": "array"
        },
        "ticketHolderName": {
          "description": "Name of the ticket holder, if the ticket is assigned to a person. E.g. \"John Doe\" or \"Jane Doe\".",
          "type": "string"
        },
        "ticketNumber": {
          "description": "The number of the ticket. This can be a unique identifier across all tickets in an issuer's system, all tickets for the event (e.g. XYZ1234512345), or all tickets in the order (1, 2, 3, etc.).",
          "type": "string"
        },
        "ticketType": {
          "$ref": "LocalizedString",
          "description": "The type of the ticket, such as \"Adult\" or \"Child\", or \"VIP\" or \"Standard\"."
        },
        "validTimeInterval": {
          "$ref": "TimeInterval",
          "description": "The time period this object will be `active` and object can be used. An object's state will be changed to `expired` when this time period has passed."
        },
        "version": {
          "deprecated": true,
          "description": "Deprecated",
          "format": "int64",
          "type": "string"
        }
      },
      "type": "object"
    },
    "EventTicketObjectAddMessageResponse": {
      "id": "EventTicketObjectAddMessageResponse",
      "properties": {
        "resource": {
          "$ref": "EventTicketObject",
          "description": "The updated EventTicketObject resource."
        }
      },
      "type": "object"
    },
    "EventTicketObjectListResponse": {
      "id": "EventTicketObjectListResponse",
      "properties": {
        "pagination": {
          "$ref": "Pagination",
          "description": "Pagination of the response."
        },
        "resources": {
          "description": "Resources corresponding to the list request.",
          "items": {
            "$ref": "EventTicketObject"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "EventVenue": {
      "id": "EventVenue",
      "properties": {
        "address": {
          "$ref": "LocalizedString",
          "description": "The address of the venue, such as \"24 Willie Mays Plaza\\nSan Francisco, CA 94107\". Address lines are separated by line feed (`\\n`) characters. This is required."
        },
        "kind": {
          "deprecated": true,
          "description": "Identifies what kind of resource this is. Value: the fixed string `\"walletobjects#eventVenue\"`.",
          "type": "string"
        },
        "name": {
          "$ref": "LocalizedString",
          "description": "The name of the venue, such as \"AT&T Park\". This is required."
        }
      },
      "type": "object"
    },
    "ExpiryNotification": {
      "description": "Indicates that the issuer would like Google Wallet to send expiry notifications 2 days prior to the card expiration.",
      "id": "ExpiryNotification",
      "properties": {
        "enableNotification": {
          "description": "Indicates if the object needs to have expiry notification enabled.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "FieldReference": {
      "description": "Reference definition to use with field overrides.",
      "id": "FieldReference",
      "properties": {
        "dateFormat": {
          "description": "Only valid if the `fieldPath` references a date field. Chooses how the date field will be formatted and displayed in the UI.",
          "enum": [
            "DATE_FORMAT_UNSPECIFIED",
            "DATE_TIME",
            "dateTime",
            "DATE_ONLY",
            "dateOnly",
            "TIME_ONLY",
            "timeOnly",
            "DATE_TIME_YEAR",
            "dateTimeYear",
            "DATE_YEAR",
            "dateYear",
            "YEAR_MONTH",
            "YEAR_MONTH_DAY"
          ],
          "enumDeprecated": [
            false,
            false,
            true,
            false,
            true,
            false,
            true,
            false,
            true,
            false,
            true,
            false,
            false
          ],
          "enumDescriptions": [
            "Default option when no format is specified, when selected, no formatting will be applied.",
            "Renders `2018-12-14T13:00:00` as `Dec 14, 1:00 PM` in `en_US`.",
            "Legacy alias for `DATE_TIME`. Deprecated.",
            "Renders `2018-12-14T13:00:00` as `Dec 14` in `en_US`.",
            "Legacy alias for `DATE_ONLY`. Deprecated.",
            "Renders `2018-12-14T13:00:00` as `1:00 PM` in `en_US`.",
            "Legacy alias for `TIME_ONLY`. Deprecated.",
            "Renders `2018-12-14T13:00:00` as `Dec 14, 2018, 1:00 PM` in `en_US`.",
            "Legacy alias for `DATE_TIME_YEAR`. Deprecated.",
            "Renders `2018-12-14T13:00:00` as `Dec 14, 2018` in `en_US`.",
            "Legacy alias for `DATE_YEAR`. Deprecated.",
            "Renders `2018-12-14T13:00:00` as `2018-12`.",
            "Renders `2018-12-14T13:00:00` as `2018-12-14`."
          ],
          "type": "string"
        },
        "fieldPath": {
          "description": "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\".",
          "type": "string"
        }
      },
      "type": "object"
    },
    "FieldSelector": {
      "description": "Custom field selector to use with field overrides.",
      "id": "FieldSelector",
      "properties": {
        "fields": {
          "description": "If more than one reference is supplied, then the first one that references a non-empty field will be displayed.",
          "items": {
            "$ref": "FieldReference"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "FirstRowOption": {
      "id": "FirstRowOption",
      "properties": {
        "fieldOption": {
          "$ref": "FieldSelector",
          "description": "A reference to the field to be displayed in the first row."
        },
        "transitOption": {
          "enum": [
            "TRANSIT_OPTION_UNSPECIFIED",
            "ORIGIN_AND_DESTINATION_NAMES",
            "originAndDestinationNames",
            "ORIGIN_AND_DESTINATION_CODES",
            "originAndDestinationCodes",
            "ORIGIN_NAME",
            "originName"
          ],
          "enumDeprecated": [
            false,
            false,
            true,
            false,
            true,
            false,
            true
          ],
          "enumDescriptions": [
            "",
            "",
            "Legacy alias for `ORIGIN_AND_DESTINATION_NAMES`. Deprecated.",
            "",
            "Legacy alias for `ORIGIN_AND_DESTINATION_CODES`. Deprecated.",
            "",
            "Legacy alias for `ORIGIN_NAME`. Deprecated."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "FlightCarrier": {
      "id": "FlightCarrier",
      "properties": {
        "airlineAllianceLogo": {
          "$ref": "Image",
          "description": "A logo for the airline alliance, displayed above the QR code that the passenger scans to board."
        },
        "airlineLogo": {
          "$ref": "Image",
          "description": "A logo for the airline described by carrierIataCode and localizedAirlineName. This logo will be rendered at the top of the detailed card view."
        },
        "airlineName": {
          "$ref": "LocalizedString",
          "description": "A localized name of the airline specified by carrierIataCode. If unset, `issuer_name` or `localized_issuer_name` from `FlightClass` will be used for display purposes. eg: \"Swiss Air\" for \"LX\""
        },
        "carrierIataCode": {
          "description": "Two character IATA airline code of the marketing carrier (as opposed to operating carrier). Exactly one of this or `carrierIcaoCode` needs to be provided for `carrier` and `operatingCarrier`. eg: \"LX\" for Swiss Air",
          "type": "string"
        },
        "carrierIcaoCode": {
          "description": "Three character ICAO airline code of the marketing carrier (as opposed to operating carrier). Exactly one of this or `carrierIataCode` needs to be provided for `carrier` and `operatingCarrier`. eg: \"EZY\" for Easy Jet",
          "type": "string"
        },
        "kind": {
          "deprecated": true,
          "description": "Identifies what kind of resource this is. Value: the fixed string `\"walletobjects#flightCarrier\"`.",
          "type": "string"
        },
        "wideAirlineLogo": {
          "$ref": "Image",
          "description": "The wide logo of the airline. When provided, this will be used in place of the airline logo in the top left of the card view."
        }
      },
      "type": "object"
    },
    "FlightClass": {
      "id": "FlightClass",
      "properties": {
        "allowMultipleUsersPerObject": {
          "deprecated": true,
          "description": "Deprecated. Use `multipleDevicesAndHoldersAllowedStatus` instead.",
          "type": "boolean"
        },
        "boardingAndSeatingPolicy": {
          "$ref": "BoardingAndSeatingPolicy",
          "description": "Policies for boarding and seating. These will inform which labels will be shown to users."
        },
        "callbackOptions": {
          "$ref": "CallbackOptions",
          "description": "Callback options to be used to call the issuer back for every save/delete of an object for this class by the end-user. All objects of this class are eligible for the callback."
        },
        "classTemplateInfo": {
          "$ref": "ClassTemplateInfo",
          "description": "Template information about how the class should be displayed. If unset, Google will fallback to a default set of fields to display."
        },
        "countryCode": {
          "description": "Country code used to display the card's country (when the user is not in that country), as well as to display localized content when content is not available in the user's locale.",
          "type": "string"
        },
        "destination": {
          "$ref": "AirportInfo",
          "description": "Required. Destination airport."
        },
        "enableSmartTap": {
          "description": "Identifies whether this class supports Smart Tap. The `redemptionIssuers` and object level `smartTapRedemptionLevel` fields must also be set up correctly in order for a pass to support Smart Tap.",
          "type": "boolean"
        },
        "flightHeader": {
          "$ref": "FlightHeader",
          "description": "Required. Information about the flight carrier and number."
        },
        "flightStatus": {
          "description": "Status of this flight. If unset, Google will compute status based on data from other sources, such as FlightStats, etc. Note: Google-computed status will not be returned in API responses.",
          "enum": [
            "FLIGHT_STATUS_UNSPECIFIED",
            "SCHEDULED",
            "scheduled",
            "ACTIVE",
            "active",
            "LANDED",
            "landed",
            "CANCELLED",
            "cancelled",
            "REDIRECTED",
            "redirected",
            "DIVERTED",
            "diverted"
          ],
          "enumDeprecated": [
            false,
            false,
            true,
            false,
            true,
            false,
            true,
            false,
            true,
            false,
            true,
            false,
            true
          ],
          "enumDescriptions": [
            "",
            "Flight is on time, early, or delayed.",
            "Legacy alias for `SCHEDULED`. Deprecated.",
            "Flight is in progress (taxiing, taking off, landing, airborne).",
            "Legacy alias for `ACTIVE`. Deprecated.",
            "Flight landed at the original destination.",
            "Legacy alias for `LANDED`. Deprecated.",
            "Flight is cancelled.",
            "Legacy alias for `CANCELLED`. Deprecated.",
            "Flight is airborne but heading to a different airport than the original destination.",
            "Legacy alias for `REDIRECTED`. Deprecated.",
            "Flight has already landed at a different airport than the original destination.",
            "Legacy alias for `DIVERTED`. Deprecated."
          ],
          "type": "string"
        },
        "heroImage": {
          "$ref": "Image",
          "description": "Optional banner image displayed on the front of the card. If none is present, nothing will be displayed. The image will display at 100% width."
        },
        "hexBackgroundColor": {
          "description": "The background color for the card. If not set the dominant color of the hero image is used, and if no hero image is set, the dominant color of the logo is used. The format is #rrggbb where rrggbb is a hex RGB triplet, such as `#ffcc00`. You can also use the shorthand version of the RGB triplet which is #rgb, such as `#fc0`.",
          "type": "string"
        },
        "homepageUri": {
          "$ref": "Uri",
          "description": "The URI of your application's home page. Populating the URI in this field results in the exact same behavior as populating an URI in linksModuleData (when an object is rendered, a link to the homepage is shown in what would usually be thought of as the linksModuleData section of the object)."
        },
        "id": {
          "description": "Required. The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
          "type": "string"
        },
        "imageModulesData": {
          "description": "Image module data. The maximum number of these fields displayed is 1 from object level and 1 for class object level.",
          "items": {
            "$ref": "ImageModuleData"
          },
          "type": "array"
        },
        "infoModuleData": {
          "$ref": "InfoModuleData",
          "deprecated": true,
          "description": "Deprecated. Use textModulesData instead."
        },
        "issuerName": {
          "description": "Required. The issuer name. Recommended maximum length is 20 characters to ensure full string is displayed on smaller screens.",
          "type": "string"
        },
        "kind": {
          "deprecated": true,
          "description": "Identifies what kind of resource this is. Value: the fixed string `\"walletobjects#flightClass\"`.",
          "type": "string"
        },
        "languageOverride": {
          "description": "If this field is present, boarding passes served to a user's device will always be in this language. Represents the BCP 47 language tag. Example values are \"en-US\", \"en-GB\", \"de\", or \"de-AT\".",
          "type": "string"
        },
        "linksModuleData": {
          "$ref": "LinksModuleData",
          "description": "Links module data. If links module data is also defined on the object, both will be displayed."
        },
        "localBoardingDateTime": {
          "description": "The boarding time as it would be printed on the boarding pass. This is an ISO 8601 extended format date/time without an offset. Time may be specified up to millisecond precision. eg: `2027-03-05T06:30:00` This should be the local date/time at the airport (not a UTC time). Google will reject the request if UTC offset is provided. Time zones will be calculated by Google based on departure airport. If this is not set, Google will set it based on data from other sources.",
          "type": "string"
        },
        "localEstimatedOrActualArrivalDateTime": {
          "description": "The estimated time the aircraft plans to reach the destination gate (not the runway) or the actual time it reached the gate. This field should be set if at least one of the below is true: - It differs from the scheduled time. Google will use it to calculate the delay. - The aircraft already arrived at the gate. Google will use it to inform the user that the flight has arrived at the gate. This is an ISO 8601 extended format date/time without an offset. Time may be specified up to millisecond precision. eg: `2027-03-05T06:30:00` This should be the local date/time at the airport (not a UTC time). Google will reject the request if UTC offset is provided. Time zones will be calculated by Google based on arrival airport. If this is not set, Google will set it based on data from other sources.",
          "type": "string"
        },
        "localEstimatedOrActualDepartureDateTime": {
          "description": "The estimated time the aircraft plans to pull from the gate or the actual time the aircraft already pulled from the gate. Note: This is not the runway time. This field should be set if at least one of the below is true: - It differs from the scheduled time. Google will use it to calculate the delay. - The aircraft already pulled from the gate. Google will use it to inform the user when the flight actually departed. This is an ISO 8601 extended format date/time without an offset. Time may be specified up to millisecond precision. eg: `2027-03-05T06:30:00` This should be the local date/time at the airport (not a UTC time). Google will reject the request if UTC offset is provided. Time zones will be calculated by Google based on departure airport. If this is not set, Google will set it based on data from other sources.",
          "type": "string"
        },
        "localGateClosingDateTime": {
          "description": "The gate closing time as it would be printed on the boarding pass. Do not set this field if you do not want to print it in the boarding pass. This is an ISO 8601 extended format date/time without an offset. Time may be specified up to millisecond precision. eg: `2027-03-05T06:30:00` This should be the local date/time at the airport (not a UTC time). Google will reject the request if UTC offset is provided. Time zones will be calculated by Google based on departure airport.",
          "type": "string"
        },
        "localScheduledArrivalDateTime": {
          "description": "The scheduled time the aircraft plans to reach the destination gate (not the runway). Note: This field should not change too close to the flight time. For updates to departure times (delays, etc), please set `localEstimatedOrActualArrivalDateTime`. This is an ISO 8601 extended format date/time without an offset. Time may be specified up to millisecond precision. eg: `2027-03-05T06:30:00` This should be the local date/time at the airport (not a UTC time). Google will reject the request if UTC offset is provided. Time zones will be calculated by Google based on arrival airport. If this is not set, Google will set it based on data from other sources.",
          "type": "string"
        },
        "localScheduledDepartureDateTime": {
          "description": "Required. The scheduled date and time when the aircraft is expected to depart the gate (not the runway) Note: This field should not change too close to the departure time. For updates to departure times (delays, etc), please set `localEstimatedOrActualDepartureDateTime`. This is an ISO 8601 extended format date/time without an offset. Time may be specified up to millisecond precision. eg: `2027-03-05T06:30:00` This should be the local date/time at the airport (not a UTC time). Google will reject the request if UTC offset is provided. Time zones will be calculated by Google based on departure airport.",
          "type": "string"
        },
        "localizedIssuerName": {
          "$ref": "LocalizedString",
          "description": "Translated strings for the issuer_name. Recommended maximum length is 20 characters to ensure full string is displayed on smaller screens."
        },
        "locations": {
          "description": "Note: This field is currently not supported to trigger geo notifications.",
          "items": {
            "$ref": "LatLongPoint"
          },
          "type": "array"
        },
        "messages": {
          "description": "An array of messages displayed in the app. All users of this object will receive its associated messages. The maximum number of these fields is 10.",
          "items": {
            "$ref": "Message"
          },
          "type": "array"
        },
        "multipleDevicesAndHoldersAllowedStatus": {
          "description": "Identifies whether multiple users and devices will save the same object referencing this class.",
          "enum": [
            "STATUS_UNSPECIFIED",
            "MULTIPLE_HOLDERS",
            "ONE_USER_ALL_DEVICES",
            "ONE_USER_ONE_DEVICE",
            "multipleHolders",
            "oneUserAllDevices",
            "oneUserOneDevice"
          ],
          "enumDeprecated": [
            false,
            false,
            false,
            false,
            true,
            true,
            true
          ],
          "enumDescriptions": [
            "Unspecified preference.",
            "The same object can be saved by any number of different users, and on any number of devices. Partners typically use this setup for passes that do not need to be restricted to a single user or pinned to a single device.",
            "An object can only be saved by one user, but this user can view and use it on multiple of their devices. Once the first user saves the object, no other user will be allowed to view or save it.",
            "An object can only be saved by one user on a single device. Intended for use by select partners in limited circumstances. An example use case is a transit ticket that should be \"device pinned\", meaning it can be saved, viewed and used only by a single user on a single device. Contact support for additional information.",
            "Legacy alias for `MULTIPLE_HOLDERS`. Deprecated.",
            "Legacy alias for `ONE_USER_ALL_DEVICES`. Deprecated.",
            "Legacy alias for `ONE_USER_ONE_DEVICE`. Deprecated."
          ],
          "type": "string"
        },
        "origin": {
          "$ref": "AirportInfo",
          "description": "Required. Origin airport."
        },
        "redemptionIssuers": {
          "description": "Identifies which redemption issuers can redeem the pass over Smart Tap. Redemption issuers are identified by their issuer ID. Redemption issuers must have at least one Smart Tap key configured. The `enableSmartTap` and object level `smartTapRedemptionLevel` fields must also be set up correctly in order for a pass to support Smart Tap.",
          "items": {
            "format": "int64",
            "type": "string"
          },
          "type": "array"
        },
        "review": {
          "$ref": "Review",
          "description": "The review comments set by the platform when a class is marked `approved` or `rejected`."
        },
        "reviewStatus": {
          "description": "Required. The status of the class. This field can be set to `draft` or `underReview` using the insert, patch, or update API calls. Once the review state is changed from `draft` it may not be changed back to `draft`. You should keep this field to `draft` when the class is under development. A `draft` class cannot be used to create any object. You should set this field to `underReview` when you believe the class is ready for use. The platform will automatically set this field to `approved` and it can be immediately used to create or migrate objects. When updating an already `approved` class you should keep setting this field to `underReview`.",
          "enum": [
            "REVIEW_STATUS_UNSPECIFIED",
            "UNDER_REVIEW",
            "underReview",
            "APPROVED",
            "approved",
            "REJECTED",
            "rejected",
            "DRAFT",
            "draft"
          ],
          "enumDeprecated": [
            false,
            false,
            true,
            false,
            true,
            false,
            true,
            false,
            true
          ],
          "enumDescriptions": [
            "",
            "",
            "Legacy alias for `UNDER_REVIEW`. Deprecated.",
            "",
            "Legacy alias for `APPROVED`. Deprecated.",
            "",
            "Legacy alias for `REJECTED`. Deprecated.",
            "",
            "Legacy alias for `DRAFT`. Deprecated."
          ],
          "type": "string"
        },
        "securityAnimation": {
          "$ref": "SecurityAnimation",
          "description": "Optional information about the security animation. If this is set a security animation will be rendered on pass details."
        },
        "textModulesData": {
          "description": "Text module data. If text module data is also defined on the class, both will be displayed. The maximum number of these fields displayed is 10 from the object and 10 from the class.",
          "items": {
            "$ref": "TextModuleData"
          },
          "type": "array"
        },
        "version": {
          "deprecated": true,
          "description": "Deprecated",
          "format": "int64",
          "type": "string"
        },
        "viewUnlockRequirement": {
          "description": "View Unlock Requirement options for the boarding pass.",
          "enum": [
            "VIEW_UNLOCK_REQUIREMENT_UNSPECIFIED",
            "UNLOCK_NOT_REQUIRED",
            "UNLOCK_REQUIRED_TO_VIEW"
          ],
          "enumDescriptions": [
            "Default value, same as UNLOCK_NOT_REQUIRED.",
            "Default behavior for all the existing Passes if ViewUnlockRequirement is not set.",
            "Requires the user to unlock their device each time the pass is viewed. If the user removes their device lock after saving the pass, then they will be prompted to create a device lock before the pass can be viewed."
          ],
          "type": "string"
        },
        "wordMark": {
          "$ref": "Image",
          "deprecated": true,
          "description": "Deprecated."
        }
      },
      "type": "object"
    },
    "FlightClassAddMessageResponse": {
      "id": "FlightClassAddMessageResponse",
      "properties": {
        "resource": {
          "$ref": "FlightClass",
          "description": "The updated FlightClass resource."
        }
      },
      "type": "object"
    },
    "FlightClassListResponse": {
      "id": "FlightClassListResponse",
      "properties": {
        "pagination": {
          "$ref": "Pagination",
          "description": "Pagination of the response."
        },
        "resources": {
          "description": "Resources corresponding to the list request.",
          "items": {
            "$ref": "FlightClass"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "FlightHeader": {
      "id": "FlightHeader",
      "properties": {
        "carrier": {
          "$ref": "FlightCarrier",
          "description": "Information about airline carrier. This is a required property of `flightHeader`."
        },
        "flightNumber": {
          "description": "The flight number without IATA carrier code. This field should contain only digits. This is a required property of `flightHeader`. eg: \"123\"",
          "type": "string"
        },
        "flightNumberDisplayOverride": {
          "description": "Override value to use for flight number. The default value used for display purposes is carrier + flight_number. If a different value needs to be shown to passengers, use this field to override the default behavior. eg: \"XX1234 / YY576\"",
          "type": "string"
        },
        "kind": {
          "deprecated": true,
          "description": "Identifies what kind of resource this is. Value: the fixed string `\"walletobjects#flightHeader\"`.",
          "type": "string"
        },
        "operatingCarrier": {
          "$ref": "FlightCarrier",
          "description": "Information about operating airline carrier."
        },
        "operatingFlightNumber": {
          "description": "The flight number used by the operating carrier without IATA carrier code. This field should contain only digits. eg: \"234\"",
          "type": "string"
        }
      },
      "type": "object"
    },
    "FlightObject": {
      "id": "FlightObject",
      "properties": {
        "appLinkData": {
          "$ref": "AppLinkData",
          "description": "Optional information about the partner app link."
        },
        "barcode": {
          "$ref": "Barcode",
          "description": "The barcode type and value."
        },
        "boardingAndSeatingInfo": {
          "$ref": "BoardingAndSeatingInfo",
          "description": "Passenger specific information about boarding and seating."
        },
        "classId": {
          "description": "Required. The class associated with this object. The class must be of the same type as this object, must already exist, and must be approved. Class IDs should follow the format issuer ID.identifier where the former is issued by Google and latter is chosen by you.",
          "type": "string"
        },
        "classReference": {
          "$ref": "FlightClass",
          "description": "A copy of the inherited fields of the parent class. These fields are retrieved during a GET."
        },
        "disableExpirationNotification": {
          "description": "Indicates if notifications should explicitly be suppressed. If this field is set to true, regardless of the `messages` field, expiration notifications to the user will be suppressed. By default, this field is set to false. Currently, this can only be set for Flights.",
          "type": "boolean"
        },
        "groupingInfo": {
          "$ref": "GroupingInfo",
          "description": "Information that controls how passes are grouped together."
        },
        "hasLinkedDevice": {
          "description": "Whether this object is currently linked to a single device. This field is set by the platform when a user saves the object, linking it to their device. Intended for use by select partners. Contact support for additional information.",
          "type": "boolean"
        },
        "hasUsers": {
          "description": "Indicates if the object has users. This field is set by the platform.",
          "type": "boolean"
        },
        "heroImage": {
          "$ref": "Image",
          "description": "Optional banner image displayed on the front of the card. If none is present, hero image of the class, if present, will be displayed. If hero image of the class is also not present, nothing will be displayed."
        },
        "hexBackgroundColor": {
          "description": "The background color for the card. If not set the dominant color of the hero image is used, and if no hero image is set, the dominant color of the logo is used. The format is #rrggbb where rrggbb is a hex RGB triplet, such as `#ffcc00`. You can also use the shorthand version of the RGB triplet which is #rgb, such as `#fc0`.",
          "type": "string"
        },
        "id": {
          "description": "Required. The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID.identifier where the former is issued by Google and latter is chosen by you. The unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
          "type": "string"
        },
        "imageModulesData": {
          "description": "Image module data. The maximum number of these fields displayed is 1 from object level and 1 for class object level.",
          "items": {
            "$ref": "ImageModuleData"
          },
          "type": "array"
        },
        "infoModuleData": {
          "$ref": "InfoModuleData",
          "description": "Deprecated. Use textModulesData instead."
        },
        "kind": {
          "deprecated": true,
          "description": "Identifies what kind of resource this is. Value: the fixed string `\"walletobjects#flightObject\"`.",
          "type": "string"
        },
        "linksModuleData": {
          "$ref": "LinksModuleData",
          "description": "Links module data. If links module data is also defined on the class, both will be displayed."
        },
        "locations": {
          "description": "Note: This field is currently not supported to trigger geo notifications.",
          "items": {
            "$ref": "LatLongPoint"
          },
          "type": "array"
        },
        "messages": {
          "description": "An array of messages displayed in the app. All users of this object will receive its associated messages. The maximum number of these fields is 10.",
          "items": {
            "$ref": "Message"
          },
          "type": "array"
        },
        "passConstraints": {
          "$ref": "PassConstraints",
          "description": "Pass constraints for the object. Includes limiting NFC and screenshot behaviors."
        },
        "passengerName": {
          "description": "Required. Passenger name as it would appear on the boarding pass. eg: \"Dave M Gahan\" or \"Gahan/Dave\" or \"GAHAN/DAVEM\"",
          "type": "string"
        },
        "reservationInfo": {
          "$ref": "ReservationInfo",
          "description": "Required. Information about flight reservation."
        },
        "rotatingBarcode": {
          "$ref": "RotatingBarcode",
          "description": "The rotating barcode type and value."
        },
        "securityProgramLogo": {
          "$ref": "Image",
          "description": "An image for the security program that applies to the passenger."
        },
        "smartTapRedemptionValue": {
          "description": "The value that will be transmitted to a Smart Tap certified terminal over NFC for this object. The class level fields `enableSmartTap` and `redemptionIssuers` must also be set up correctly in order for the pass to support Smart Tap. Only ASCII characters are supported.",
          "type": "string"
        },
        "state": {
          "description": "Required. The state of the object. This field is used to determine how an object is displayed in the app. For example, an `inactive` object is moved to the \"Expired passes\" section.",
          "enum": [
            "STATE_UNSPECIFIED",
            "ACTIVE",
            "active",
            "COMPLETED",
            "completed",
            "EXPIRED",
            "expired",
            "INACTIVE",
            "inactive"
          ],
          "enumDeprecated": [
            false,
            false,
            true,
            false,
            true,
            false,
            true,
            false,
            true
          ],
          "enumDescriptions": [
            "",
            "Object is active and displayed to with other active objects.",
            "Legacy alias for `ACTIVE`. Deprecated.",
            "",
            "Legacy alias for `COMPLETED`. Deprecated.",
            "Object is no longer valid (`validTimeInterval` passed).",
            "Legacy alias for `EXPIRED`. Deprecated.",
            "",
            "Legacy alias for `INACTIVE`. Deprecated."
          ],
          "type": "string"
        },
        "textModulesData": {
          "description": "Text module data. If text module data is also defined on the class, both will be displayed. The maximum number of these fields displayed is 10 from the object and 10 from the class.",
          "items": {
            "$ref": "TextModuleData"
          },
          "type": "array"
        },
        "validTimeInterval": {
          "$ref": "TimeInterval",
          "description": "The time period this object will be `active` and object can be used. An object's state will be changed to `expired` when this time period has passed."
        },
        "version": {
          "deprecated": true,
          "description": "Deprecated",
          "format": "int64",
          "type": "string"
        }
      },
      "type": "object"
    },
    "FlightObjectAddMessageResponse": {
      "id": "FlightObjectAddMessageResponse",
      "properties": {
        "resource": {
          "$ref": "FlightObject",
          "description": "The updated FlightObject resource."
        }
      },
      "type": "object"
    },
    "FlightObjectListResponse": {
      "id": "FlightObjectListResponse",
      "properties": {
        "pagination": {
          "$ref": "Pagination",
          "description": "Pagination of the response."
        },
        "resources": {
          "description": "Resources corresponding to the list request.",
          "items": {
            "$ref": "FlightObject"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "FrequentFlyerInfo": {
      "id": "FrequentFlyerInfo",
      "properties": {
        "frequentFlyerNumber": {
          "description": "Frequent flyer number. Required for each nested object of kind `walletobjects#frequentFlyerInfo`.",
          "type": "string"
        },
        "frequentFlyerProgramName": {
          "$ref": "LocalizedString",
          "description": "Frequent flyer program name. eg: \"Lufthansa Miles & More\""
        },
        "kind": {
          "deprecated": true,
          "description": "Identifies what kind of resource this is. Value: the fixed string `\"walletobjects#frequentFlyerInfo\"`.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GenericClass": {
      "description": "Generic Class",
      "id": "GenericClass",
      "properties": {
        "callbackOptions": {
          "$ref": "CallbackOptions",
          "description": "Callback options to be used to call the issuer back for every save/delete of an object for this class by the end-user. All objects of this class are eligible for the callback."
        },
        "classTemplateInfo": {
          "$ref": "ClassTemplateInfo",
          "description": "Template information about how the class should be displayed. If unset, Google will fallback to a default set of fields to display."
        },
        "enableSmartTap": {
          "description": "Available only to Smart Tap enabled partners. Contact support for additional guidance.",
          "type": "boolean"
        },
        "id": {
          "description": "Required. The unique identifier for the class. This ID must be unique across all from an issuer. This value needs to follow the format `issuerID.identifier` where `issuerID` is issued by Google and `identifier` is chosen by you. The unique identifier can only include alphanumeric characters, `.`, `_`, or `-`.",
          "type": "string"
        },
        "imageModulesData": {
          "description": "Image module data. If `imageModulesData` is also defined on the object, both will be displayed. Only one of the image from class and one from object level will be rendered when both set.",
          "items": {
            "$ref": "ImageModuleData"
          },
          "type": "array"
        },
        "linksModuleData": {
          "$ref": "LinksModuleData",
          "description": "Links module data. If `linksModuleData` is also defined on the object, both will be displayed. The maximum number of these fields displayed is 10 from class and 10 from object."
        },
        "multipleDevicesAndHoldersAllowedStatus": {
          "description": "Identifies whether multiple users and devices will save the same object referencing this class.",
          "enum": [
            "STATUS_UNSPECIFIED",
            "MULTIPLE_HOLDERS",
            "ONE_USER_ALL_DEVICES",
            "ONE_USER_ONE_DEVICE",
            "multipleHolders",
            "oneUserAllDevices",
            "oneUserOneDevice"
          ],
          "enumDeprecated": [
            false,
            false,
            false,
            false,
            true,
            true,
            true
          ],
          "enumDescriptions": [
            "Unspecified preference.",
            "The same object can be saved by any number of different users, and on any number of devices. Partners typically use this setup for passes that do not need to be restricted to a single user or pinned to a single device.",
            "An object can only be saved by one user, but this user can view and use it on multiple of their devices. Once the first user saves the object, no other user will be allowed to view or save it.",
            "An object can only be saved by one user on a single device. Intended for use by select partners in limited circumstances. An example use case is a transit ticket that should be \"device pinned\", meaning it can be saved, viewed and used only by a single user on a single device. Contact support for additional information.",
            "Legacy alias for `MULTIPLE_HOLDERS`. Deprecated.",
            "Legacy alias for `ONE_USER_ALL_DEVICES`. Deprecated.",
            "Legacy alias for `ONE_USER_ONE_DEVICE`. Deprecated."
          ],
          "type": "string"
        },
        "redemptionIssuers": {
          "description": "Identifies which redemption issuers can redeem the pass over Smart Tap. Redemption issuers are identified by their issuer ID. Redemption issuers must have at least one Smart Tap key configured. The `enableSmartTap` and object level `smartTapRedemptionLevel` fields must also be set up correctly in order for a pass to support Smart Tap.",
          "items": {
            "format": "int64",
            "type": "string"
          },
          "type": "array"
        },
        "securityAnimation": {
          "$ref": "SecurityAnimation",
          "description": "Optional information about the security animation. If this is set a security animation will be rendered on pass details."
        },
        "textModulesData": {
          "description": "Text module data. If `textModulesData` is also defined on the object, both will be displayed. The maximum number of these fields displayed is 10 from class and 10 from object.",
          "items": {
            "$ref": "TextModuleData"
          },
          "type": "array"
        },
        "viewUnlockRequirement": {
          "description": "View Unlock Requirement options for the generic pass.",
          "enum": [
            "VIEW_UNLOCK_REQUIREMENT_UNSPECIFIED",
            "UNLOCK_NOT_REQUIRED",
            "UNLOCK_REQUIRED_TO_VIEW"
          ],
          "enumDescriptions": [
            "Default value, same as UNLOCK_NOT_REQUIRED.",
            "Default behavior for all the existing Passes if ViewUnlockRequirement is not set.",
            "Requires the user to unlock their device each time the pass is viewed. If the user removes their device lock after saving the pass, then they will be prompted to create a device lock before the pass can be viewed."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "GenericClassListResponse": {
      "description": "List response which contains the list of all generic classes for a given issuer ID.",
      "id": "GenericClassListResponse",
      "properties": {
        "pagination": {
          "$ref": "Pagination",
          "description": "Pagination of the response."
        },
        "resources": {
          "description": "Resources corresponding to the list request.",
          "items": {
            "$ref": "GenericClass"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "GenericObject": {
      "description": "Generic Object Next ID: 121",
      "id": "GenericObject",
      "properties": {
        "appLinkData": {
          "$ref": "AppLinkData",
          "description": "Information about the partner app link. The maximum number of these fields displayed is 10."
        },
        "barcode": {
          "$ref": "Barcode",
          "description": "The barcode type and value. If pass does not have a barcode, we can allow the issuer to set Barcode.alternate_text and display just that."
        },
        "cardTitle": {
          "$ref": "LocalizedString",
          "description": "Required. The header of the pass. This is usually the Business name such as \"XXX Gym\", \"AAA Insurance\". This field is required and appears in the header row at the very top of the pass."
        },
        "classId": {
          "description": "Required. The class associated with this object. The class must be of the same type as this object, must already exist, and must be approved. Class IDs should follow the format `issuerID.identifier` where `issuerID` is issued by Google and `identifier` is chosen by you.",
          "type": "string"
        },
        "genericType": {
          "description": "Specify which `GenericType` the card belongs to.",
          "enum": [
            "GENERIC_TYPE_UNSPECIFIED",
            "GENERIC_SEASON_PASS",
            "GENERIC_UTILITY_BILLS",
            "GENERIC_PARKING_PASS",
            "GENERIC_VOUCHER",
            "GENERIC_GYM_MEMBERSHIP",
            "GENERIC_LIBRARY_MEMBERSHIP",
            "GENERIC_RESERVATIONS",
            "GENERIC_AUTO_INSURANCE",
            "GENERIC_HOME_INSURANCE",
            "GENERIC_ENTRY_TICKET",
            "GENERIC_RECEIPT",
            "GENERIC_OTHER"
          ],
          "enumDescriptions": [
            "Unspecified generic type.",
            "Season pass",
            "Utility bills",
            "Parking pass",
            "Voucher",
            "Gym membership cards",
            "Library membership cards",
            "Reservations",
            "Auto-insurance cards",
            "Home-insurance cards",
            "Entry tickets",
            "Receipts",
            "Other type"
          ],
          "type": "string"
        },
        "groupingInfo": {
          "$ref": "GroupingInfo",
          "description": "Information that controls how passes are grouped together."
        },
        "hasUsers": {
          "description": "Indicates if the object has users. This field is set by the platform.",
          "type": "boolean"
        },
        "header": {
          "$ref": "LocalizedString",
          "description": "Required. The title of the pass, such as \"50% off coupon\" or \"Library card\" or \"Voucher\". This field is required and appears in the title row of the pass detail view."
        },
        "heroImage": {
          "$ref": "Image",
          "description": "Banner image displayed on the front of the card if present. The image will be displayed at 100% width."
        },
        "hexBackgroundColor": {
          "description": "The background color for the card. If not set, the dominant color of the hero image is used, and if no hero image is set, the dominant color of the logo is used and if logo is not set, a color would be chosen by Google.",
          "type": "string"
        },
        "id": {
          "description": "Required. The unique identifier for an object. This ID must be unique across all objects from an issuer. This value needs to follow the format `issuerID.identifier` where `issuerID` is issued by Google and `identifier` is chosen by you. The unique identifier can only include alphanumeric characters, `.`, `_`, or `-`.",
          "type": "string"
        },
        "imageModulesData": {
          "description": "Image module data. Only one of the image from class and one from object level will be rendered when both set.",
          "items": {
            "$ref": "ImageModuleData"
          },
          "type": "array"
        },
        "linksModuleData": {
          "$ref": "LinksModuleData",
          "description": "Links module data. If `linksModuleData` is also defined on the class, both will be displayed. The maximum number of these fields displayed is 10 from class and 10 from object."
        },
        "logo": {
          "$ref": "Image",
          "description": "The logo image of the pass. This image is displayed in the card detail view in upper left, and also on the list/thumbnail view. If the logo is not present, the first letter of `cardTitle` would be shown as logo."
        },
        "notifications": {
          "$ref": "Notifications",
          "description": "The notification settings that are enabled for this object."
        },
        "passConstraints": {
          "$ref": "PassConstraints",
          "description": "Pass constraints for the object. Includes limiting NFC and screenshot behaviors."
        },
        "rotatingBarcode": {
          "$ref": "RotatingBarcode",
          "description": "The rotating barcode settings/details."
        },
        "smartTapRedemptionValue": {
          "description": "The value that will be transmitted to a Smart Tap certified terminal over NFC for this object. The class level fields `enableSmartTap` and `redemptionIssuers` must also be set up correctly in order for the pass to support Smart Tap. Only ASCII characters are supported.",
          "type": "string"
        },
        "state": {
          "description": "The state of the object. This field is used to determine how an object is displayed in the app. For example, an `inactive` object is moved to the \"Expired passes\" section. If this is not provided, the object would be considered `ACTIVE`.",
          "enum": [
            "STATE_UNSPECIFIED",
            "ACTIVE",
            "active",
            "COMPLETED",
            "completed",
            "EXPIRED",
            "expired",
            "INACTIVE",
            "inactive"
          ],
          "enumDeprecated": [
            false,
            false,
            true,
            false,
            true,
            false,
            true,
            false,
            true
          ],
          "enumDescriptions": [
            "",
            "Object is active and displayed to with other active objects.",
            "Legacy alias for `ACTIVE`. Deprecated.",
            "",
            "Legacy alias for `COMPLETED`. Deprecated.",
            "Object is no longer valid (`validTimeInterval` passed).",
            "Legacy alias for `EXPIRED`. Deprecated.",
            "",
            "Legacy alias for `INACTIVE`. Deprecated."
          ],
          "type": "string"
        },
        "subheader": {
          "$ref": "LocalizedString",
          "description": "The title label of the pass, such as location where this pass can be used. Appears right above the title in the title row in the pass detail view."
        },
        "textModulesData": {
          "description": "Text module data. If `textModulesData` is also defined on the class, both will be displayed. The maximum number of these fields displayed is 10 from class and 10 from object.",
          "items": {
            "$ref": "TextModuleData"
          },
          "type": "array"
        },
        "validTimeInterval": {
          "$ref": "TimeInterval",
          "description": "The time period this object will be considered valid or usable. When the time period is passed, the object will be considered expired, which will affect the rendering on user's devices."
        },
        "wideLogo": {
          "$ref": "Image",
          "description": "The wide logo of the pass. When provided, this will be used in place of the logo in the top left of the card view."
        }
      },
      "type": "object"
    },
    "GenericObjectListResponse": {
      "description": "List response which contains the list of all generic objects for a given issuer ID.",
      "id": "GenericObjectListResponse",
      "properties": {
        "pagination": {
          "$ref": "Pagination",
          "description": "Pagination of the response."
        },
        "resources": {
          "description": "Resources corresponding to the list request.",
          "items": {
            "$ref": "GenericObject"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "GiftCardClass": {
      "id": "GiftCardClass",
      "properties": {
        "allowBarcodeRedemption": {
          "description": "Determines whether the merchant supports gift card redemption using barcode. If true, app displays a barcode for the gift card on the Gift card details screen. If false, a barcode is not displayed.",
          "type": "boolean"
        },
        "allowMultipleUsersPerObject": {
          "deprecated": true,
          "description": "Deprecated. Use `multipleDevicesAndHoldersAllowedStatus` instead.",
          "type": "boolean"
        },
        "callbackOptions": {
          "$ref": "CallbackOptions",
          "description": "Callback options to be used to call the issuer back for every save/delete of an object for this class by the end-user. All objects of this class are eligible for the callback."
        },
        "cardNumberLabel": {
          "description": "The label to display for the card number, such as \"Card Number\".",
          "type": "string"
        },
        "classTemplateInfo": {
          "$ref": "ClassTemplateInfo",
          "description": "Template information about how the class should be displayed. If unset, Google will fallback to a default set of fields to display."
        },
        "countryCode": {
          "description": "Country code used to display the card's country (when the user is not in that country), as well as to display localized content when content is not available in the user's locale.",
          "type": "string"
        },
        "enableSmartTap": {
          "description": "Identifies whether this class supports Smart Tap. The `redemptionIssuers` and object level `smartTapRedemptionLevel` fields must also be set up correctly in order for a pass to support Smart Tap.",
          "type": "boolean"
        },
        "eventNumberLabel": {
          "description": "The label to display for event number, such as \"Target Event #\".",
          "type": "string"
        },
        "heroImage": {
          "$ref": "Image",
          "description": "Optional banner image displayed on the front of the card. If none is present, nothing will be displayed. The image will display at 100% width."
        },
        "hexBackgroundColor": {
          "description": "The background color for the card. If not set the dominant color of the hero image is used, and if no hero image is set, the dominant color of the logo is used. The format is #rrggbb where rrggbb is a hex RGB triplet, such as `#ffcc00`. You can also use the shorthand version of the RGB triplet which is #rgb, such as `#fc0`.",
          "type": "string"
        },
        "homepageUri": {
          "$ref": "Uri",
          "description": "The URI of your application's home page. Populating the URI in this field results in the exact same behavior as populating an URI in linksModuleData (when an object is rendered, a link to the homepage is shown in what would usually be thought of as the linksModuleData section of the object)."
        },
        "id": {
          "description": "Required. The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
          "type": "string"
        },
        "imageModulesData": {
          "description": "Image module data. The maximum number of these fields displayed is 1 from object level and 1 for class object level.",
          "items": {
            "$ref": "ImageModuleData"
          },
          "type": "array"
        },
        "infoModuleData": {
          "$ref": "InfoModuleData",
          "deprecated": true,
          "description": "Deprecated. Use textModulesData instead."
        },
        "issuerName": {
          "description": "Required. The issuer name. Recommended maximum length is 20 characters to ensure full string is displayed on smaller screens.",
          "type": "string"
        },
        "kind": {
          "deprecated": true,
          "description": "Identifies what kind of resource this is. Value: the fixed string `\"walletobjects#giftCardClass\"`.",
          "type": "string"
        },
        "linksModuleData": {
          "$ref": "LinksModuleData",
          "description": "Links module data. If links module data is also defined on the object, both will be displayed."
        },
        "localizedCardNumberLabel": {
          "$ref": "LocalizedString",
          "description": "Translated strings for the card_number_label."
        },
        "localizedEventNumberLabel": {
          "$ref": "LocalizedString",
          "description": "Translated strings for the event_number_label."
        },
        "localizedIssuerName": {
          "$ref": "LocalizedString",
          "description": "Translated strings for the issuer_name. Recommended maximum length is 20 characters to ensure full string is displayed on smaller screens."
        },
        "localizedMerchantName": {
          "$ref": "LocalizedString",
          "description": "Translated strings for the merchant_name. The app may display an ellipsis after the first 20 characters to ensure full string is displayed on smaller screens."
        },
        "localizedPinLabel": {
          "$ref": "LocalizedString",
          "description": "Translated strings for the pin_label."
        },
        "locations": {
          "description": "Note: This field is currently not supported to trigger geo notifications.",
          "items": {
            "$ref": "LatLongPoint"
          },
          "type": "array"
        },
        "merchantName": {
          "description": "Merchant name, such as \"Adam's Apparel\". The app may display an ellipsis after the first 20 characters to ensure full string is displayed on smaller screens.",
          "type": "string"
        },
        "messages": {
          "description": "An array of messages displayed in the app. All users of this object will receive its associated messages. The maximum number of these fields is 10.",
          "items": {
            "$ref": "Message"
          },
          "type": "array"
        },
        "multipleDevicesAndHoldersAllowedStatus": {
          "description": "Identifies whether multiple users and devices will save the same object referencing this class.",
          "enum": [
            "STATUS_UNSPECIFIED",
            "MULTIPLE_HOLDERS",
            "ONE_USER_ALL_DEVICES",
            "ONE_USER_ONE_DEVICE",
            "multipleHolders",
            "oneUserAllDevices",
            "oneUserOneDevice"
          ],
          "enumDeprecated": [
            false,
            false,
            false,
            false,
            true,
            true,
            true
          ],
          "enumDescriptions": [
            "Unspecified preference.",
            "The same object can be saved by any number of different users, and on any number of devices. Partners typically use this setup for passes that do not need to be restricted to a single user or pinned to a single device.",
            "An object can only be saved by one user, but this user can view and use it on multiple of their devices. Once the first user saves the object, no other user will be allowed to view or save it.",
            "An object can only be saved by one user on a single device. Intended for use by select partners in limited circumstances. An example use case is a transit ticket that should be \"device pinned\", meaning it can be saved, viewed and used only by a single user on a single device. Contact support for additional information.",
            "Legacy alias for `MULTIPLE_HOLDERS`. Deprecated.",
            "Legacy alias for `ONE_USER_ALL_DEVICES`. Deprecated.",
            "Legacy alias for `ONE_USER_ONE_DEVICE`. Deprecated."
          ],
          "type": "string"
        },
        "pinLabel": {
          "description": "The label to display for the PIN, such as \"4-digit PIN\".",
          "type": "string"
        },
        "programLogo": {
          "$ref": "Image",
          "description": "The logo of the gift card program or company. This logo is displayed in both the details and list views of the app."
        },
        "redemptionIssuers": {
          "description": "Identifies which redemption issuers can redeem the pass over Smart Tap. Redemption issuers are identified by their issuer ID. Redemption issuers must have at least one Smart Tap key configured. The `enableSmartTap` and object level `smartTapRedemptionLevel` fields must also be set up correctly in order for a pass to support Smart Tap.",
          "items": {
            "format": "int64",
            "type": "string"
          },
          "type": "array"
        },
        "review": {
          "$ref": "Review",
          "description": "The review comments set by the platform when a class is marked `approved` or `rejected`."
        },
        "reviewStatus": {
          "description": "Required. The status of the class. This field can be set to `draft` or `underReview` using the insert, patch, or update API calls. Once the review state is changed from `draft` it may not be changed back to `draft`. You should keep this field to `draft` when the class is under development. A `draft` class cannot be used to create any object. You should set this field to `underReview` when you believe the class is ready for use. The platform will automatically set this field to `approved` and it can be immediately used to create or migrate objects. When updating an already `approved` class you should keep setting this field to `underReview`.",
          "enum": [
            "REVIEW_STATUS_UNSPECIFIED",
            "UNDER_REVIEW",
            "underReview",
            "APPROVED",
            "approved",
            "REJECTED",
            "rejected",
            "DRAFT",
            "draft"
          ],
          "enumDeprecated": [
            false,
            false,
            true,
            false,
            true,
            false,
            true,
            false,
            true
          ],
          "enumDescriptions": [
            "",
            "",
            "Legacy alias for `UNDER_REVIEW`. Deprecated.",
            "",
            "Legacy alias for `APPROVED`. Deprecated.",
            "",
            "Legacy alias for `REJECTED`. Deprecated.",
            "",
            "Legacy alias for `DRAFT`. Deprecated."
          ],
          "type": "string"
        },
        "securityAnimation": {
          "$ref": "SecurityAnimation",
          "description": "Optional information about the security animation. If this is set a security animation will be rendered on pass details."
        },
        "textModulesData": {
          "description": "Text module data. If text module data is also defined on the class, both will be displayed. The maximum number of these fields displayed is 10 from the object and 10 from the class.",
          "items": {
            "$ref": "TextModuleData"
          },
          "type": "array"
        },
        "version": {
          "deprecated": true,
          "description": "Deprecated",
          "format": "int64",
          "type": "string"
        },
        "viewUnlockRequirement": {
          "description": "View Unlock Requirement options for the gift card.",
          "enum": [
            "VIEW_UNLOCK_REQUIREMENT_UNSPECIFIED",
            "UNLOCK_NOT_REQUIRED",
            "UNLOCK_REQUIRED_TO_VIEW"
          ],
          "enumDescriptions": [
            "Default value, same as UNLOCK_NOT_REQUIRED.",
            "Default behavior for all the existing Passes if ViewUnlockRequirement is not set.",
            "Requires the user to unlock their device each time the pass is viewed. If the user removes their device lock after saving the pass, then they will be prompted to create a device lock before the pass can be viewed."
          ],
          "type": "string"
        },
        "wideProgramLogo": {
          "$ref": "Image",
          "description": "The wide logo of the gift card program or company. When provided, this will be used in place of the program logo in the top left of the card view."
        },
        "wordMark": {
          "$ref": "Image",
          "deprecated": true,
          "description": "Deprecated."
        }
      },
      "type": "object"
    },
    "GiftCardClassAddMessageResponse": {
      "id": "GiftCardClassAddMessageResponse",
      "properties": {
        "resource": {
          "$ref": "GiftCardClass",
          "description": "The updated GiftCardClass resource."
        }
      },
      "type": "object"
    },
    "GiftCardClassListResponse": {
      "id": "GiftCardClassListResponse",
      "properties": {
        "pagination": {
          "$ref": "Pagination",
          "description": "Pagination of the response."
        },
        "resources": {
          "description": "Resources corresponding to the list request.",
          "items": {
            "$ref": "GiftCardClass"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "GiftCardObject": {
      "id": "GiftCardObject",
      "properties": {
        "appLinkData": {
          "$ref": "AppLinkData",
          "description": "Optional information about the partner app link."
        },
        "balance": {
          "$ref": "Money",
          "description": "The card's monetary balance."
        },
        "balanceUpdateTime": {
          "$ref": "DateTime",
          "description": "The date and time when the balance was last updated. Offset is required. If balance is updated and this property is not provided, system will default to the current time."
        },
        "barcode": {
          "$ref": "Barcode",
          "description": "The barcode type and value."
        },
        "cardNumber": {
          "description": "Required. The card's number.",
          "type": "string"
        },
        "classId": {
          "description": "Required. The class associated with this object. The class must be of the same type as this object, must already exist, and must be approved. Class IDs should follow the format issuer ID.identifier where the former is issued by Google and latter is chosen by you.",
          "type": "string"
        },
        "classReference": {
          "$ref": "GiftCardClass",
          "description": "A copy of the inherited fields of the parent class. These fields are retrieved during a GET."
        },
        "disableExpirationNotification": {
          "description": "Indicates if notifications should explicitly be suppressed. If this field is set to true, regardless of the `messages` field, expiration notifications to the user will be suppressed. By default, this field is set to false. Currently, this can only be set for offers.",
          "type": "boolean"
        },
        "eventNumber": {
          "description": "The card's event number, an optional field used by some gift cards.",
          "type": "string"
        },
        "groupingInfo": {
          "$ref": "GroupingInfo",
          "description": "Information that controls how passes are grouped together."
        },
        "hasLinkedDevice": {
          "description": "Whether this object is currently linked to a single device. This field is set by the platform when a user saves the object, linking it to their device. Intended for use by select partners. Contact support for additional information.",
          "type": "boolean"
        },
        "hasUsers": {
          "description": "Indicates if the object has users. This field is set by the platform.",
          "type": "boolean"
        },
        "heroImage": {
          "$ref": "Image",
          "description": "Optional banner image displayed on the front of the card. If none is present, hero image of the class, if present, will be displayed. If hero image of the class is also not present, nothing will be displayed."
        },
        "id": {
          "description": "Required. The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID.identifier where the former is issued by Google and latter is chosen by you. The unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
          "type": "string"
        },
        "imageModulesData": {
          "description": "Image module data. The maximum number of these fields displayed is 1 from object level and 1 for class object level.",
          "items": {
            "$ref": "ImageModuleData"
          },
          "type": "array"
        },
        "infoModuleData": {
          "$ref": "InfoModuleData",
          "description": "Deprecated. Use textModulesData instead."
        },
        "kind": {
          "deprecated": true,
          "description": "Identifies what kind of resource this is. Value: the fixed string `\"walletobjects#giftCardObject\"`.",
          "type": "string"
        },
        "linksModuleData": {
          "$ref": "LinksModuleData",
          "description": "Links module data. If links module data is also defined on the class, both will be displayed."
        },
        "locations": {
          "description": "Note: This field is currently not supported to trigger geo notifications.",
          "items": {
            "$ref": "LatLongPoint"
          },
          "type": "array"
        },
        "messages": {
          "description": "An array of messages displayed in the app. All users of this object will receive its associated messages. The maximum number of these fields is 10.",
          "items": {
            "$ref": "Message"
          },
          "type": "array"
        },
        "passConstraints": {
          "$ref": "PassConstraints",
          "description": "Pass constraints for the object. Includes limiting NFC and screenshot behaviors."
        },
        "pin": {
          "description": "The card's PIN.",
          "type": "string"
        },
        "rotatingBarcode": {
          "$ref": "RotatingBarcode",
          "description": "The rotating barcode type and value."
        },
        "smartTapRedemptionValue": {
          "description": "The value that will be transmitted to a Smart Tap certified terminal over NFC for this object. The class level fields `enableSmartTap` and `redemptionIssuers` must also be set up correctly in order for the pass to support Smart Tap. Only ASCII characters are supported.",
          "type": "string"
        },
        "state": {
          "description": "Required. The state of the object. This field is used to determine how an object is displayed in the app. For example, an `inactive` object is moved to the \"Expired passes\" section.",
          "enum": [
            "STATE_UNSPECIFIED",
            "ACTIVE",
            "active",
            "COMPLETED",
            "completed",
            "EXPIRED",
            "expired",
            "INACTIVE",
            "inactive"
          ],
          "enumDeprecated": [
            false,
            false,
            true,
            false,
            true,
            false,
            true,
            false,
            true
          ],
          "enumDescriptions": [
            "",
            "Object is active and displayed to with other active objects.",
            "Legacy alias for `ACTIVE`. Deprecated.",
            "",
            "Legacy alias for `COMPLETED`. Deprecated.",
            "Object is no longer valid (`validTimeInterval` passed).",
            "Legacy alias for `EXPIRED`. Deprecated.",
            "",
            "Legacy alias for `INACTIVE`. Deprecated."
          ],
          "type": "string"
        },
        "textModulesData": {
          "description": "Text module data. If text module data is also defined on the class, both will be displayed. The maximum number of these fields displayed is 10 from the object and 10 from the class.",
          "items": {
            "$ref": "TextModuleData"
          },
          "type": "array"
        },
        "validTimeInterval": {
          "$ref": "TimeInterval",
          "description": "The time period this object will be `active` and object can be used. An object's state will be changed to `expired` when this time period has passed."
        },
        "version": {
          "deprecated": true,
          "description": "Deprecated",
          "format": "int64",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GiftCardObjectAddMessageResponse": {
      "id": "GiftCardObjectAddMessageResponse",
      "properties": {
        "resource": {
          "$ref": "GiftCardObject",
          "description": "The updated GiftCardObject resource."
        }
      },
      "type": "object"
    },
    "GiftCardObjectListResponse": {
      "id": "GiftCardObjectListResponse",
      "properties": {
        "pagination": {
          "$ref": "Pagination",
          "description": "Pagination of the response."
        },
        "resources": {
          "description": "Resources corresponding to the list request.",
          "items": {
            "$ref": "GiftCardObject"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "GroupingInfo": {
      "id": "GroupingInfo",
      "properties": {
        "groupingId": {
          "description": "Optional grouping ID for grouping the passes with the same ID visually together. Grouping with different types of passes is allowed.",
          "type": "string"
        },
        "sortIndex": {
          "description": "Optional index for sorting the passes when they are grouped with other passes. Passes with lower sort index are shown before passes with higher sort index. If unspecified, the value is assumed to be INT_MAX. For two passes with the same sort index, the sorting behavior is undefined.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "Image": {
      "description": "Wrapping type for Google hosted images. Next ID: 7",
      "id": "Image",
      "properties": {
        "contentDescription": {
          "$ref": "LocalizedString",
          "description": "Description of the image used for accessibility."
        },
        "kind": {
          "deprecated": true,
          "description": "Identifies what kind of resource this is. Value: the fixed string `\"walletobjects#image\"`.",
          "type": "string"
        },
        "sourceUri": {
          "$ref": "ImageUri",
          "description": "The URI for the image."
        }
      },
      "type": "object"
    },
    "ImageModuleData": {
      "id": "ImageModuleData",
      "properties": {
        "id": {
          "description": "The ID associated with an image module. This field is here to enable ease of management of image modules.",
          "type": "string"
        },
        "mainImage": {
          "$ref": "Image",
          "description": "A 100% width image."
        }
      },
      "type": "object"
    },
    "ImageUri": {
      "id": "ImageUri",
      "properties": {
        "description": {
          "deprecated": true,
          "description": "Additional information about the image, which is unused and retained only for backward compatibility.",
          "type": "string"
        },
        "localizedDescription": {
          "$ref": "LocalizedString",
          "deprecated": true,
          "description": "Translated strings for the description, which are unused and retained only for backward compatibility."
        },
        "uri": {
          "description": "The location of the image. URIs must have a scheme.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "InfoModuleData": {
      "id": "InfoModuleData",
      "properties": {
        "labelValueRows": {
          "description": "A list of collections of labels and values. These will be displayed one after the other in a singular column.",
          "items": {
            "$ref": "LabelValueRow"
          },
          "type": "array"
        },
        "showLastUpdateTime": {
          "deprecated": true,
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "Issuer": {
      "id": "Issuer",
      "properties": {
        "contactInfo": {
          "$ref": "IssuerContactInfo",
          "description": "Issuer contact information."
        },
        "homepageUrl": {
          "description": "URL for the issuer's home page.",
          "type": "string"
        },
        "issuerId": {
          "description": "The unique identifier for an issuer account. This is automatically generated when the issuer is inserted.",
          "format": "int64",
          "type": "string"
        },
        "name": {
          "description": "The account name of the issuer.",
          "type": "string"
        },
        "smartTapMerchantData": {
          "$ref": "SmartTapMerchantData",
          "description": "Available only to Smart Tap enabled partners. Contact support for additional guidance."
        }
      },
      "type": "object"
    },
    "IssuerContactInfo": {
      "id": "IssuerContactInfo",
      "properties": {
        "alertsEmails": {
          "description": "Email addresses which will receive alerts.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "email": {
          "description": "The primary contact email address.",
          "type": "string"
        },
        "name": {
          "description": "The primary contact name.",
          "type": "string"
        },
        "phone": {
          "description": "The primary contact phone number.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "IssuerListResponse": {
      "id": "IssuerListResponse",
      "properties": {
        "resources": {
          "description": "Resources corresponding to the list request.",
          "items": {
            "$ref": "Issuer"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "IssuerToUserInfo": {
      "id": "IssuerToUserInfo",
      "properties": {
        "action": {
          "enum": [
            "ACTION_UNSPECIFIED",
            "S2AP",
            "s2ap",
            "SIGN_UP",
            "signUp"
          ],
          "enumDeprecated": [
            false,
            false,
            true,
            false,
            true
          ],
          "enumDescriptions": [
            "",
            "",
            "Legacy alias for `S2AP`. Deprecated.",
            "",
            "Legacy alias for `SIGN_UP`. Deprecated."
          ],
          "type": "string"
        },
        "signUpInfo": {
          "$ref": "SignUpInfo"
        },
        "url": {
          "description": "Currently not used, consider deprecating.",
          "type": "string"
        },
        "value": {
          "description": "JSON web token for action S2AP.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "JwtInsertResponse": {
      "id": "JwtInsertResponse",
      "properties": {
        "resources": {
          "$ref": "Resources",
          "description": "Data that corresponds to the ids of the provided classes and objects in the JWT. resources will only include the non-empty arrays (i.e. if the JWT only includes eventTicketObjects, then that is the only field that will be present in resources)."
        },
        "saveUri": {
          "description": "A URI that, when opened, will allow the end user to save the object(s) identified in the JWT to their Google account.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "JwtResource": {
      "id": "JwtResource",
      "properties": {
        "jwt": {
          "description": "A string representing a JWT of the format described at https://developers.google.com/wallet/reference/rest/v1/Jwt",
          "type": "string"
        }
      },
      "type": "object"
    },
    "LabelValue": {
      "description": "A pair of text strings to be displayed in the details view. Note we no longer display LabelValue/LabelValueRow as a table, instead a list of items.",
      "id": "LabelValue",
      "properties": {
        "label": {
          "description": "The label for a specific row and column. Recommended maximum is 15 characters for a two-column layout and 30 characters for a one-column layout.",
          "type": "string"
        },
        "localizedLabel": {
          "$ref": "LocalizedString",
          "description": "Translated strings for the label. Recommended maximum is 15 characters for a two-column layout and 30 characters for a one-column layout."
        },
        "localizedValue": {
          "$ref": "LocalizedString",
          "description": "Translated strings for the value. Recommended maximum is 15 characters for a two-column layout and 30 characters for a one-column layout."
        },
        "value": {
          "description": "The value for a specific row and column. Recommended maximum is 15 characters for a two-column layout and 30 characters for a one-column layout.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "LabelValueRow": {
      "id": "LabelValueRow",
      "properties": {
        "columns": {
          "description": "A list of labels and values. These will be displayed in a singular column, one after the other, not in multiple columns, despite the field name.",
          "items": {
            "$ref": "LabelValue"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "LatLongPoint": {
      "id": "LatLongPoint",
      "properties": {
        "kind": {
          "deprecated": true,
          "description": "Identifies what kind of resource this is. Value: the fixed string `\"walletobjects#latLongPoint\"`.",
          "type": "string"
        },
        "latitude": {
          "description": "The latitude specified as any value in the range of -90.0 through +90.0, both inclusive. Values outside these bounds will be rejected.",
          "format": "double",
          "type": "number"
        },
        "longitude": {
          "description": "The longitude specified in the range -180.0 through +180.0, both inclusive. Values outside these bounds will be rejected.",
          "format": "double",
          "type": "number"
        }
      },
      "type": "object"
    },
    "LinksModuleData": {
      "id": "LinksModuleData",
      "properties": {
        "uris": {
          "description": "The list of URIs.",
          "items": {
            "$ref": "Uri"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ListTemplateOverride": {
      "id": "ListTemplateOverride",
      "properties": {
        "firstRowOption": {
          "$ref": "FirstRowOption",
          "description": "Specifies from a predefined set of options or from a reference to the field what will be displayed in the first row."
        },
        "secondRowOption": {
          "$ref": "FieldSelector",
          "description": "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."
        },
        "thirdRowOption": {
          "$ref": "FieldSelector",
          "deprecated": true,
          "description": "A reference to the field to be displayed in the third row. This option is only displayed if there are not multiple user objects in a group. If there is a group, the third row will always display the number of objects in the group. Eg: \"3 passes\""
        }
      },
      "type": "object"
    },
    "LocalizedString": {
      "id": "LocalizedString",
      "properties": {
        "defaultValue": {
          "$ref": "TranslatedString",
          "description": "Contains the string to be displayed if no appropriate translation is available."
        },
        "kind": {
          "deprecated": true,
          "description": "Identifies what kind of resource this is. Value: the fixed string `\"walletobjects#localizedString\"`.",
          "type": "string"
        },
        "translatedValues": {
          "description": "Contains the translations for the string.",
          "items": {
            "$ref": "TranslatedString"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "LoyaltyClass": {
      "id": "LoyaltyClass",
      "properties": {
        "accountIdLabel": {
          "description": "The account ID label, such as \"Member ID.\" Recommended maximum length is 15 characters to ensure full string is displayed on smaller screens.",
          "type": "string"
        },
        "accountNameLabel": {
          "description": "The account name label, such as \"Member Name.\" Recommended maximum length is 15 characters to ensure full string is displayed on smaller screens.",
          "type": "string"
        },
        "allowMultipleUsersPerObject": {
          "deprecated": true,
          "description": "Deprecated. Use `multipleDevicesAndHoldersAllowedStatus` instead.",
          "type": "boolean"
        },
        "callbackOptions": {
          "$ref": "CallbackOptions",
          "description": "Callback options to be used to call the issuer back for every save/delete of an object for this class by the end-user. All objects of this class are eligible for the callback."
        },
        "classTemplateInfo": {
          "$ref": "ClassTemplateInfo",
          "description": "Template information about how the class should be displayed. If unset, Google will fallback to a default set of fields to display."
        },
        "countryCode": {
          "description": "Country code used to display the card's country (when the user is not in that country), as well as to display localized content when content is not available in the user's locale.",
          "type": "string"
        },
        "discoverableProgram": {
          "$ref": "DiscoverableProgram",
          "description": "Information about how the class may be discovered and instantiated from within the Google Pay app."
        },
        "enableSmartTap": {
          "description": "Identifies whether this class supports Smart Tap. The `redemptionIssuers` and one of object level `smartTapRedemptionLevel`, barcode.value`, or `accountId` fields must also be set up correctly in order for a pass to support Smart Tap.",
          "type": "boolean"
        },
        "heroImage": {
          "$ref": "Image",
          "description": "Optional banner image displayed on the front of the card. If none is present, nothing will be displayed. The image will display at 100% width."
        },
        "hexBackgroundColor": {
          "description": "The background color for the card. If not set the dominant color of the hero image is used, and if no hero image is set, the dominant color of the logo is used. The format is #rrggbb where rrggbb is a hex RGB triplet, such as `#ffcc00`. You can also use the shorthand version of the RGB triplet which is #rgb, such as `#fc0`.",
          "type": "string"
        },
        "homepageUri": {
          "$ref": "Uri",
          "description": "The URI of your application's home page. Populating the URI in this field results in the exact same behavior as populating an URI in linksModuleData (when an object is rendered, a link to the homepage is shown in what would usually be thought of as the linksModuleData section of the object)."
        },
        "id": {
          "description": "Required. The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
          "type": "string"
        },
        "imageModulesData": {
          "description": "Image module data. The maximum number of these fields displayed is 1 from object level and 1 for class object level.",
          "items": {
            "$ref": "ImageModuleData"
          },
          "type": "array"
        },
        "infoModuleData": {
          "$ref": "InfoModuleData",
          "deprecated": true,
          "description": "Deprecated. Use textModulesData instead."
        },
        "issuerName": {
          "description": "Required. The issuer name. Recommended maximum length is 20 characters to ensure full string is displayed on smaller screens.",
          "type": "string"
        },
        "kind": {
          "deprecated": true,
          "description": "Identifies what kind of resource this is. Value: the fixed string `\"walletobjects#loyaltyClass\"`.",
          "type": "string"
        },
        "linksModuleData": {
          "$ref": "LinksModuleData",
          "description": "Links module data. If links module data is also defined on the object, both will be displayed."
        },
        "localizedAccountIdLabel": {
          "$ref": "LocalizedString",
          "description": "Translated strings for the account_id_label. Recommended maximum length is 15 characters to ensure full string is displayed on smaller screens."
        },
        "localizedAccountNameLabel": {
          "$ref": "LocalizedString",
          "description": "Translated strings for the account_name_label. Recommended maximum length is 15 characters to ensure full string is displayed on smaller screens."
        },
        "localizedIssuerName": {
          "$ref": "LocalizedString",
          "description": "Translated strings for the issuer_name. Recommended maximum length is 20 characters to ensure full string is displayed on smaller screens."
        },
        "localizedProgramName": {
          "$ref": "LocalizedString",
          "description": "Translated strings for the program_name. The app may display an ellipsis after the first 20 characters to ensure full string is displayed on smaller screens."
        },
        "localizedRewardsTier": {
          "$ref": "LocalizedString",
          "description": "Translated strings for the rewards_tier. Recommended maximum length is 7 characters to ensure full string is displayed on smaller screens."
        },
        "localizedRewardsTierLabel": {
          "$ref": "LocalizedString",
          "description": "Translated strings for the rewards_tier_label. Recommended maximum length is 9 characters to ensure full string is displayed on smaller screens."
        },
        "localizedSecondaryRewardsTier": {
          "$ref": "LocalizedString",
          "description": "Translated strings for the secondary_rewards_tier."
        },
        "localizedSecondaryRewardsTierLabel": {
          "$ref": "LocalizedString",
          "description": "Translated strings for the secondary_rewards_tier_label."
        },
        "locations": {
          "description": "Note: This field is currently not supported to trigger geo notifications.",
          "items": {
            "$ref": "LatLongPoint"
          },
          "type": "array"
        },
        "messages": {
          "description": "An array of messages displayed in the app. All users of this object will receive its associated messages. The maximum number of these fields is 10.",
          "items": {
            "$ref": "Message"
          },
          "type": "array"
        },
        "multipleDevicesAndHoldersAllowedStatus": {
          "description": "Identifies whether multiple users and devices will save the same object referencing this class.",
          "enum": [
            "STATUS_UNSPECIFIED",
            "MULTIPLE_HOLDERS",
            "ONE_USER_ALL_DEVICES",
            "ONE_USER_ONE_DEVICE",
            "multipleHolders",
            "oneUserAllDevices",
            "oneUserOneDevice"
          ],
          "enumDeprecated": [
            false,
            false,
            false,
            false,
            true,
            true,
            true
          ],
          "enumDescriptions": [
            "Unspecified preference.",
            "The same object can be saved by any number of different users, and on any number of devices. Partners typically use this setup for passes that do not need to be restricted to a single user or pinned to a single device.",
            "An object can only be saved by one user, but this user can view and use it on multiple of their devices. Once the first user saves the object, no other user will be allowed to view or save it.",
            "An object can only be saved by one user on a single device. Intended for use by select partners in limited circumstances. An example use case is a transit ticket that should be \"device pinned\", meaning it can be saved, viewed and used only by a single user on a single device. Contact support for additional information.",
            "Legacy alias for `MULTIPLE_HOLDERS`. Deprecated.",
            "Legacy alias for `ONE_USER_ALL_DEVICES`. Deprecated.",
            "Legacy alias for `ONE_USER_ONE_DEVICE`. Deprecated."
          ],
          "type": "string"
        },
        "programLogo": {
          "$ref": "Image",
          "description": "Required. The logo of the loyalty program or company. This logo is displayed in both the details and list views of the app."
        },
        "programName": {
          "description": "Required. The program name, such as \"Adam's Apparel\". The app may display an ellipsis after the first 20 characters to ensure full string is displayed on smaller screens.",
          "type": "string"
        },
        "redemptionIssuers": {
          "description": "Identifies which redemption issuers can redeem the pass over Smart Tap. Redemption issuers are identified by their issuer ID. Redemption issuers must have at least one Smart Tap key configured. The `enableSmartTap` and one of object level `smartTapRedemptionValue`, barcode.value`, or `accountId` fields must also be set up correctly in order for a pass to support Smart Tap.",
          "items": {
            "format": "int64",
            "type": "string"
          },
          "type": "array"
        },
        "review": {
          "$ref": "Review",
          "description": "The review comments set by the platform when a class is marked `approved` or `rejected`."
        },
        "reviewStatus": {
          "description": "Required. The status of the class. This field can be set to `draft` or `underReview` using the insert, patch, or update API calls. Once the review state is changed from `draft` it may not be changed back to `draft`. You should keep this field to `draft` when the class is under development. A `draft` class cannot be used to create any object. You should set this field to `underReview` when you believe the class is ready for use. The platform will automatically set this field to `approved` and it can be immediately used to create or migrate objects. When updating an already `approved` class you should keep setting this field to `underReview`.",
          "enum": [
            "REVIEW_STATUS_UNSPECIFIED",
            "UNDER_REVIEW",
            "underReview",
            "APPROVED",
            "approved",
            "REJECTED",
            "rejected",
            "DRAFT",
            "draft"
          ],
          "enumDeprecated": [
            false,
            false,
            true,
            false,
            true,
            false,
            true,
            false,
            true
          ],
          "enumDescriptions": [
            "",
            "",
            "Legacy alias for `UNDER_REVIEW`. Deprecated.",
            "",
            "Legacy alias for `APPROVED`. Deprecated.",
            "",
            "Legacy alias for `REJECTED`. Deprecated.",
            "",
            "Legacy alias for `DRAFT`. Deprecated."
          ],
          "type": "string"
        },
        "rewardsTier": {
          "description": "The rewards tier, such as \"Gold\" or \"Platinum.\" Recommended maximum length is 7 characters to ensure full string is displayed on smaller screens.",
          "type": "string"
        },
        "rewardsTierLabel": {
          "description": "The rewards tier label, such as \"Rewards Tier.\" Recommended maximum length is 9 characters to ensure full string is displayed on smaller screens.",
          "type": "string"
        },
        "secondaryRewardsTier": {
          "description": "The secondary rewards tier, such as \"Gold\" or \"Platinum.\"",
          "type": "string"
        },
        "secondaryRewardsTierLabel": {
          "description": "The secondary rewards tier label, such as \"Rewards Tier.\"",
          "type": "string"
        },
        "securityAnimation": {
          "$ref": "SecurityAnimation",
          "description": "Optional information about the security animation. If this is set a security animation will be rendered on pass details."
        },
        "textModulesData": {
          "description": "Text module data. If text module data is also defined on the class, both will be displayed. The maximum number of these fields displayed is 10 from the object and 10 from the class.",
          "items": {
            "$ref": "TextModuleData"
          },
          "type": "array"
        },
        "version": {
          "deprecated": true,
          "description": "Deprecated",
          "format": "int64",
          "type": "string"
        },
        "viewUnlockRequirement": {
          "description": "View Unlock Requirement options for the loyalty card.",
          "enum": [
            "VIEW_UNLOCK_REQUIREMENT_UNSPECIFIED",
            "UNLOCK_NOT_REQUIRED",
            "UNLOCK_REQUIRED_TO_VIEW"
          ],
          "enumDescriptions": [
            "Default value, same as UNLOCK_NOT_REQUIRED.",
            "Default behavior for all the existing Passes if ViewUnlockRequirement is not set.",
            "Requires the user to unlock their device each time the pass is viewed. If the user removes their device lock after saving the pass, then they will be prompted to create a device lock before the pass can be viewed."
          ],
          "type": "string"
        },
        "wideProgramLogo": {
          "$ref": "Image",
          "description": "The wide logo of the loyalty program or company. When provided, this will be used in place of the program logo in the top left of the card view."
        },
        "wordMark": {
          "$ref": "Image",
          "deprecated": true,
          "description": "Deprecated."
        }
      },
      "type": "object"
    },
    "LoyaltyClassAddMessageResponse": {
      "id": "LoyaltyClassAddMessageResponse",
      "properties": {
        "resource": {
          "$ref": "LoyaltyClass",
          "description": "The updated LoyaltyClass resource."
        }
      },
      "type": "object"
    },
    "LoyaltyClassListResponse": {
      "id": "LoyaltyClassListResponse",
      "properties": {
        "pagination": {
          "$ref": "Pagination",
          "description": "Pagination of the response."
        },
        "resources": {
          "description": "Resources corresponding to the list request.",
          "items": {
            "$ref": "LoyaltyClass"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "LoyaltyObject": {
      "id": "LoyaltyObject",
      "properties": {
        "accountId": {
          "description": "The loyalty account identifier. Recommended maximum length is 20 characters.",
          "type": "string"
        },
        "accountName": {
          "description": "The loyalty account holder name, such as \"John Smith.\" Recommended maximum length is 20 characters to ensure full string is displayed on smaller screens.",
          "type": "string"
        },
        "appLinkData": {
          "$ref": "AppLinkData",
          "description": "Optional information about the partner app link."
        },
        "barcode": {
          "$ref": "Barcode",
          "description": "The barcode type and value."
        },
        "classId": {
          "description": "Required. The class associated with this object. The class must be of the same type as this object, must already exist, and must be approved. Class IDs should follow the format issuer ID.identifier where the former is issued by Google and latter is chosen by you.",
          "type": "string"
        },
        "classReference": {
          "$ref": "LoyaltyClass",
          "description": "A copy of the inherited fields of the parent class. These fields are retrieved during a GET."
        },
        "disableExpirationNotification": {
          "description": "Indicates if notifications should explicitly be suppressed. If this field is set to true, regardless of the `messages` field, expiration notifications to the user will be suppressed. By default, this field is set to false. Currently, this can only be set for offers.",
          "type": "boolean"
        },
        "groupingInfo": {
          "$ref": "GroupingInfo",
          "description": "Information that controls how passes are grouped together."
        },
        "hasLinkedDevice": {
          "description": "Whether this object is currently linked to a single device. This field is set by the platform when a user saves the object, linking it to their device. Intended for use by select partners. Contact support for additional information.",
          "type": "boolean"
        },
        "hasUsers": {
          "description": "Indicates if the object has users. This field is set by the platform.",
          "type": "boolean"
        },
        "heroImage": {
          "$ref": "Image",
          "description": "Optional banner image displayed on the front of the card. If none is present, hero image of the class, if present, will be displayed. If hero image of the class is also not present, nothing will be displayed."
        },
        "id": {
          "description": "Required. The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID.identifier where the former is issued by Google and latter is chosen by you. The unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
          "type": "string"
        },
        "imageModulesData": {
          "description": "Image module data. The maximum number of these fields displayed is 1 from object level and 1 for class object level.",
          "items": {
            "$ref": "ImageModuleData"
          },
          "type": "array"
        },
        "infoModuleData": {
          "$ref": "InfoModuleData",
          "description": "Deprecated. Use textModulesData instead."
        },
        "kind": {
          "deprecated": true,
          "description": "Identifies what kind of resource this is. Value: the fixed string `\"walletobjects#loyaltyObject\"`.",
          "type": "string"
        },
        "linkedOfferIds": {
          "description": "A list of offer objects linked to this loyalty card. The offer objects must already exist. Offer object IDs should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "linksModuleData": {
          "$ref": "LinksModuleData",
          "description": "Links module data. If links module data is also defined on the class, both will be displayed."
        },
        "locations": {
          "description": "Note: This field is currently not supported to trigger geo notifications.",
          "items": {
            "$ref": "LatLongPoint"
          },
          "type": "array"
        },
        "loyaltyPoints": {
          "$ref": "LoyaltyPoints",
          "description": "The loyalty reward points label, balance, and type."
        },
        "messages": {
          "description": "An array of messages displayed in the app. All users of this object will receive its associated messages. The maximum number of these fields is 10.",
          "items": {
            "$ref": "Message"
          },
          "type": "array"
        },
        "passConstraints": {
          "$ref": "PassConstraints",
          "description": "Pass constraints for the object. Includes limiting NFC and screenshot behaviors."
        },
        "rotatingBarcode": {
          "$ref": "RotatingBarcode",
          "description": "The rotating barcode type and value."
        },
        "secondaryLoyaltyPoints": {
          "$ref": "LoyaltyPoints",
          "description": "The secondary loyalty reward points label, balance, and type. Shown in addition to the primary loyalty points."
        },
        "smartTapRedemptionValue": {
          "description": "The value that will be transmitted to a Smart Tap certified terminal over NFC for this object. The class level fields `enableSmartTap` and `redemptionIssuers` must also be set up correctly in order for the pass to support Smart Tap. Only ASCII characters are supported. If this value is not set but the class level fields `enableSmartTap` and `redemptionIssuers` are set up correctly, the `barcode.value` or the `accountId` fields are used as fallback if present.",
          "type": "string"
        },
        "state": {
          "description": "Required. The state of the object. This field is used to determine how an object is displayed in the app. For example, an `inactive` object is moved to the \"Expired passes\" section.",
          "enum": [
            "STATE_UNSPECIFIED",
            "ACTIVE",
            "active",
            "COMPLETED",
            "completed",
            "EXPIRED",
            "expired",
            "INACTIVE",
            "inactive"
          ],
          "enumDeprecated": [
            false,
            false,
            true,
            false,
            true,
            false,
            true,
            false,
            true
          ],
          "enumDescriptions": [
            "",
            "Object is active and displayed to with other active objects.",
            "Legacy alias for `ACTIVE`. Deprecated.",
            "",
            "Legacy alias for `COMPLETED`. Deprecated.",
            "Object is no longer valid (`validTimeInterval` passed).",
            "Legacy alias for `EXPIRED`. Deprecated.",
            "",
            "Legacy alias for `INACTIVE`. Deprecated."
          ],
          "type": "string"
        },
        "textModulesData": {
          "description": "Text module data. If text module data is also defined on the class, both will be displayed. The maximum number of these fields displayed is 10 from the object and 10 from the class.",
          "items": {
            "$ref": "TextModuleData"
          },
          "type": "array"
        },
        "validTimeInterval": {
          "$ref": "TimeInterval",
          "description": "The time period this object will be `active` and object can be used. An object's state will be changed to `expired` when this time period has passed."
        },
        "version": {
          "deprecated": true,
          "description": "Deprecated",
          "format": "int64",
          "type": "string"
        }
      },
      "type": "object"
    },
    "LoyaltyObjectAddMessageResponse": {
      "id": "LoyaltyObjectAddMessageResponse",
      "properties": {
        "resource": {
          "$ref": "LoyaltyObject",
          "description": "The updated LoyaltyObject resource."
        }
      },
      "type": "object"
    },
    "LoyaltyObjectListResponse": {
      "id": "LoyaltyObjectListResponse",
      "properties": {
        "pagination": {
          "$ref": "Pagination",
          "description": "Pagination of the response."
        },
        "resources": {
          "description": "Resources corresponding to the list request.",
          "items": {
            "$ref": "LoyaltyObject"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "LoyaltyPoints": {
      "id": "LoyaltyPoints",
      "properties": {
        "balance": {
          "$ref": "LoyaltyPointsBalance",
          "description": "The account holder's loyalty point balance, such as \"500\" or \"$10.00\". Recommended maximum length is 7 characters. This is a required field of `loyaltyPoints` and `secondaryLoyaltyPoints`."
        },
        "label": {
          "description": "The loyalty points label, such as \"Points\". Recommended maximum length is 9 characters.",
          "type": "string"
        },
        "localizedLabel": {
          "$ref": "LocalizedString",
          "description": "Translated strings for the label. Recommended maximum length is 9 characters."
        }
      },
      "type": "object"
    },
    "LoyaltyPointsBalance": {
      "id": "LoyaltyPointsBalance",
      "properties": {
        "double": {
          "description": "The double form of a balance. Only one of these subtypes (string, int, double, money) should be populated.",
          "format": "double",
          "type": "number"
        },
        "int": {
          "description": "The integer form of a balance. Only one of these subtypes (string, int, double, money) should be populated.",
          "format": "int32",
          "type": "integer"
        },
        "money": {
          "$ref": "Money",
          "description": "The money form of a balance. Only one of these subtypes (string, int, double, money) should be populated."
        },
        "string": {
          "description": "The string form of a balance. Only one of these subtypes (string, int, double, money) should be populated.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Media": {
      "description": "A reference to data stored on the filesystem, on GFS or in blobstore.",
      "id": "Media",
      "properties": {
        "algorithm": {
          "deprecated": true,
          "description": "Deprecated, use one of explicit hash type fields instead. Algorithm used for calculating the hash. As of 2011/01/21, \"MD5\" is the only possible value for this field. New values may be added at any time.",
          "type": "string"
        },
        "bigstoreObjectRef": {
          "deprecated": true,
          "description": "Use object_id instead.",
          "format": "byte",
          "type": "string"
        },
        "blobRef": {
          "deprecated": true,
          "description": "Blobstore v1 reference, set if reference_type is BLOBSTORE_REF This should be the byte representation of a blobstore.BlobRef. Since Blobstore is deprecating v1, use blobstore2_info instead. For now, any v2 blob will also be represented in this field as v1 BlobRef.",
          "format": "byte",
          "type": "string"
        },
        "blobstore2Info": {
          "$ref": "Blobstore2Info",
          "description": "Blobstore v2 info, set if reference_type is BLOBSTORE_REF and it refers to a v2 blob."
        },
        "compositeMedia": {
          "description": "A composite media composed of one or more media objects, set if reference_type is COMPOSITE_MEDIA. The media length field must be set to the sum of the lengths of all composite media objects. Note: All composite media must have length specified.",
          "items": {
            "$ref": "CompositeMedia"
          },
          "type": "array"
        },
        "contentType": {
          "description": "MIME type of the data",
          "type": "string"
        },
        "contentTypeInfo": {
          "$ref": "ContentTypeInfo",
          "description": "Extended content type information provided for Scotty uploads."
        },
        "cosmoBinaryReference": {
          "description": "A binary data reference for a media download. Serves as a technology-agnostic binary reference in some Google infrastructure. This value is a serialized storage_cosmo.BinaryReference proto. Storing it as bytes is a hack to get around the fact that the cosmo proto (as well as others it includes) doesn't support JavaScript. This prevents us from including the actual type of this field.",
          "format": "byte",
          "type": "string"
        },
        "crc32cHash": {
          "description": "For Scotty Uploads: Scotty-provided hashes for uploads For Scotty Downloads: (WARNING: DO NOT USE WITHOUT PERMISSION FROM THE SCOTTY TEAM.) A Hash provided by the agent to be used to verify the data being downloaded. Currently only supported for inline payloads. Further, only crc32c_hash is currently supported.",
          "format": "uint32",
          "type": "integer"
        },
        "diffChecksumsResponse": {
          "$ref": "DiffChecksumsResponse",
          "description": "Set if reference_type is DIFF_CHECKSUMS_RESPONSE."
        },
        "diffDownloadResponse": {
          "$ref": "DiffDownloadResponse",
          "description": "Set if reference_type is DIFF_DOWNLOAD_RESPONSE."
        },
        "diffUploadRequest": {
          "$ref": "DiffUploadRequest",
          "description": "Set if reference_type is DIFF_UPLOAD_REQUEST."
        },
        "diffUploadResponse": {
          "$ref": "DiffUploadResponse",
          "description": "Set if reference_type is DIFF_UPLOAD_RESPONSE."
        },
        "diffVersionResponse": {
          "$ref": "DiffVersionResponse",
          "description": "Set if reference_type is DIFF_VERSION_RESPONSE."
        },
        "downloadParameters": {
          "$ref": "DownloadParameters",
          "description": "Parameters for a media download."
        },
        "filename": {
          "description": "Original file name",
          "type": "string"
        },
        "hash": {
          "deprecated": true,
          "description": "Deprecated, use one of explicit hash type fields instead. These two hash related fields will only be populated on Scotty based media uploads and will contain the content of the hash group in the NotificationRequest: http://cs/#google3/uploader/service/proto/upload_listener.proto&q=class:Hash Hex encoded hash value of the uploaded media.",
          "type": "string"
        },
        "hashVerified": {
          "description": "For Scotty uploads only. If a user sends a hash code and the backend has requested that Scotty verify the upload against the client hash, Scotty will perform the check on behalf of the backend and will reject it if the hashes don't match. This is set to true if Scotty performed this verification.",
          "type": "boolean"
        },
        "inline": {
          "description": "Media data, set if reference_type is INLINE",
          "format": "byte",
          "type": "string"
        },
        "isPotentialRetry": {
          "description": "|is_potential_retry| is set false only when Scotty is certain that it has not sent the request before. When a client resumes an upload, this field must be set true in agent calls, because Scotty cannot be certain that it has never sent the request before due to potential failure in the session state persistence.",
          "type": "boolean"
        },
        "length": {
          "description": "Size of the data, in bytes",
          "format": "int64",
          "type": "string"
        },
        "md5Hash": {
          "description": "Scotty-provided MD5 hash for an upload.",
          "format": "byte",
          "type": "string"
        },
        "mediaId": {
          "description": "Media id to forward to the operation GetMedia. Can be set if reference_type is GET_MEDIA.",
          "format": "byte",
          "type": "string"
        },
        "objectId": {
          "$ref": "ObjectId",
          "description": "Reference to a TI Blob, set if reference_type is BIGSTORE_REF."
        },
        "path": {
          "description": "Path to the data, set if reference_type is PATH",
          "type": "string"
        },
        "referenceType": {
          "description": "Describes what the field reference contains.",
          "enum": [
            "PATH",
            "BLOB_REF",
            "INLINE",
            "GET_MEDIA",
            "COMPOSITE_MEDIA",
            "BIGSTORE_REF",
            "DIFF_VERSION_RESPONSE",
            "DIFF_CHECKSUMS_RESPONSE",
            "DIFF_DOWNLOAD_RESPONSE",
            "DIFF_UPLOAD_REQUEST",
            "DIFF_UPLOAD_RESPONSE",
            "COSMO_BINARY_REFERENCE",
            "ARBITRARY_BYTES"
          ],
          "enumDescriptions": [
            "Reference contains a GFS path or a local path.",
            "Reference points to a blobstore object. This could be either a v1 blob_ref or a v2 blobstore2_info. Clients should check blobstore2_info first, since v1 is being deprecated.",
            "Data is included into this proto buffer",
            "Data should be accessed from the current service using the operation GetMedia.",
            "The content for this media object is stored across multiple partial media objects under the composite_media field.",
            "Reference points to a bigstore object",
            "Indicates the data is stored in diff_version_response.",
            "Indicates the data is stored in diff_checksums_response.",
            "Indicates the data is stored in diff_download_response.",
            "Indicates the data is stored in diff_upload_request.",
            "Indicates the data is stored in diff_upload_response.",
            "Indicates the data is stored in cosmo_binary_reference.",
            "Informs Scotty to generate a response payload with the size specified in the length field. The contents of the payload are generated by Scotty and are undefined. This is useful for testing download speeds between the user and Scotty without involving a real payload source. Note: range is not supported when using arbitrary_bytes."
          ],
          "type": "string"
        },
        "sha1Hash": {
          "description": "Scotty-provided SHA1 hash for an upload.",
          "format": "byte",
          "type": "string"
        },
        "sha256Hash": {
          "description": "Scotty-provided SHA256 hash for an upload.",
          "format": "byte",
          "type": "string"
        },
        "timestamp": {
          "description": "Time at which the media data was last updated, in milliseconds since UNIX epoch",
          "format": "uint64",
          "type": "string"
        },
        "token": {
          "description": "A unique fingerprint/version id for the media data",
          "type": "string"
        }
      },
      "type": "object"
    },
    "MediaRequestInfo": {
      "description": "Extra information added to operations that support Scotty media requests.",
      "id": "MediaRequestInfo",
      "properties": {
        "currentBytes": {
          "description": "The number of current bytes uploaded or downloaded.",
          "format": "int64",
          "type": "string"
        },
        "customData": {
          "description": "Data to be copied to backend requests. Custom data is returned to Scotty in the agent_state field, which Scotty will then provide in subsequent upload notifications.",
          "type": "string"
        },
        "diffObjectVersion": {
          "description": "Set if the http request info is diff encoded. The value of this field is the version number of the base revision. This is corresponding to Apiary's mediaDiffObjectVersion (//depot/google3/java/com/google/api/server/media/variable/DiffObjectVersionVariable.java). See go/esf-scotty-diff-upload for more information.",
          "type": "string"
        },
        "finalStatus": {
          "description": "The existence of the final_status field indicates that this is the last call to the agent for this request_id. http://google3/uploader/agent/scotty_agent.proto?l=737&rcl=347601929",
          "format": "int32",
          "type": "integer"
        },
        "notificationType": {
          "description": "The type of notification received from Scotty.",
          "enum": [
            "START",
            "PROGRESS",
            "END",
            "RESPONSE_SENT",
            "ERROR"
          ],
          "enumDescriptions": [
            "Such requests signals the start of a request containing media upload. Only the media field(s) in the inserted/updated resource are set. The response should either return an error or succeed. On success, responses don't need to contain anything.",
            "Such requests signals that the upload has progressed and that the backend might want to access the media file specified in relevant fields in the resource. Only the media field(s) in the inserted/updated resource are set. The response should either return an error or succeed. On success, responses don't need to contain anything.",
            "Such requests signals the end of a request containing media upload. END should be handled just like normal Insert/Upload requests, that is, they should process the request and return a complete resource in the response. Pointers to media data (a GFS path usually) appear in the relevant fields in the inserted/updated resource. See gdata.Media in data.proto.",
            "Such requests occur after an END and signal that the response has been sent back to the client. RESPONSE_SENT is only sent to the backend if it is configured to receive them. The response does not need to contain anything.",
            "Such requests indicate that an error occurred while processing the request. ERROR is only sent to the backend if it is configured to receive them. It is not guaranteed that all errors will result in this notification to the backend, even if the backend requests them. Since these requests are just for informational purposes, the response does not need to contain anything."
          ],
          "type": "string"
        },
        "requestId": {
          "description": "The Scotty request ID.",
          "type": "string"
        },
        "requestReceivedParamsServingInfo": {
          "description": "The partition of the Scotty server handling this request. type is uploader_service.RequestReceivedParamsServingInfo LINT.IfChange(request_received_params_serving_info_annotations) LINT.ThenChange()",
          "format": "byte",
          "type": "string"
        },
        "totalBytes": {
          "description": "The total size of the file.",
          "format": "int64",
          "type": "string"
        },
        "totalBytesIsEstimated": {
          "description": "Whether the total bytes field contains an estimated data.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "Message": {
      "description": "A message that will be displayed with a Valuable",
      "id": "Message",
      "properties": {
        "body": {
          "description": "The message body.",
          "type": "string"
        },
        "displayInterval": {
          "$ref": "TimeInterval",
          "description": "The period of time that the message will be displayed to users. You can define both a `startTime` and `endTime` for each message. A message is displayed immediately after a Wallet Object is inserted unless a `startTime` is set. The message will appear in a list of messages indefinitely if `endTime` is not provided."
        },
        "header": {
          "description": "The message header.",
          "type": "string"
        },
        "id": {
          "description": "The ID associated with a message. This field is here to enable ease of management of messages. Notice ID values could possibly duplicate across multiple messages in the same class/instance, and care must be taken to select a reasonable ID for each message.",
          "type": "string"
        },
        "kind": {
          "deprecated": true,
          "description": "Identifies what kind of resource this is. Value: the fixed string `\"walletobjects#walletObjectMessage\"`.",
          "type": "string"
        },
        "localizedBody": {
          "$ref": "LocalizedString",
          "description": "Translated strings for the message body."
        },
        "localizedHeader": {
          "$ref": "LocalizedString",
          "description": "Translated strings for the message header."
        },
        "messageType": {
          "description": "The type of the message. Currently, this can only be set for offers.",
          "enum": [
            "MESSAGE_TYPE_UNSPECIFIED",
            "TEXT",
            "text",
            "EXPIRATION_NOTIFICATION",
            "expirationNotification"
          ],
          "enumDeprecated": [
            false,
            false,
            true,
            false,
            true
          ],
          "enumDescriptions": [
            "",
            "Renders the message as text on the card details screen. This is the default message type.",
            "Legacy alias for `TEXT`. Deprecated.",
            "Note: This enum is currently not supported.",
            "Legacy alias for `EXPIRATION_NOTIFICATION`. Deprecated."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "ModifyLinkedOfferObjects": {
      "id": "ModifyLinkedOfferObjects",
      "properties": {
        "addLinkedOfferObjectIds": {
          "description": "The linked offer object ids to add to the object.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "removeLinkedOfferObjectIds": {
          "description": "The linked offer object ids to remove from the object.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "ModifyLinkedOfferObjectsRequest": {
      "id": "ModifyLinkedOfferObjectsRequest",
      "properties": {
        "linkedOfferObjectIds": {
          "$ref": "ModifyLinkedOfferObjects",
          "description": "The linked offer object ids to add or remove from the object."
        }
      },
      "type": "object"
    },
    "Money": {
      "id": "Money",
      "properties": {
        "currencyCode": {
          "description": "The currency code, such as \"USD\" or \"EUR.\"",
          "type": "string"
        },
        "kind": {
          "deprecated": true,
          "description": "Identifies what kind of resource this is. Value: the fixed string `\"walletobjects#money\"`.",
          "type": "string"
        },
        "micros": {
          "description": "The unit of money amount in micros. For example, $1 USD would be represented as 1000000 micros.",
          "format": "int64",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Notifications": {
      "description": "Indicates if the object needs to have notification enabled. We support only one of ExpiryNotification/UpcomingNotification. `expiryNotification` takes precedence over `upcomingNotification`. In other words if `expiryNotification` is set, we ignore the `upcomingNotification` field.",
      "id": "Notifications",
      "properties": {
        "expiryNotification": {
          "$ref": "ExpiryNotification",
          "description": "A notification would be triggered at a specific time before the card expires."
        },
        "upcomingNotification": {
          "$ref": "UpcomingNotification",
          "description": "A notification would be triggered at a specific time before the card becomes usable."
        }
      },
      "type": "object"
    },
    "ObjectId": {
      "description": "This is a copy of the tech.blob.ObjectId proto, which could not be used directly here due to transitive closure issues with JavaScript support; see http://b/8801763.",
      "id": "ObjectId",
      "properties": {
        "bucketName": {
          "description": "The name of the bucket to which this object belongs.",
          "type": "string"
        },
        "generation": {
          "description": "Generation of the object. Generations are monotonically increasing across writes, allowing them to be be compared to determine which generation is newer. If this is omitted in a request, then you are requesting the live object. See http://go/bigstore-versions",
          "format": "int64",
          "type": "string"
        },
        "objectName": {
          "description": "The name of the object.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "OfferClass": {
      "id": "OfferClass",
      "properties": {
        "allowMultipleUsersPerObject": {
          "deprecated": true,
          "description": "Deprecated. Use `multipleDevicesAndHoldersAllowedStatus` instead.",
          "type": "boolean"
        },
        "callbackOptions": {
          "$ref": "CallbackOptions",
          "description": "Callback options to be used to call the issuer back for every save/delete of an object for this class by the end-user. All objects of this class are eligible for the callback."
        },
        "classTemplateInfo": {
          "$ref": "ClassTemplateInfo",
          "description": "Template information about how the class should be displayed. If unset, Google will fallback to a default set of fields to display."
        },
        "countryCode": {
          "description": "Country code used to display the card's country (when the user is not in that country), as well as to display localized content when content is not available in the user's locale.",
          "type": "string"
        },
        "details": {
          "description": "The details of the offer.",
          "type": "string"
        },
        "enableSmartTap": {
          "description": "Identifies whether this class supports Smart Tap. The `redemptionIssuers` and object level `smartTapRedemptionLevel` fields must also be set up correctly in order for a pass to support Smart Tap.",
          "type": "boolean"
        },
        "finePrint": {
          "description": "The fine print or terms of the offer, such as \"20% off any t-shirt at Adam's Apparel.\"",
          "type": "string"
        },
        "helpUri": {
          "$ref": "Uri",
          "description": "The help link for the offer, such as `http://myownpersonaldomain.com/help`"
        },
        "heroImage": {
          "$ref": "Image",
          "description": "Optional banner image displayed on the front of the card. If none is present, nothing will be displayed. The image will display at 100% width."
        },
        "hexBackgroundColor": {
          "description": "The background color for the card. If not set the dominant color of the hero image is used, and if no hero image is set, the dominant color of the logo is used. The format is #rrggbb where rrggbb is a hex RGB triplet, such as `#ffcc00`. You can also use the shorthand version of the RGB triplet which is #rgb, such as `#fc0`.",
          "type": "string"
        },
        "homepageUri": {
          "$ref": "Uri",
          "description": "The URI of your application's home page. Populating the URI in this field results in the exact same behavior as populating an URI in linksModuleData (when an object is rendered, a link to the homepage is shown in what would usually be thought of as the linksModuleData section of the object)."
        },
        "id": {
          "description": "Required. The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
          "type": "string"
        },
        "imageModulesData": {
          "description": "Image module data. The maximum number of these fields displayed is 1 from object level and 1 for class object level.",
          "items": {
            "$ref": "ImageModuleData"
          },
          "type": "array"
        },
        "infoModuleData": {
          "$ref": "InfoModuleData",
          "deprecated": true,
          "description": "Deprecated. Use textModulesData instead."
        },
        "issuerName": {
          "description": "Required. The issuer name. Recommended maximum length is 20 characters to ensure full string is displayed on smaller screens.",
          "type": "string"
        },
        "kind": {
          "deprecated": true,
          "description": "Identifies what kind of resource this is. Value: the fixed string `\"walletobjects#offerClass\"`.",
          "type": "string"
        },
        "linksModuleData": {
          "$ref": "LinksModuleData",
          "description": "Links module data. If links module data is also defined on the object, both will be displayed."
        },
        "localizedDetails": {
          "$ref": "LocalizedString",
          "description": "Translated strings for the details."
        },
        "localizedFinePrint": {
          "$ref": "LocalizedString",
          "description": "Translated strings for the fine_print."
        },
        "localizedIssuerName": {
          "$ref": "LocalizedString",
          "description": "Translated strings for the issuer_name. Recommended maximum length is 20 characters to ensure full string is displayed on smaller screens."
        },
        "localizedProvider": {
          "$ref": "LocalizedString",
          "description": "Translated strings for the provider. Recommended maximum length is 12 characters to ensure full string is displayed on smaller screens."
        },
        "localizedShortTitle": {
          "$ref": "LocalizedString",
          "description": "Translated strings for the short title. Recommended maximum length is 20 characters."
        },
        "localizedTitle": {
          "$ref": "LocalizedString",
          "description": "Translated strings for the title. Recommended maximum length is 60 characters to ensure full string is displayed on smaller screens."
        },
        "locations": {
          "description": "Note: This field is currently not supported to trigger geo notifications.",
          "items": {
            "$ref": "LatLongPoint"
          },
          "type": "array"
        },
        "messages": {
          "description": "An array of messages displayed in the app. All users of this object will receive its associated messages. The maximum number of these fields is 10.",
          "items": {
            "$ref": "Message"
          },
          "type": "array"
        },
        "multipleDevicesAndHoldersAllowedStatus": {
          "description": "Identifies whether multiple users and devices will save the same object referencing this class.",
          "enum": [
            "STATUS_UNSPECIFIED",
            "MULTIPLE_HOLDERS",
            "ONE_USER_ALL_DEVICES",
            "ONE_USER_ONE_DEVICE",
            "multipleHolders",
            "oneUserAllDevices",
            "oneUserOneDevice"
          ],
          "enumDeprecated": [
            false,
            false,
            false,
            false,
            true,
            true,
            true
          ],
          "enumDescriptions": [
            "Unspecified preference.",
            "The same object can be saved by any number of different users, and on any number of devices. Partners typically use this setup for passes that do not need to be restricted to a single user or pinned to a single device.",
            "An object can only be saved by one user, but this user can view and use it on multiple of their devices. Once the first user saves the object, no other user will be allowed to view or save it.",
            "An object can only be saved by one user on a single device. Intended for use by select partners in limited circumstances. An example use case is a transit ticket that should be \"device pinned\", meaning it can be saved, viewed and used only by a single user on a single device. Contact support for additional information.",
            "Legacy alias for `MULTIPLE_HOLDERS`. Deprecated.",
            "Legacy alias for `ONE_USER_ALL_DEVICES`. Deprecated.",
            "Legacy alias for `ONE_USER_ONE_DEVICE`. Deprecated."
          ],
          "type": "string"
        },
        "provider": {
          "description": "Required. The offer provider (either the aggregator name or merchant name). Recommended maximum length is 12 characters to ensure full string is displayed on smaller screens.",
          "type": "string"
        },
        "redemptionChannel": {
          "description": "Required. The redemption channels applicable to this offer.",
          "enum": [
            "REDEMPTION_CHANNEL_UNSPECIFIED",
            "INSTORE",
            "instore",
            "ONLINE",
            "online",
            "BOTH",
            "both",
            "TEMPORARY_PRICE_REDUCTION",
            "temporaryPriceReduction"
          ],
          "enumDeprecated": [
            false,
            false,
            true,
            false,
            true,
            false,
            true,
            false,
            true
          ],
          "enumDescriptions": [
            "",
            "",
            "Legacy alias for `INSTORE`. Deprecated.",
            "",
            "Legacy alias for `ONLINE`. Deprecated.",
            "",
            "Legacy alias for `BOTH`. Deprecated.",
            "",
            "Legacy alias for `TEMPORARY_PRICE_REDUCTION`. Deprecated."
          ],
          "type": "string"
        },
        "redemptionIssuers": {
          "description": "Identifies which redemption issuers can redeem the pass over Smart Tap. Redemption issuers are identified by their issuer ID. Redemption issuers must have at least one Smart Tap key configured. The `enableSmartTap` and object level `smartTapRedemptionLevel` fields must also be set up correctly in order for a pass to support Smart Tap.",
          "items": {
            "format": "int64",
            "type": "string"
          },
          "type": "array"
        },
        "review": {
          "$ref": "Review",
          "description": "The review comments set by the platform when a class is marked `approved` or `rejected`."
        },
        "reviewStatus": {
          "description": "Required. The status of the class. This field can be set to `draft` or The status of the class. This field can be set to `draft` or `underReview` using the insert, patch, or update API calls. Once the review state is changed from `draft` it may not be changed back to `draft`. You should keep this field to `draft` when the class is under development. A `draft` class cannot be used to create any object. You should set this field to `underReview` when you believe the class is ready for use. The platform will automatically set this field to `approved` and it can be immediately used to create or migrate objects. When updating an already `approved` class you should keep setting this field to `underReview`.",
          "enum": [
            "REVIEW_STATUS_UNSPECIFIED",
            "UNDER_REVIEW",
            "underReview",
            "APPROVED",
            "approved",
            "REJECTED",
            "rejected",
            "DRAFT",
            "draft"
          ],
          "enumDeprecated": [
            false,
            false,
            true,
            false,
            true,
            false,
            true,
            false,
            true
          ],
          "enumDescriptions": [
            "",
            "",
            "Legacy alias for `UNDER_REVIEW`. Deprecated.",
            "",
            "Legacy alias for `APPROVED`. Deprecated.",
            "",
            "Legacy alias for `REJECTED`. Deprecated.",
            "",
            "Legacy alias for `DRAFT`. Deprecated."
          ],
          "type": "string"
        },
        "securityAnimation": {
          "$ref": "SecurityAnimation",
          "description": "Optional information about the security animation. If this is set a security animation will be rendered on pass details."
        },
        "shortTitle": {
          "description": "A shortened version of the title of the offer, such as \"20% off,\" shown to users as a quick reference to the offer contents. Recommended maximum length is 20 characters.",
          "type": "string"
        },
        "textModulesData": {
          "description": "Text module data. If text module data is also defined on the class, both will be displayed. The maximum number of these fields displayed is 10 from the object and 10 from the class.",
          "items": {
            "$ref": "TextModuleData"
          },
          "type": "array"
        },
        "title": {
          "description": "Required. The title of the offer, such as \"20% off any t-shirt.\" Recommended maximum length is 60 characters to ensure full string is displayed on smaller screens.",
          "type": "string"
        },
        "titleImage": {
          "$ref": "Image",
          "description": "The title image of the offer. This image is displayed in both the details and list views of the app."
        },
        "version": {
          "deprecated": true,
          "description": "Deprecated",
          "format": "int64",
          "type": "string"
        },
        "viewUnlockRequirement": {
          "description": "View Unlock Requirement options for the offer.",
          "enum": [
            "VIEW_UNLOCK_REQUIREMENT_UNSPECIFIED",
            "UNLOCK_NOT_REQUIRED",
            "UNLOCK_REQUIRED_TO_VIEW"
          ],
          "enumDescriptions": [
            "Default value, same as UNLOCK_NOT_REQUIRED.",
            "Default behavior for all the existing Passes if ViewUnlockRequirement is not set.",
            "Requires the user to unlock their device each time the pass is viewed. If the user removes their device lock after saving the pass, then they will be prompted to create a device lock before the pass can be viewed."
          ],
          "type": "string"
        },
        "wideTitleImage": {
          "$ref": "Image",
          "description": "The wide title image of the offer. When provided, this will be used in place of the title image in the top left of the card view."
        },
        "wordMark": {
          "$ref": "Image",
          "deprecated": true,
          "description": "Deprecated."
        }
      },
      "type": "object"
    },
    "OfferClassAddMessageResponse": {
      "id": "OfferClassAddMessageResponse",
      "properties": {
        "resource": {
          "$ref": "OfferClass",
          "description": "The updated OfferClass resource."
        }
      },
      "type": "object"
    },
    "OfferClassListResponse": {
      "id": "OfferClassListResponse",
      "properties": {
        "pagination": {
          "$ref": "Pagination",
          "description": "Pagination of the response."
        },
        "resources": {
          "description": "Resources corresponding to the list request.",
          "items": {
            "$ref": "OfferClass"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "OfferObject": {
      "id": "OfferObject",
      "properties": {
        "appLinkData": {
          "$ref": "AppLinkData",
          "description": "Optional information about the partner app link."
        },
        "barcode": {
          "$ref": "Barcode",
          "description": "The barcode type and value."
        },
        "classId": {
          "description": "Required. The class associated with this object. The class must be of the same type as this object, must already exist, and must be approved. Class IDs should follow the format issuer ID.identifier where the former is issued by Google and latter is chosen by you.",
          "type": "string"
        },
        "classReference": {
          "$ref": "OfferClass",
          "description": "A copy of the inherited fields of the parent class. These fields are retrieved during a GET."
        },
        "disableExpirationNotification": {
          "description": "Indicates if notifications should explicitly be suppressed. If this field is set to true, regardless of the `messages` field, expiration notifications to the user will be suppressed. By default, this field is set to false. Currently, this can only be set for offers.",
          "type": "boolean"
        },
        "groupingInfo": {
          "$ref": "GroupingInfo",
          "description": "Information that controls how passes are grouped together."
        },
        "hasLinkedDevice": {
          "description": "Whether this object is currently linked to a single device. This field is set by the platform when a user saves the object, linking it to their device. Intended for use by select partners. Contact support for additional information.",
          "type": "boolean"
        },
        "hasUsers": {
          "description": "Indicates if the object has users. This field is set by the platform.",
          "type": "boolean"
        },
        "heroImage": {
          "$ref": "Image",
          "description": "Optional banner image displayed on the front of the card. If none is present, hero image of the class, if present, will be displayed. If hero image of the class is also not present, nothing will be displayed."
        },
        "id": {
          "description": "Required. The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID.identifier where the former is issued by Google and latter is chosen by you. The unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
          "type": "string"
        },
        "imageModulesData": {
          "description": "Image module data. The maximum number of these fields displayed is 1 from object level and 1 for class object level.",
          "items": {
            "$ref": "ImageModuleData"
          },
          "type": "array"
        },
        "infoModuleData": {
          "$ref": "InfoModuleData",
          "description": "Deprecated. Use textModulesData instead."
        },
        "kind": {
          "deprecated": true,
          "description": "Identifies what kind of resource this is. Value: the fixed string `\"walletobjects#offerObject\"`.",
          "type": "string"
        },
        "linksModuleData": {
          "$ref": "LinksModuleData",
          "description": "Links module data. If links module data is also defined on the class, both will be displayed."
        },
        "locations": {
          "description": "Note: This field is currently not supported to trigger geo notifications.",
          "items": {
            "$ref": "LatLongPoint"
          },
          "type": "array"
        },
        "messages": {
          "description": "An array of messages displayed in the app. All users of this object will receive its associated messages. The maximum number of these fields is 10.",
          "items": {
            "$ref": "Message"
          },
          "type": "array"
        },
        "passConstraints": {
          "$ref": "PassConstraints",
          "description": "Pass constraints for the object. Includes limiting NFC and screenshot behaviors."
        },
        "rotatingBarcode": {
          "$ref": "RotatingBarcode",
          "description": "The rotating barcode type and value."
        },
        "smartTapRedemptionValue": {
          "description": "The value that will be transmitted to a Smart Tap certified terminal over NFC for this object. The class level fields `enableSmartTap` and `redemptionIssuers` must also be set up correctly in order for the pass to support Smart Tap. Only ASCII characters are supported.",
          "type": "string"
        },
        "state": {
          "description": "Required. The state of the object. This field is used to determine how an object is displayed in the app. For example, an `inactive` object is moved to the \"Expired passes\" section.",
          "enum": [
            "STATE_UNSPECIFIED",
            "ACTIVE",
            "active",
            "COMPLETED",
            "completed",
            "EXPIRED",
            "expired",
            "INACTIVE",
            "inactive"
          ],
          "enumDeprecated": [
            false,
            false,
            true,
            false,
            true,
            false,
            true,
            false,
            true
          ],
          "enumDescriptions": [
            "",
            "Object is active and displayed to with other active objects.",
            "Legacy alias for `ACTIVE`. Deprecated.",
            "",
            "Legacy alias for `COMPLETED`. Deprecated.",
            "Object is no longer valid (`validTimeInterval` passed).",
            "Legacy alias for `EXPIRED`. Deprecated.",
            "",
            "Legacy alias for `INACTIVE`. Deprecated."
          ],
          "type": "string"
        },
        "textModulesData": {
          "description": "Text module data. If text module data is also defined on the class, both will be displayed. The maximum number of these fields displayed is 10 from the object and 10 from the class.",
          "items": {
            "$ref": "TextModuleData"
          },
          "type": "array"
        },
        "validTimeInterval": {
          "$ref": "TimeInterval",
          "description": "The time period this object will be `active` and object can be used. An object's state will be changed to `expired` when this time period has passed."
        },
        "version": {
          "deprecated": true,
          "description": "Deprecated",
          "format": "int64",
          "type": "string"
        }
      },
      "type": "object"
    },
    "OfferObjectAddMessageResponse": {
      "id": "OfferObjectAddMessageResponse",
      "properties": {
        "resource": {
          "$ref": "OfferObject",
          "description": "The updated OfferObject resource."
        }
      },
      "type": "object"
    },
    "OfferObjectListResponse": {
      "id": "OfferObjectListResponse",
      "properties": {
        "pagination": {
          "$ref": "Pagination",
          "description": "Pagination of the response."
        },
        "resources": {
          "description": "Resources corresponding to the list request.",
          "items": {
            "$ref": "OfferObject"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "Pagination": {
      "id": "Pagination",
      "properties": {
        "kind": {
          "deprecated": true,
          "description": "Identifies what kind of resource this is. Value: the fixed string `\"walletobjects#pagination\"`.",
          "type": "string"
        },
        "nextPageToken": {
          "description": "Page token to send to fetch the next page.",
          "type": "string"
        },
        "resultsPerPage": {
          "description": "Number of results returned in this page.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "PassConstraints": {
      "description": "Container for any constraints that may be placed on passes.",
      "id": "PassConstraints",
      "properties": {
        "nfcConstraint": {
          "description": "The NFC constraints for the pass.",
          "items": {
            "enum": [
              "NFC_CONSTRAINT_UNSPECIFIED",
              "BLOCK_PAYMENT",
              "BLOCK_CLOSED_LOOP_TRANSIT"
            ],
            "enumDescriptions": [
              "Default value, no specified constraint.",
              "Payment cards will not be conveyed while the pass is open.",
              "Closed loop transit cards will not be conveyed while the pass is open."
            ],
            "type": "string"
          },
          "type": "array"
        },
        "screenshotEligibility": {
          "description": "The screenshot eligibility for the pass.",
          "enum": [
            "SCREENSHOT_ELIGIBILITY_UNSPECIFIED",
            "ELIGIBLE",
            "INELIGIBLE"
          ],
          "enumDescriptions": [
            "Default value, same as ELIGIBLE.",
            "Default behavior for all existing Passes if ScreenshotEligibility is not set. Allows screenshots to be taken on Android devices.",
            "Disallows screenshots to be taken on Android devices. Note that older versions of Wallet may still allow screenshots to be taken."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "Permission": {
      "id": "Permission",
      "properties": {
        "emailAddress": {
          "description": "The email address of the user, group, or service account to which this permission refers to.",
          "type": "string"
        },
        "role": {
          "description": "The role granted by this permission.",
          "enum": [
            "ROLE_UNSPECIFIED",
            "OWNER",
            "owner",
            "READER",
            "reader",
            "WRITER",
            "writer"
          ],
          "enumDeprecated": [
            false,
            false,
            true,
            false,
            true,
            false,
            true
          ],
          "enumDescriptions": [
            "",
            "",
            "Legacy alias for `OWNER`. Deprecated.",
            "",
            "Legacy alias for `READER`. Deprecated.",
            "",
            "Legacy alias for `WRITER`. Deprecated."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "Permissions": {
      "id": "Permissions",
      "properties": {
        "issuerId": {
          "description": "ID of the issuer the list of permissions refer to.",
          "format": "int64",
          "type": "string"
        },
        "permissions": {
          "description": "The complete list of permissions for the issuer account.",
          "items": {
            "$ref": "Permission"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "PrivateText": {
      "description": "Private data for TextModule. This data will be rendered as a TextModule for a pass.",
      "id": "PrivateText",
      "properties": {
        "body": {
          "$ref": "LocalizedString",
          "description": "Translated strings for the body."
        },
        "header": {
          "$ref": "LocalizedString",
          "description": "Translated strings for the header."
        }
      },
      "type": "object"
    },
    "PrivateUri": {
      "description": "Private data for LinkModule. This data will be rendered as the LinkModule for a pass.",
      "id": "PrivateUri",
      "properties": {
        "description": {
          "$ref": "LocalizedString",
          "description": "The URI's title appearing in the app as text and its translated strings. Recommended maximum is 20 characters to ensure the full string is displayed on smaller screens."
        },
        "uri": {
          "description": "The location of a web page, image, or other resource. URIs in the `LinksModuleData` can have different prefixes indicating the type of URI (a link to a web page, a link to a map, a telephone number, or an email address).",
          "type": "string"
        }
      },
      "type": "object"
    },
    "PurchaseDetails": {
      "id": "PurchaseDetails",
      "properties": {
        "accountId": {
          "description": "ID of the account used to purchase the ticket.",
          "type": "string"
        },
        "confirmationCode": {
          "description": "The confirmation code for the purchase. This may be the same for multiple different tickets and is used to group tickets together.",
          "type": "string"
        },
        "purchaseDateTime": {
          "description": "The purchase date/time of the ticket. This is an ISO 8601 extended format date/time, with or without an offset. Time may be specified up to nanosecond precision. Offsets may be specified with seconds precision (even though offset seconds is not part of ISO 8601). For example: `1985-04-12T23:20:50.52Z` would be 20 minutes and 50.52 seconds after the 23rd hour of April 12th, 1985 in UTC. `1985-04-12T19:20:50.52-04:00` would be 20 minutes and 50.52 seconds after the 19th hour of April 12th, 1985, 4 hours before UTC (same instant in time as the above example). If the event were in New York, this would be the equivalent of Eastern Daylight Time (EDT). Remember that offset varies in regions that observe Daylight Saving Time (or Summer Time), depending on the time of the year. `1985-04-12T19:20:50.52` would be 20 minutes and 50.52 seconds after the 19th hour of April 12th, 1985 with no offset information. Without offset information, some rich features may not be available.",
          "type": "string"
        },
        "purchaseReceiptNumber": {
          "description": "Receipt number/identifier for tracking the ticket purchase via the body that sold the ticket.",
          "type": "string"
        },
        "ticketCost": {
          "$ref": "TicketCost",
          "description": "The cost of the ticket."
        }
      },
      "type": "object"
    },
    "ReservationInfo": {
      "id": "ReservationInfo",
      "properties": {
        "confirmationCode": {
          "description": "Confirmation code needed to check into this flight. This is the number that the passenger would enter into a kiosk at the airport to look up the flight and print a boarding pass.",
          "type": "string"
        },
        "eticketNumber": {
          "description": "E-ticket number.",
          "type": "string"
        },
        "frequentFlyerInfo": {
          "$ref": "FrequentFlyerInfo",
          "description": "Frequent flyer membership information."
        },
        "kind": {
          "deprecated": true,
          "description": "Identifies what kind of resource this is. Value: the fixed string `\"walletobjects#reservationInfo\"`.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Resources": {
      "id": "Resources",
      "properties": {
        "eventTicketClasses": {
          "items": {
            "$ref": "EventTicketClass"
          },
          "type": "array"
        },
        "eventTicketObjects": {
          "items": {
            "$ref": "EventTicketObject"
          },
          "type": "array"
        },
        "flightClasses": {
          "items": {
            "$ref": "FlightClass"
          },
          "type": "array"
        },
        "flightObjects": {
          "items": {
            "$ref": "FlightObject"
          },
          "type": "array"
        },
        "giftCardClasses": {
          "items": {
            "$ref": "GiftCardClass"
          },
          "type": "array"
        },
        "giftCardObjects": {
          "items": {
            "$ref": "GiftCardObject"
          },
          "type": "array"
        },
        "loyaltyClasses": {
          "items": {
            "$ref": "LoyaltyClass"
          },
          "type": "array"
        },
        "loyaltyObjects": {
          "items": {
            "$ref": "LoyaltyObject"
          },
          "type": "array"
        },
        "offerClasses": {
          "items": {
            "$ref": "OfferClass"
          },
          "type": "array"
        },
        "offerObjects": {
          "items": {
            "$ref": "OfferObject"
          },
          "type": "array"
        },
        "transitClasses": {
          "items": {
            "$ref": "TransitClass"
          },
          "type": "array"
        },
        "transitObjects": {
          "items": {
            "$ref": "TransitObject"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "Review": {
      "id": "Review",
      "properties": {
        "comments": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "RotatingBarcode": {
      "id": "RotatingBarcode",
      "properties": {
        "alternateText": {
          "description": "An optional text that will override the default text that shows under the barcode. This field is intended for a human readable equivalent of the barcode value, used when the barcode cannot be scanned.",
          "type": "string"
        },
        "initialRotatingBarcodeValues": {
          "$ref": "RotatingBarcodeValues",
          "description": "Input only. NOTE: This feature is only available for the transit vertical. Optional set of initial rotating barcode values. This allows a small subset of barcodes to be included with the object. Further rotating barcode values must be uploaded with the UploadRotatingBarcodeValues endpoint."
        },
        "renderEncoding": {
          "description": "The render encoding for the barcode. When specified, barcode is rendered in the given encoding. Otherwise best known encoding is chosen by Google.",
          "enum": [
            "RENDER_ENCODING_UNSPECIFIED",
            "UTF_8"
          ],
          "enumDescriptions": [
            "",
            "UTF_8 encoding for barcodes. This is only supported for barcode type qrCode."
          ],
          "type": "string"
        },
        "showCodeText": {
          "$ref": "LocalizedString",
          "description": "Optional text that will be shown when the barcode is hidden behind a click action. This happens in cases where a pass has Smart Tap enabled. If not specified, a default is chosen by Google."
        },
        "totpDetails": {
          "$ref": "RotatingBarcodeTotpDetails",
          "description": "Details used to evaluate the {totp_value_n} substitutions."
        },
        "type": {
          "description": "The type of this barcode.",
          "enum": [
            "BARCODE_TYPE_UNSPECIFIED",
            "AZTEC",
            "aztec",
            "CODE_39",
            "code39",
            "CODE_128",
            "code128",
            "CODABAR",
            "codabar",
            "DATA_MATRIX",
            "dataMatrix",
            "EAN_8",
            "ean8",
            "EAN_13",
            "ean13",
            "EAN13",
            "ITF_14",
            "itf14",
            "PDF_417",
            "pdf417",
            "PDF417",
            "QR_CODE",
            "qrCode",
            "qrcode",
            "UPC_A",
            "upcA",
            "TEXT_ONLY",
            "textOnly"
          ],
          "enumDeprecated": [
            false,
            false,
            true,
            false,
            true,
            false,
            true,
            false,
            true,
            false,
            true,
            false,
            true,
            false,
            true,
            true,
            false,
            true,
            false,
            true,
            true,
            false,
            true,
            true,
            false,
            true,
            false,
            true
          ],
          "enumDescriptions": [
            "",
            "Not supported for Rotating Barcodes.",
            "Legacy alias for `AZTEC`. Deprecated. Not supported for Rotating Barcodes.",
            "Not supported for Rotating Barcodes.",
            "Legacy alias for `CODE_39`. Deprecated. Not supported for Rotating Barcodes.",
            "Not supported for Rotating Barcodes.",
            "Legacy alias for `CODE_128`. Deprecated. Not supported for Rotating Barcodes.",
            "Not supported for Rotating Barcodes.",
            "Legacy alias for `CODABAR`. Deprecated. Not supported for Rotating Barcodes.",
            "A 2D matrix barcode consisting of black and white. Cells or modules are arranged in either a square or rectangle. Not supported for Rotating Barcodes.",
            "Legacy alias for `DATA_MATRIX`. Deprecated. Not supported for Rotating Barcodes.",
            "Not supported for Rotating Barcodes.",
            "Legacy alias for `EAN_8`. Deprecated. Not supported for Rotating Barcodes.",
            "Not supported for Rotating Barcodes.",
            "Legacy alias for `EAN_13`. Deprecated. Not supported for Rotating Barcodes.",
            "Legacy alias for `EAN_13`. Deprecated. Not supported for Rotating Barcodes.",
            "14 digit ITF code Not supported for Rotating Barcodes.",
            "Legacy alias for `ITF_14`. Deprecated. Not supported for Rotating Barcodes.",
            "Supported for Rotating Barcodes.",
            "Legacy alias for `PDF_417`. Deprecated.",
            "Legacy alias for `PDF_417`. Deprecated.",
            "Supported for Rotating Barcodes.",
            "Legacy alias for `QR_CODE`. Deprecated.",
            "Legacy alias for `QR_CODE`. Deprecated.",
            "11 or 12 digit codes Not supported for Rotating Barcodes.",
            "Legacy alias for `UPC_A`. Deprecated. Not supported for Rotating Barcodes.",
            "Renders the field as a text field. The `alternateText` field may not be used with a barcode of type `textOnly`. Not supported for Rotating Barcodes.",
            "Legacy alias for `TEXT_ONLY`. Deprecated. Not supported for Rotating Barcodes."
          ],
          "type": "string"
        },
        "valuePattern": {
          "description": "String encoded barcode value. This string supports the following substitutions: * {totp_value_n}: Replaced with the TOTP value (see TotpDetails.parameters). * {totp_timestamp_millis}: Replaced with the timestamp (millis since epoch) at which the barcode was generated. * {totp_timestamp_seconds}: Replaced with the timestamp (seconds since epoch) at which the barcode was generated.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "RotatingBarcodeTotpDetails": {
      "description": "Configuration for the time-based OTP substitutions. See https://tools.ietf.org/html/rfc6238",
      "id": "RotatingBarcodeTotpDetails",
      "properties": {
        "algorithm": {
          "description": "The TOTP algorithm used to generate the OTP.",
          "enum": [
            "TOTP_ALGORITHM_UNSPECIFIED",
            "TOTP_SHA1"
          ],
          "enumDescriptions": [
            "",
            "TOTP algorithm from RFC 6238 with the SHA1 hash function"
          ],
          "type": "string"
        },
        "parameters": {
          "description": "The TOTP parameters for each of the {totp_value_*} substitutions. The TotpParameters at index n is used for the {totp_value_n} substitution.",
          "items": {
            "$ref": "RotatingBarcodeTotpDetailsTotpParameters"
          },
          "type": "array"
        },
        "periodMillis": {
          "description": "The time interval used for the TOTP value generation, in milliseconds.",
          "format": "int64",
          "type": "string"
        }
      },
      "type": "object"
    },
    "RotatingBarcodeTotpDetailsTotpParameters": {
      "description": "Configuration for the key and value length. See https://www.rfc-editor.org/rfc/rfc4226#section-5.3",
      "id": "RotatingBarcodeTotpDetailsTotpParameters",
      "properties": {
        "key": {
          "description": "The secret key used for the TOTP value generation, encoded as a Base16 string.",
          "type": "string"
        },
        "valueLength": {
          "description": "The length of the TOTP value in decimal digits.",
          "format": "int32",
          "type": "integer"
        }
      },
      "type": "object"
    },
    "RotatingBarcodeValues": {
      "description": "A payload containing many barcode values and start date/time.",
      "id": "RotatingBarcodeValues",
      "properties": {
        "periodMillis": {
          "description": "Required. The amount of time each barcode is valid for.",
          "format": "int64",
          "type": "string"
        },
        "startDateTime": {
          "description": "Required. The date/time the first barcode is valid from. Barcodes will be rotated through using period_millis defined on the object's RotatingBarcodeValueInfo. This is an ISO 8601 extended format date/time, with an offset. Time may be specified up to nanosecond precision. Offsets may be specified with seconds precision (even though offset seconds is not part of ISO 8601). For example: `1985-04-12T23:20:50.52Z` would be 20 minutes and 50.52 seconds after the 23rd hour of April 12th, 1985 in UTC. `1985-04-12T19:20:50.52-04:00` would be 20 minutes and 50.52 seconds after the 19th hour of April 12th, 1985, 4 hours before UTC (same instant in time as the above example). If the event were in New York, this would be the equivalent of Eastern Daylight Time (EDT). Remember that offset varies in regions that observe Daylight Saving Time (or Summer Time), depending on the time of the year.",
          "type": "string"
        },
        "values": {
          "description": "Required. The values to encode in the barcode. At least one value is required.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "SecurityAnimation": {
      "id": "SecurityAnimation",
      "properties": {
        "animationType": {
          "description": "Type of animation.",
          "enum": [
            "ANIMATION_UNSPECIFIED",
            "FOIL_SHIMMER",
            "foilShimmer"
          ],
          "enumDeprecated": [
            false,
            false,
            true
          ],
          "enumDescriptions": [
            "",
            "Default Foil & Shimmer animation",
            "Legacy alias for `FOIL_SHIMMER`. Deprecated."
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "SetPassUpdateNoticeRequest": {
      "description": "Request to send a private pass update notice information to Google, so that devices can then fetch the notice prompting the user to update a pass.",
      "id": "SetPassUpdateNoticeRequest",
      "properties": {},
      "type": "object"
    },
    "SetPassUpdateNoticeResponse": {
      "description": "A response to a request to notify Google of an awaiting update to a private pass.",
      "id": "SetPassUpdateNoticeResponse",
      "properties": {},
      "type": "object"
    },
    "SignUpInfo": {
      "id": "SignUpInfo",
      "properties": {
        "classId": {
          "description": "ID of the class the user can sign up for.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "SmartTap": {
      "id": "SmartTap",
      "properties": {
        "id": {
          "description": "The unique identifier for a smart tap. This value should follow the format issuer ID.identifier where the former is issued by Google and latter is the Smart Tap id. The Smart Tap id is a Base64 encoded string which represents the id which was generated by the Google Pay app.",
          "type": "string"
        },
        "infos": {
          "description": "Communication from merchant to user.",
          "items": {
            "$ref": "IssuerToUserInfo"
          },
          "type": "array"
        },
        "kind": {
          "deprecated": true,
          "description": "Identifies what kind of resource this is. Value: the fixed string `\"walletobjects#smartTap\"`.",
          "type": "string"
        },
        "merchantId": {
          "description": "Smart Tap merchant ID of who engaged in the Smart Tap interaction.",
          "format": "int64",
          "type": "string"
        }
      },
      "type": "object"
    },
    "SmartTapMerchantData": {
      "id": "SmartTapMerchantData",
      "properties": {
        "authenticationKeys": {
          "description": "Available only to Smart Tap enabled partners. Contact support for additional guidance.",
          "items": {
            "$ref": "AuthenticationKey"
          },
          "type": "array"
        },
        "smartTapMerchantId": {
          "description": "Available only to Smart Tap enabled partners. Contact support for additional guidance.",
          "format": "int64",
          "type": "string"
        }
      },
      "type": "object"
    },
    "TemplateItem": {
      "id": "TemplateItem",
      "properties": {
        "firstValue": {
          "$ref": "FieldSelector",
          "description": "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\"."
        },
        "predefinedItem": {
          "description": "A predefined item to display. Only one of `firstValue` or `predefinedItem` may be set.",
          "enum": [
            "PREDEFINED_ITEM_UNSPECIFIED",
            "FREQUENT_FLYER_PROGRAM_NAME_AND_NUMBER",
            "frequentFlyerProgramNameAndNumber",
            "FLIGHT_NUMBER_AND_OPERATING_FLIGHT_NUMBER",
            "flightNumberAndOperatingFlightNumber"
          ],
          "enumDeprecated": [
            false,
            false,
            true,
            false,
            true
          ],
          "enumDescriptions": [
            "",
            "",
            "Legacy alias for `FREQUENT_FLYER_PROGRAM_NAME_AND_NUMBER`. Deprecated.",
            "",
            "Legacy alias for `FLIGHT_NUMBER_AND_OPERATING_FLIGHT_NUMBER`. Deprecated."
          ],
          "type": "string"
        },
        "secondValue": {
          "$ref": "FieldSelector",
          "description": "A reference to a field to display. This may only be populated if the `firstValue` field is populated."
        }
      },
      "type": "object"
    },
    "TextModuleData": {
      "description": "Data for Text module. All fields are optional. Header will be displayed if available, different types of bodies will be concatenated if they are defined.",
      "id": "TextModuleData",
      "properties": {
        "body": {
          "description": "The body of the Text Module, which is defined as an uninterrupted string. Recommended maximum length is 500 characters to ensure full string is displayed on smaller screens.",
          "type": "string"
        },
        "header": {
          "description": "The header of the Text Module. Recommended maximum length is 35 characters to ensure full string is displayed on smaller screens.",
          "type": "string"
        },
        "id": {
          "description": "The ID associated with a text module. This field is here to enable ease of management of text modules.",
          "type": "string"
        },
        "localizedBody": {
          "$ref": "LocalizedString",
          "description": "Translated strings for the body. Recommended maximum length is 500 characters to ensure full string is displayed on smaller screens."
        },
        "localizedHeader": {
          "$ref": "LocalizedString",
          "description": "Translated strings for the header. Recommended maximum length is 35 characters to ensure full string is displayed on smaller screens."
        }
      },
      "type": "object"
    },
    "TicketCost": {
      "id": "TicketCost",
      "properties": {
        "discountMessage": {
          "$ref": "LocalizedString",
          "description": "A message describing any kind of discount that was applied."
        },
        "faceValue": {
          "$ref": "Money",
          "description": "The face value of the ticket."
        },
        "purchasePrice": {
          "$ref": "Money",
          "description": "The actual purchase price of the ticket, after tax and/or discounts."
        }
      },
      "type": "object"
    },
    "TicketLeg": {
      "id": "TicketLeg",
      "properties": {
        "arrivalDateTime": {
          "description": "The date/time of arrival. This is an ISO 8601 extended format date/time, with or without an offset. Time may be specified up to nanosecond precision. Offsets may be specified with seconds precision (even though offset seconds is not part of ISO 8601). For example: `1985-04-12T23:20:50.52Z` would be 20 minutes and 50.52 seconds after the 23rd hour of April 12th, 1985 in UTC. `1985-04-12T19:20:50.52-04:00` would be 20 minutes and 50.52 seconds after the 19th hour of April 12th, 1985, 4 hours before UTC (same instant in time as the above example). If the event were in New York, this would be the equivalent of Eastern Daylight Time (EDT). Remember that offset varies in regions that observe Daylight Saving Time (or Summer Time), depending on the time of the year. `1985-04-12T19:20:50.52` would be 20 minutes and 50.52 seconds after the 19th hour of April 12th, 1985 with no offset information. The portion of the date/time without the offset is considered the \"local date/time\". This should be the local date/time at the destination station. For example, if the event occurs at the 20th hour of June 5th, 2018 at the destination station, the local date/time portion should be `2018-06-05T20:00:00`. If the local date/time at the destination station is 4 hours before UTC, an offset of `-04:00` may be appended. Without offset information, some rich features may not be available.",
          "type": "string"
        },
        "carriage": {
          "description": "The train or ship name/number that the passsenger needs to board.",
          "type": "string"
        },
        "departureDateTime": {
          "description": "The date/time of departure. This is required if there is no validity time interval set on the transit object. This is an ISO 8601 extended format date/time, with or without an offset. Time may be specified up to nanosecond precision. Offsets may be specified with seconds precision (even though offset seconds is not part of ISO 8601). For example: `1985-04-12T23:20:50.52Z` would be 20 minutes and 50.52 seconds after the 23rd hour of April 12th, 1985 in UTC. `1985-04-12T19:20:50.52-04:00` would be 20 minutes and 50.52 seconds after the 19th hour of April 12th, 1985, 4 hours before UTC (same instant in time as the above example). If the event were in New York, this would be the equivalent of Eastern Daylight Time (EDT). Remember that offset varies in regions that observe Daylight Saving Time (or Summer Time), depending on the time of the year. `1985-04-12T19:20:50.52` would be 20 minutes and 50.52 seconds after the 19th hour of April 12th, 1985 with no offset information. The portion of the date/time without the offset is considered the \"local date/time\". This should be the local date/time at the origin station. For example, if the departure occurs at the 20th hour of June 5th, 2018 at the origin station, the local date/time portion should be `2018-06-05T20:00:00`. If the local date/time at the origin station is 4 hours before UTC, an offset of `-04:00` may be appended. Without offset information, some rich features may not be available.",
          "type": "string"
        },
        "destinationName": {
          "$ref": "LocalizedString",
          "description": "The destination name."
        },
        "destinationStationCode": {
          "description": "The destination station code.",
          "type": "string"
        },
        "fareName": {
          "$ref": "LocalizedString",
          "description": "Short description/name of the fare for this leg of travel. Eg \"Anytime Single Use\"."
        },
        "originName": {
          "$ref": "LocalizedString",
          "description": "The name of the origin station. This is required if `desinationName` is present or if `originStationCode` is not present."
        },
        "originStationCode": {
          "description": "The origin station code. This is required if `destinationStationCode` is present or if `originName` is not present.",
          "type": "string"
        },
        "platform": {
          "description": "The platform or gate where the passenger can board the carriage.",
          "type": "string"
        },
        "ticketSeat": {
          "$ref": "TicketSeat",
          "description": "The reserved seat for the passenger(s). If more than one seat is to be specified then use the `ticketSeats` field instead. Both `ticketSeat` and `ticketSeats` may not be set."
        },
        "ticketSeats": {
          "description": "The reserved seat for the passenger(s). If only one seat is to be specified then use the `ticketSeat` field instead. Both `ticketSeat` and `ticketSeats` may not be set.",
          "items": {
            "$ref": "TicketSeat"
          },
          "type": "array"
        },
        "transitOperatorName": {
          "$ref": "LocalizedString",
          "description": "The name of the transit operator that is operating this leg of a trip."
        },
        "transitTerminusName": {
          "$ref": "LocalizedString",
          "description": "Terminus station or destination of the train/bus/etc."
        },
        "zone": {
          "description": "The zone of boarding within the platform.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "TicketRestrictions": {
      "id": "TicketRestrictions",
      "properties": {
        "otherRestrictions": {
          "$ref": "LocalizedString",
          "description": "Extra restrictions that don't fall under the \"route\" or \"time\" categories."
        },
        "routeRestrictions": {
          "$ref": "LocalizedString",
          "description": "Restrictions about routes that may be taken. For example, this may be the string \"Reserved CrossCountry trains only\"."
        },
        "routeRestrictionsDetails": {
          "$ref": "LocalizedString",
          "description": "More details about the above `routeRestrictions`."
        },
        "timeRestrictions": {
          "$ref": "LocalizedString",
          "description": "Restrictions about times this ticket may be used."
        }
      },
      "type": "object"
    },
    "TicketSeat": {
      "id": "TicketSeat",
      "properties": {
        "coach": {
          "description": "The identifier of the train car or coach in which the ticketed seat is located. Eg. \"10\"",
          "type": "string"
        },
        "customFareClass": {
          "$ref": "LocalizedString",
          "description": "A custome fare class to be used if no `fareClass` applies. Both `fareClass` and `customFareClass` may not be set."
        },
        "fareClass": {
          "description": "The fare class of the ticketed seat.",
          "enum": [
            "FARE_CLASS_UNSPECIFIED",
            "ECONOMY",
            "economy",
            "FIRST",
            "first",
            "BUSINESS",
            "business"
          ],
          "enumDeprecated": [
            false,
            false,
            true,
            false,
            true,
            false,
            true
          ],
          "enumDescriptions": [
            "",
            "",
            "Legacy alias for `ECONOMY`. Deprecated.",
            "",
            "Legacy alias for `FIRST`. Deprecated.",
            "",
            "Legacy alias for `BUSINESS`. Deprecated."
          ],
          "type": "string"
        },
        "seat": {
          "description": "The identifier of where the ticketed seat is located. Eg. \"42\". If there is no specific identifier, use `seatAssigment` instead.",
          "type": "string"
        },
        "seatAssignment": {
          "$ref": "LocalizedString",
          "description": "The passenger's seat assignment. Eg. \"no specific seat\". To be used when there is no specific identifier to use in `seat`."
        }
      },
      "type": "object"
    },
    "TimeInterval": {
      "id": "TimeInterval",
      "properties": {
        "end": {
          "$ref": "DateTime",
          "description": "End time of the interval. Offset is not required. If an offset is provided and `start` time is set, `start` must also include an offset."
        },
        "kind": {
          "deprecated": true,
          "description": "Identifies what kind of resource this is. Value: the fixed string `\"walletobjects#timeInterval\"`.",
          "type": "string"
        },
        "start": {
          "$ref": "DateTime",
          "description": "Start time of the interval. Offset is not required. If an offset is provided and `end` time is set, `end` must also include an offset."
        }
      },
      "type": "object"
    },
    "TransitClass": {
      "id": "TransitClass",
      "properties": {
        "activationOptions": {
          "$ref": "ActivationOptions",
          "description": "Activation options for an activatable ticket."
        },
        "allowMultipleUsersPerObject": {
          "deprecated": true,
          "description": "Deprecated. Use `multipleDevicesAndHoldersAllowedStatus` instead.",
          "type": "boolean"
        },
        "callbackOptions": {
          "$ref": "CallbackOptions",
          "description": "Callback options to be used to call the issuer back for every save/delete of an object for this class by the end-user. All objects of this class are eligible for the callback."
        },
        "classTemplateInfo": {
          "$ref": "ClassTemplateInfo",
          "description": "Template information about how the class should be displayed. If unset, Google will fallback to a default set of fields to display."
        },
        "countryCode": {
          "description": "Country code used to display the card's country (when the user is not in that country), as well as to display localized content when content is not available in the user's locale.",
          "type": "string"
        },
        "customCarriageLabel": {
          "$ref": "LocalizedString",
          "description": "A custom label to use for the carriage value (`transitObject.ticketLeg.carriage`)."
        },
        "customCoachLabel": {
          "$ref": "LocalizedString",
          "description": "A custom label to use for the coach value (`transitObject.ticketLeg.ticketSeat.coach`)."
        },
        "customConcessionCategoryLabel": {
          "$ref": "LocalizedString",
          "description": "A custom label to use for the transit concession category value (`transitObject.concessionCategory`)."
        },
        "customConfirmationCodeLabel": {
          "$ref": "LocalizedString",
          "description": "A custom label to use for the confirmation code value (`transitObject.purchaseDetails.confirmationCode`)."
        },
        "customDiscountMessageLabel": {
          "$ref": "LocalizedString",
          "description": "A custom label to use for the transit discount message value (`transitObject.purchaseDetails.ticketCost.discountMessage`)."
        },
        "customFareClassLabel": {
          "$ref": "LocalizedString",
          "description": "A custom label to use for the fare class value (`transitObject.ticketLeg.ticketSeat.fareClass`)."
        },
        "customFareNameLabel": {
          "$ref": "LocalizedString",
          "description": "A custom label to use for the transit fare name value (`transitObject.ticketLeg.fareName`)."
        },
        "customOtherRestrictionsLabel": {
          "$ref": "LocalizedString",
          "description": "A custom label to use for the other restrictions value (`transitObject.ticketRestrictions.otherRestrictions`)."
        },
        "customPlatformLabel": {
          "$ref": "LocalizedString",
          "description": "A custom label to use for the boarding platform value (`transitObject.ticketLeg.platform`)."
        },
        "customPurchaseFaceValueLabel": {
          "$ref": "LocalizedString",
          "description": "A custom label to use for the purchase face value (`transitObject.purchaseDetails.ticketCost.faceValue`)."
        },
        "customPurchasePriceLabel": {
          "$ref": "LocalizedString",
          "description": "A custom label to use for the purchase price value (`transitObject.purchaseDetails.ticketCost.purchasePrice`)."
        },
        "customPurchaseReceiptNumberLabel": {
          "$ref": "LocalizedString",
          "description": "A custom label to use for the purchase receipt number value (`transitObject.purchaseDetails.purchaseReceiptNumber`)."
        },
        "customRouteRestrictionsDetailsLabel": {
          "$ref": "LocalizedString",
          "description": "A custom label to use for the route restrictions details value (`transitObject.ticketRestrictions.routeRestrictionsDetails`)."
        },
        "customRouteRestrictionsLabel": {
          "$ref": "LocalizedString",
          "description": "A custom label to use for the route restrictions value (`transitObject.ticketRestrictions.routeRestrictions`)."
        },
        "customSeatLabel": {
          "$ref": "LocalizedString",
          "description": "A custom label to use for the seat location value (`transitObject.ticketLeg.ticketSeat.seat`)."
        },
        "customTicketNumberLabel": {
          "$ref": "LocalizedString",
          "description": "A custom label to use for the ticket number value (`transitObject.ticketNumber`)."
        },
        "customTimeRestrictionsLabel": {
          "$ref": "LocalizedString",
          "description": "A custom label to use for the time restrictions details value (`transitObject.ticketRestrictions.timeRestrictions`)."
        },
        "customTransitTerminusNameLabel": {
          "$ref": "LocalizedString",
          "description": "A custom label to use for the transit terminus name value (`transitObject.ticketLeg.transitTerminusName`)."
        },
        "customZoneLabel": {
          "$ref": "LocalizedString",
          "description": "A custom label to use for the boarding zone value (`transitObject.ticketLeg.zone`)."
        },
        "enableSingleLegItinerary": {
          "description": "Controls the display of the single-leg itinerary for this class. By default, an itinerary will only display for multi-leg trips.",
          "type": "boolean"
        },
        "enableSmartTap": {
          "description": "Identifies whether this class supports Smart Tap. The `redemptionIssuers` and object level `smartTapRedemptionLevel` fields must also be set up correctly in order for a pass to support Smart Tap.",
          "type": "boolean"
        },
        "heroImage": {
          "$ref": "Image",
          "description": "Optional banner image displayed on the front of the card. If none is present, nothing will be displayed. The image will display at 100% width."
        },
        "hexBackgroundColor": {
          "description": "The background color for the card. If not set the dominant color of the hero image is used, and if no hero image is set, the dominant color of the logo is used. The format is #rrggbb where rrggbb is a hex RGB triplet, such as `#ffcc00`. You can also use the shorthand version of the RGB triplet which is #rgb, such as `#fc0`.",
          "type": "string"
        },
        "homepageUri": {
          "$ref": "Uri",
          "description": "The URI of your application's home page. Populating the URI in this field results in the exact same behavior as populating an URI in linksModuleData (when an object is rendered, a link to the homepage is shown in what would usually be thought of as the linksModuleData section of the object)."
        },
        "id": {
          "description": "Required. The unique identifier for a class. This ID must be unique across all classes from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. Your unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
          "type": "string"
        },
        "imageModulesData": {
          "description": "Image module data. The maximum number of these fields displayed is 1 from object level and 1 for class object level.",
          "items": {
            "$ref": "ImageModuleData"
          },
          "type": "array"
        },
        "infoModuleData": {
          "$ref": "InfoModuleData",
          "deprecated": true,
          "description": "Deprecated. Use textModulesData instead."
        },
        "issuerName": {
          "description": "Required. The issuer name. Recommended maximum length is 20 characters to ensure full string is displayed on smaller screens.",
          "type": "string"
        },
        "languageOverride": {
          "description": "If this field is present, transit tickets served to a user's device will always be in this language. Represents the BCP 47 language tag. Example values are \"en-US\", \"en-GB\", \"de\", or \"de-AT\".",
          "type": "string"
        },
        "linksModuleData": {
          "$ref": "LinksModuleData",
          "description": "Links module data. If links module data is also defined on the object, both will be displayed."
        },
        "localizedIssuerName": {
          "$ref": "LocalizedString",
          "description": "Translated strings for the issuer_name. Recommended maximum length is 20 characters to ensure full string is displayed on smaller screens."
        },
        "locations": {
          "description": "Note: This field is currently not supported to trigger geo notifications.",
          "items": {
            "$ref": "LatLongPoint"
          },
          "type": "array"
        },
        "logo": {
          "$ref": "Image",
          "description": "Required. The logo image of the ticket. This image is displayed in the card detail view of the app."
        },
        "messages": {
          "description": "An array of messages displayed in the app. All users of this object will receive its associated messages. The maximum number of these fields is 10.",
          "items": {
            "$ref": "Message"
          },
          "type": "array"
        },
        "multipleDevicesAndHoldersAllowedStatus": {
          "description": "Identifies whether multiple users and devices will save the same object referencing this class.",
          "enum": [
            "STATUS_UNSPECIFIED",
            "MULTIPLE_HOLDERS",
            "ONE_USER_ALL_DEVICES",
            "ONE_USER_ONE_DEVICE",
            "multipleHolders",
            "oneUserAllDevices",
            "oneUserOneDevice"
          ],
          "enumDeprecated": [
            false,
            false,
            false,
            false,
            true,
            true,
            true
          ],
          "enumDescriptions": [
            "Unspecified preference.",
            "The same object can be saved by any number of different users, and on any number of devices. Partners typically use this setup for passes that do not need to be restricted to a single user or pinned to a single device.",
            "An object can only be saved by one user, but this user can view and use it on multiple of their devices. Once the first user saves the object, no other user will be allowed to view or save it.",
            "An object can only be saved by one user on a single device. Intended for use by select partners in limited circumstances. An example use case is a transit ticket that should be \"device pinned\", meaning it can be saved, viewed and used only by a single user on a single device. Contact support for additional information.",
            "Legacy alias for `MULTIPLE_HOLDERS`. Deprecated.",
            "Legacy alias for `ONE_USER_ALL_DEVICES`. Deprecated.",
            "Legacy alias for `ONE_USER_ONE_DEVICE`. Deprecated."
          ],
          "type": "string"
        },
        "redemptionIssuers": {
          "description": "Identifies which redemption issuers can redeem the pass over Smart Tap. Redemption issuers are identified by their issuer ID. Redemption issuers must have at least one Smart Tap key configured. The `enableSmartTap` and object level `smartTapRedemptionLevel` fields must also be set up correctly in order for a pass to support Smart Tap.",
          "items": {
            "format": "int64",
            "type": "string"
          },
          "type": "array"
        },
        "review": {
          "$ref": "Review",
          "description": "The review comments set by the platform when a class is marked `approved` or `rejected`."
        },
        "reviewStatus": {
          "description": "Required. The status of the class. This field can be set to `draft` or `underReview` using the insert, patch, or update API calls. Once the review state is changed from `draft` it may not be changed back to `draft`. You should keep this field to `draft` when the class is under development. A `draft` class cannot be used to create any object. You should set this field to `underReview` when you believe the class is ready for use. The platform will automatically set this field to `approved` and it can be immediately used to create or migrate objects. When updating an already `approved` class you should keep setting this field to `underReview`.",
          "enum": [
            "REVIEW_STATUS_UNSPECIFIED",
            "UNDER_REVIEW",
            "underReview",
            "APPROVED",
            "approved",
            "REJECTED",
            "rejected",
            "DRAFT",
            "draft"
          ],
          "enumDeprecated": [
            false,
            false,
            true,
            false,
            true,
            false,
            true,
            false,
            true
          ],
          "enumDescriptions": [
            "",
            "",
            "Legacy alias for `UNDER_REVIEW`. Deprecated.",
            "",
            "Legacy alias for `APPROVED`. Deprecated.",
            "",
            "Legacy alias for `REJECTED`. Deprecated.",
            "",
            "Legacy alias for `DRAFT`. Deprecated."
          ],
          "type": "string"
        },
        "securityAnimation": {
          "$ref": "SecurityAnimation",
          "description": "Optional information about the security animation. If this is set a security animation will be rendered on pass details."
        },
        "textModulesData": {
          "description": "Text module data. If text module data is also defined on the class, both will be displayed. The maximum number of these fields displayed is 10 from the object and 10 from the class.",
          "items": {
            "$ref": "TextModuleData"
          },
          "type": "array"
        },
        "transitOperatorName": {
          "$ref": "LocalizedString",
          "description": "The name of the transit operator."
        },
        "transitType": {
          "description": "Required. The type of transit this class represents, such as \"bus\".",
          "enum": [
            "TRANSIT_TYPE_UNSPECIFIED",
            "BUS",
            "bus",
            "RAIL",
            "rail",
            "TRAM",
            "tram",
            "FERRY",
            "ferry",
            "OTHER",
            "other"
          ],
          "enumDeprecated": [
            false,
            false,
            true,
            false,
            true,
            false,
            true,
            false,
            true,
            false,
            true
          ],
          "enumDescriptions": [
            "",
            "",
            "Legacy alias for `BUS`. Deprecated.",
            "",
            "Legacy alias for `RAIL`. Deprecated.",
            "",
            "Legacy alias for `TRAM`. Deprecated.",
            "",
            "Legacy alias for `FERRY`. Deprecated.",
            "",
            "Legacy alias for `OTHER`. Deprecated."
          ],
          "type": "string"
        },
        "version": {
          "deprecated": true,
          "description": "Deprecated",
          "format": "int64",
          "type": "string"
        },
        "viewUnlockRequirement": {
          "description": "View Unlock Requirement options for the transit ticket.",
          "enum": [
            "VIEW_UNLOCK_REQUIREMENT_UNSPECIFIED",
            "UNLOCK_NOT_REQUIRED",
            "UNLOCK_REQUIRED_TO_VIEW"
          ],
          "enumDescriptions": [
            "Default value, same as UNLOCK_NOT_REQUIRED.",
            "Default behavior for all the existing Passes if ViewUnlockRequirement is not set.",
            "Requires the user to unlock their device each time the pass is viewed. If the user removes their device lock after saving the pass, then they will be prompted to create a device lock before the pass can be viewed."
          ],
          "type": "string"
        },
        "watermark": {
          "$ref": "Image",
          "description": "Watermark image to display on the user's device."
        },
        "wideLogo": {
          "$ref": "Image",
          "description": "The wide logo of the ticket. When provided, this will be used in place of the logo in the top left of the card view."
        },
        "wordMark": {
          "$ref": "Image",
          "deprecated": true,
          "description": "Deprecated."
        }
      },
      "type": "object"
    },
    "TransitClassAddMessageResponse": {
      "id": "TransitClassAddMessageResponse",
      "properties": {
        "resource": {
          "$ref": "TransitClass",
          "description": "The updated TransitClass resource."
        }
      },
      "type": "object"
    },
    "TransitClassListResponse": {
      "id": "TransitClassListResponse",
      "properties": {
        "pagination": {
          "$ref": "Pagination",
          "description": "Pagination of the response."
        },
        "resources": {
          "description": "Resources corresponding to the list request.",
          "items": {
            "$ref": "TransitClass"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "TransitObject": {
      "id": "TransitObject",
      "properties": {
        "activationStatus": {
          "$ref": "ActivationStatus",
          "description": "The activation status for the object. Required if the class has `activationOptions` set."
        },
        "appLinkData": {
          "$ref": "AppLinkData",
          "description": "Optional information about the partner app link."
        },
        "barcode": {
          "$ref": "Barcode",
          "description": "The barcode type and value."
        },
        "classId": {
          "description": "Required. The class associated with this object. The class must be of the same type as this object, must already exist, and must be approved. Class IDs should follow the format issuer ID.identifier where the former is issued by Google and latter is chosen by you.",
          "type": "string"
        },
        "classReference": {
          "$ref": "TransitClass",
          "description": "A copy of the inherited fields of the parent class. These fields are retrieved during a GET."
        },
        "concessionCategory": {
          "description": "The concession category for the ticket.",
          "enum": [
            "CONCESSION_CATEGORY_UNSPECIFIED",
            "ADULT",
            "adult",
            "CHILD",
            "child",
            "SENIOR",
            "senior"
          ],
          "enumDeprecated": [
            false,
            false,
            true,
            false,
            true,
            false,
            true
          ],
          "enumDescriptions": [
            "",
            "",
            "Legacy alias for `ADULT`. Deprecated.",
            "",
            "Legacy alias for `CHILD`. Deprecated.",
            "",
            "Legacy alias for `SENIOR`. Deprecated."
          ],
          "type": "string"
        },
        "customConcessionCategory": {
          "$ref": "LocalizedString",
          "description": "A custom concession category to use when `concessionCategory` does not provide the right option. Both `concessionCategory` and `customConcessionCategory` may not be set."
        },
        "customTicketStatus": {
          "$ref": "LocalizedString",
          "description": "A custom status to use for the ticket status value when `ticketStatus` does not provide the right option. Both `ticketStatus` and `customTicketStatus` may not be set."
        },
        "deviceContext": {
          "$ref": "DeviceContext",
          "description": "Device context associated with the object."
        },
        "disableExpirationNotification": {
          "description": "Indicates if notifications should explicitly be suppressed. If this field is set to true, regardless of the `messages` field, expiration notifications to the user will be suppressed. By default, this field is set to false. Currently, this can only be set for offers.",
          "type": "boolean"
        },
        "groupingInfo": {
          "$ref": "GroupingInfo",
          "description": "Information that controls how passes are grouped together."
        },
        "hasLinkedDevice": {
          "description": "Whether this object is currently linked to a single device. This field is set by the platform when a user saves the object, linking it to their device. Intended for use by select partners. Contact support for additional information.",
          "type": "boolean"
        },
        "hasUsers": {
          "description": "Indicates if the object has users. This field is set by the platform.",
          "type": "boolean"
        },
        "heroImage": {
          "$ref": "Image",
          "description": "Optional banner image displayed on the front of the card. If none is present, hero image of the class, if present, will be displayed. If hero image of the class is also not present, nothing will be displayed."
        },
        "hexBackgroundColor": {
          "description": "The background color for the card. If not set the dominant color of the hero image is used, and if no hero image is set, the dominant color of the logo is used. The format is #rrggbb where rrggbb is a hex RGB triplet, such as `#ffcc00`. You can also use the shorthand version of the RGB triplet which is #rgb, such as `#fc0`.",
          "type": "string"
        },
        "id": {
          "description": "Required. The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID.identifier where the former is issued by Google and latter is chosen by you. The unique identifier should only include alphanumeric characters, '.', '_', or '-'.",
          "type": "string"
        },
        "imageModulesData": {
          "description": "Image module data. The maximum number of these fields displayed is 1 from object level and 1 for class object level.",
          "items": {
            "$ref": "ImageModuleData"
          },
          "type": "array"
        },
        "infoModuleData": {
          "$ref": "InfoModuleData",
          "description": "Deprecated. Use textModulesData instead."
        },
        "linksModuleData": {
          "$ref": "LinksModuleData",
          "description": "Links module data. If links module data is also defined on the class, both will be displayed."
        },
        "locations": {
          "description": "Note: This field is currently not supported to trigger geo notifications.",
          "items": {
            "$ref": "LatLongPoint"
          },
          "type": "array"
        },
        "messages": {
          "description": "An array of messages displayed in the app. All users of this object will receive its associated messages. The maximum number of these fields is 10.",
          "items": {
            "$ref": "Message"
          },
          "type": "array"
        },
        "passConstraints": {
          "$ref": "PassConstraints",
          "description": "Pass constraints for the object. Includes limiting NFC and screenshot behaviors."
        },
        "passengerNames": {
          "description": "The name(s) of the passengers the ticket is assigned to. The above `passengerType` field is meant to give Google context on this field.",
          "type": "string"
        },
        "passengerType": {
          "description": "The number of passengers.",
          "enum": [
            "PASSENGER_TYPE_UNSPECIFIED",
            "SINGLE_PASSENGER",
            "singlePassenger",
            "MULTIPLE_PASSENGERS",
            "multiplePassengers"
          ],
          "enumDeprecated": [
            false,
            false,
            true,
            false,
            true
          ],
          "enumDescriptions": [
            "",
            "",
            "Legacy alias for `SINGLE_PASSENGER`. Deprecated.",
            "",
            "Legacy alias for `MULTIPLE_PASSENGERS`. Deprecated."
          ],
          "type": "string"
        },
        "purchaseDetails": {
          "$ref": "PurchaseDetails",
          "description": "Purchase details for this ticket."
        },
        "rotatingBarcode": {
          "$ref": "RotatingBarcode",
          "description": "The rotating barcode type and value."
        },
        "smartTapRedemptionValue": {
          "description": "The value that will be transmitted to a Smart Tap certified terminal over NFC for this object. The class level fields `enableSmartTap` and `redemptionIssuers` must also be set up correctly in order for the pass to support Smart Tap. Only ASCII characters are supported.",
          "type": "string"
        },
        "state": {
          "description": "Required. The state of the object. This field is used to determine how an object is displayed in the app. For example, an `inactive` object is moved to the \"Expired passes\" section.",
          "enum": [
            "STATE_UNSPECIFIED",
            "ACTIVE",
            "active",
            "COMPLETED",
            "completed",
            "EXPIRED",
            "expired",
            "INACTIVE",
            "inactive"
          ],
          "enumDeprecated": [
            false,
            false,
            true,
            false,
            true,
            false,
            true,
            false,
            true
          ],
          "enumDescriptions": [
            "",
            "Object is active and displayed to with other active objects.",
            "Legacy alias for `ACTIVE`. Deprecated.",
            "",
            "Legacy alias for `COMPLETED`. Deprecated.",
            "Object is no longer valid (`validTimeInterval` passed).",
            "Legacy alias for `EXPIRED`. Deprecated.",
            "",
            "Legacy alias for `INACTIVE`. Deprecated."
          ],
          "type": "string"
        },
        "textModulesData": {
          "description": "Text module data. If text module data is also defined on the class, both will be displayed. The maximum number of these fields displayed is 10 from the object and 10 from the class.",
          "items": {
            "$ref": "TextModuleData"
          },
          "type": "array"
        },
        "ticketLeg": {
          "$ref": "TicketLeg",
          "description": "A single ticket leg contains departure and arrival information along with boarding and seating information. If more than one leg is to be specified then use the `ticketLegs` field instead. Both `ticketLeg` and `ticketLegs` may not be set."
        },
        "ticketLegs": {
          "description": "Each ticket may contain one or more legs. Each leg contains departure and arrival information along with boarding and seating information. If only one leg is to be specified then use the `ticketLeg` field instead. Both `ticketLeg` and `ticketLegs` may not be set.",
          "items": {
            "$ref": "TicketLeg"
          },
          "type": "array"
        },
        "ticketNumber": {
          "description": "The number of the ticket. This is a unique identifier for the ticket in the transit operator's system.",
          "type": "string"
        },
        "ticketRestrictions": {
          "$ref": "TicketRestrictions",
          "description": "Information about what kind of restrictions there are on using this ticket. For example, which days of the week it must be used, or which routes are allowed to be taken."
        },
        "ticketStatus": {
          "description": "The status of the ticket. For states which affect display, use the `state` field instead.",
          "enum": [
            "TICKET_STATUS_UNSPECIFIED",
            "USED",
            "used",
            "REFUNDED",
            "refunded",
            "EXCHANGED",
            "exchanged"
          ],
          "enumDeprecated": [
            false,
            false,
            true,
            false,
            true,
            false,
            true
          ],
          "enumDescriptions": [
            "",
            "",
            "Legacy alias for `USED`. Deprecated.",
            "",
            "Legacy alias for `REFUNDED`. Deprecated.",
            "",
            "Legacy alias for `EXCHANGED`. Deprecated."
          ],
          "type": "string"
        },
        "tripId": {
          "description": "This id is used to group tickets together if the user has saved multiple tickets for the same trip.",
          "type": "string"
        },
        "tripType": {
          "description": "Required. The type of trip this transit object represents. Used to determine the pass title and/or which symbol to use between the origin and destination.",
          "enum": [
            "TRIP_TYPE_UNSPECIFIED",
            "ROUND_TRIP",
            "roundTrip",
            "ONE_WAY",
            "oneWay"
          ],
          "enumDeprecated": [
            false,
            false,
            true,
            false,
            true
          ],
          "enumDescriptions": [
            "",
            "",
            "Legacy alias for `ROUND_TRIP`. Deprecated.",
            "",
            "Legacy alias for `ONE_WAY`. Deprecated."
          ],
          "type": "string"
        },
        "validTimeInterval": {
          "$ref": "TimeInterval",
          "description": "The time period this object will be `active` and object can be used. An object's state will be changed to `expired` when this time period has passed."
        },
        "version": {
          "deprecated": true,
          "description": "Deprecated",
          "format": "int64",
          "type": "string"
        }
      },
      "type": "object"
    },
    "TransitObjectAddMessageResponse": {
      "id": "TransitObjectAddMessageResponse",
      "properties": {
        "resource": {
          "$ref": "TransitObject",
          "description": "The updated TransitObject resource."
        }
      },
      "type": "object"
    },
    "TransitObjectListResponse": {
      "id": "TransitObjectListResponse",
      "properties": {
        "pagination": {
          "$ref": "Pagination",
          "description": "Pagination of the response."
        },
        "resources": {
          "description": "Resources corresponding to the list request.",
          "items": {
            "$ref": "TransitObject"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "TransitObjectUploadRotatingBarcodeValuesRequest": {
      "description": "Request to upload rotating barcode values.",
      "id": "TransitObjectUploadRotatingBarcodeValuesRequest",
      "properties": {
        "blob": {
          "$ref": "Media",
          "description": "A reference to the rotating barcode values payload that was uploaded."
        },
        "mediaRequestInfo": {
          "$ref": "MediaRequestInfo",
          "description": "Extra information about the uploaded media."
        }
      },
      "type": "object"
    },
    "TransitObjectUploadRotatingBarcodeValuesResponse": {
      "description": "Response for uploading rotating barcode values.",
      "id": "TransitObjectUploadRotatingBarcodeValuesResponse",
      "properties": {},
      "type": "object"
    },
    "TranslatedString": {
      "id": "TranslatedString",
      "properties": {
        "kind": {
          "deprecated": true,
          "description": "Identifies what kind of resource this is. Value: the fixed string `\"walletobjects#translatedString\"`.",
          "type": "string"
        },
        "language": {
          "description": "Represents the BCP 47 language tag. Example values are \"en-US\", \"en-GB\", \"de\", or \"de-AT\".",
          "type": "string"
        },
        "value": {
          "description": "The UTF-8 encoded translated string.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "UpcomingNotification": {
      "description": "Indicates that the issuer would like Google Wallet to send an upcoming card validity notification 1 day before card becomes valid/usable.",
      "id": "UpcomingNotification",
      "properties": {
        "enableNotification": {
          "description": "Indicates if the object needs to have upcoming notification enabled.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "UploadPrivateDataRequest": {
      "description": "Request for sending user private Text or URI by the Issuer.",
      "id": "UploadPrivateDataRequest",
      "properties": {
        "issuerId": {
          "description": "The ID of the issuer sending the data.",
          "format": "int64",
          "type": "string"
        },
        "text": {
          "$ref": "PrivateText",
          "description": "Private text data of the user."
        },
        "uri": {
          "$ref": "PrivateUri",
          "description": "Private URIs of the user."
        }
      },
      "type": "object"
    },
    "UploadPrivateDataResponse": {
      "description": "Response for uploading user private data (text or URIs)",
      "id": "UploadPrivateDataResponse",
      "properties": {
        "privateContentId": {
          "description": "A 64-bit content id for the private data that was uploaded by the Issuer.",
          "format": "int64",
          "type": "string"
        }
      },
      "type": "object"
    },
    "UploadPrivateImageRequest": {
      "description": "Request to upload user's private images by Issuers to be used in passes.",
      "id": "UploadPrivateImageRequest",
      "properties": {
        "blob": {
          "$ref": "Media",
          "description": "A reference to the image payload that was uploaded by Scotty."
        },
        "mediaRequestInfo": {
          "$ref": "MediaRequestInfo",
          "description": "Extra information about the uploaded media."
        }
      },
      "type": "object"
    },
    "UploadPrivateImageResponse": {
      "description": "Response for uploading the private image",
      "id": "UploadPrivateImageResponse",
      "properties": {
        "privateContentId": {
          "description": "A 64-bit content id for the image that was uploaded by the Issuer.",
          "format": "int64",
          "type": "string"
        }
      },
      "type": "object"
    },
    "Uri": {
      "id": "Uri",
      "properties": {
        "description": {
          "description": "The URI's title appearing in the app as text. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens. Note that in some contexts this text is not used, such as when `description` is part of an image.",
          "type": "string"
        },
        "id": {
          "description": "The ID associated with a uri. This field is here to enable ease of management of uris.",
          "type": "string"
        },
        "kind": {
          "deprecated": true,
          "description": "Identifies what kind of resource this is. Value: the fixed string `\"walletobjects#uri\"`.",
          "type": "string"
        },
        "localizedDescription": {
          "$ref": "LocalizedString",
          "description": "Translated strings for the description. Recommended maximum is 20 characters to ensure full string is displayed on smaller screens."
        },
        "uri": {
          "description": "The location of a web page, image, or other resource. URIs in the `LinksModuleData` module can have different prefixes indicating the type of URI (a link to a web page, a link to a map, a telephone number, or an email address). URIs must have a scheme.",
          "type": "string"
        }
      },
      "type": "object"
    }
  },
  "servicePath": "",
  "title": "Google Wallet API",
  "version": "v1"
}