{
    "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",
    "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",
    "name": "walletobjects",
    "ownerDomain": "google.com",
    "ownerName": "Google",
    "protocol": "rest",
    "revision": "20260408",
    "rootUrl": "https://walletobjects.googleapis.com/",
    "servicePath": "",
    "title": "Google Wallet API",
    "version": "v1",
    "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"
        }
    },
    "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": {
                    "deprecated": true,
                    "description": "Deprecated: Use Auto Linked Passes instead. 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": {
                "addmessage": {
                    "description": "Adds a message to the generic class referenced by the given class ID.",
                    "flatPath": "walletobjects/v1/genericClass/{resourceId}/addMessage",
                    "httpMethod": "POST",
                    "id": "walletobjects.genericclass.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/genericClass/{resourceId}/addMessage",
                    "request": {
                        "$ref": "AddMessageRequest"
                    },
                    "response": {
                        "$ref": "GenericClassAddMessageResponse"
                    },
                    "scopes": [
                        "https://www.googleapis.com/auth/wallet_object.issuer"
                    ]
                },
                "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": {
                "addmessage": {
                    "description": "Adds a message to the generic object referenced by the given object ID.",
                    "flatPath": "walletobjects/v1/genericObject/{resourceId}/addMessage",
                    "httpMethod": "POST",
                    "id": "walletobjects.genericobject.addmessage",
                    "parameterOrder": [
                        "resourceId"
                    ],
                    "parameters": {
                        "resourceId": {
                            "description": "The unique identifier for an object. 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/genericObject/{resourceId}/addMessage",
                    "request": {
                        "$ref": "AddMessageRequest"
                    },
                    "response": {
                        "$ref": "GenericObjectAddMessageResponse"
                    },
                    "scopes": [
                        "https://www.googleapis.com/auth/wallet_object.issuer"
                    ]
                },
                "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": {
                    "deprecated": true,
                    "description": "Deprecated: Use Auto Linked Passes instead. 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"
                                    ]
                                }
                            }
                        }
                    }
                }
            }
        }
    },
    "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."
                },
                "displayText": {
                    "$ref": "LocalizedString",
                    "description": "Optional display text for the app link button. Character limit is 30."
                },
                "iosAppLinkInfo": {
                    "$ref": "AppLinkDataAppLinkInfo",
                    "deprecated": true,
                    "description": "Deprecated. Links to open iOS apps are not supported."
                },
                "webAppLinkInfo": {
                    "$ref": "AppLinkDataAppLinkInfo",
                    "description": "Optional information about the partner web link."
                }
            },
            "type": "object"
        },
        "AppLinkDataAppLinkInfo": {
            "id": "AppLinkDataAppLinkInfo",
            "properties": {
                "appLogoImage": {
                    "$ref": "Image",
                    "deprecated": true,
                    "description": "Deprecated. Image isn't supported in the app link module."
                },
                "appTarget": {
                    "$ref": "AppLinkDataAppLinkInfoAppTarget",
                    "description": "Target to follow when opening the app link on clients. It will be used by partners to open their app or webpage."
                },
                "description": {
                    "$ref": "LocalizedString",
                    "deprecated": true,
                    "description": "Deprecated. Description isn't supported in the app link module."
                },
                "title": {
                    "$ref": "LocalizedString",
                    "deprecated": true,
                    "description": "Deprecated. Title isn't supported in the app link module."
                }
            },
            "type": "object"
        },
        "AppLinkDataAppLinkInfoAppTarget": {
            "id": "AppLinkDataAppLinkInfoAppTarget",
            "properties": {
                "packageName": {
                    "description": "Package name for AppTarget. For example: com.google.android.gm",
                    "type": "string"
                },
                "targetUri": {
                    "$ref": "Uri",
                    "description": "URI for AppTarget. The description on the URI must be set. Prefer setting package field instead, if this target is defined for your application."
                }
            },
            "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"
                },
                "downloadExternalReadToken": {
                    "description": "A serialized External Read Token passed from Bigstore -> Scotty for a GCS download. This field must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.",
                    "format": "byte",
                    "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"
                },
                "uploadFragmentListCreationInfo": {
                    "description": "A serialized Object Fragment List Creation Info passed from Bigstore -> Scotty for a GCS upload. This field must never be consumed outside of Bigstore, and is not applicable to non-GCS media uploads.",
                    "format": "byte",
                    "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:Googlebot. 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:Googlebot.",
                    "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"
                },
                "fromFusionId": {
                    "description": "The content type of the file detected by Fusion ID. go/fusionid",
                    "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"
                },
                "fusionIdDetectionMetadata": {
                    "description": "Metadata information from Fusion ID detection. Serialized FusionIdDetectionMetadata proto. Only set if from_fusion_id is set.",
                    "format": "byte",
                    "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 Google Wallet 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"
                },
                "appLinkData": {
                    "$ref": "AppLinkData",
                    "description": "Optional app or website link that will be displayed as a button on the front of the pass. If AppLinkData is provided for the corresponding object that will be used instead."
                },
                "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": {
                    "deprecated": true,
                    "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."
                },
                "merchantLocations": {
                    "description": "Merchant locations. There is a maximum of ten on the class. Any additional MerchantLocations added beyond the 10 will be rejected. These locations will trigger a notification when a user enters within a Google-set radius of the point. This field replaces the deprecated LatLongPoints.",
                    "items": {
                        "$ref": "MerchantLocation"
                    },
                    "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 Pass object is shareable by a user and 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"
                },
                "notifyPreference": {
                    "description": "Whether or not field updates to this class should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If not specified, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered.",
                    "enum": [
                        "NOTIFICATION_SETTINGS_FOR_UPDATES_UNSPECIFIED",
                        "NOTIFY_ON_UPDATE"
                    ],
                    "enumDescriptions": [
                        "Default behavior is no notifications sent.",
                        "This value will result in a notification being sent, if the updated fields are part of an allowlist."
                    ],
                    "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"
                },
                "valueAddedModuleData": {
                    "description": "Optional value added module data. Maximum of fifteen on the class. For a pass only fifteen will be displayed, prioritizing those from the object.",
                    "items": {
                        "$ref": "ValueAddedModuleData"
                    },
                    "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 app or website link that will be displayed as a button on the front of the pass. If AppLinkData is provided for the corresponding class only object AppLinkData will be displayed."
                },
                "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"
                },
                "linkedObjectIds": {
                    "description": "linked_object_ids are a list of other objects such as event ticket, loyalty, offer, generic, giftcard, transit and boarding pass that should be automatically attached to this event ticket object. If a user had saved this event ticket, then these linked_object_ids would be automatically pushed to the user's wallet (unless they turned off the setting to receive such linked passes). Make sure that objects present in linked_object_ids are already inserted - if not, calls would fail. Once linked, the linked objects cannot be unlinked. You cannot link objects belonging to another issuer. There is a limit to the number of objects that can be linked to a single object. After the limit is reached, new linked objects in the call will be ignored silently. Object IDs should follow the format issuer ID. identifier where the former is issued by Google and the latter is chosen by you.",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "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": {
                    "deprecated": true,
                    "description": "Note: This field is currently not supported to trigger geo notifications.",
                    "items": {
                        "$ref": "LatLongPoint"
                    },
                    "type": "array"
                },
                "merchantLocations": {
                    "description": "Merchant locations. There is a maximum of ten on the object. Any additional MerchantLocations added beyond the 10 will be rejected. These locations will trigger a notification when a user enters within a Google-set radius of the point. This field replaces the deprecated LatLongPoints.",
                    "items": {
                        "$ref": "MerchantLocation"
                    },
                    "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"
                },
                "notifyPreference": {
                    "description": "Whether or not field updates to this object should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If set to DO_NOT_NOTIFY or NOTIFICATION_SETTINGS_UNSPECIFIED, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered.",
                    "enum": [
                        "NOTIFICATION_SETTINGS_FOR_UPDATES_UNSPECIFIED",
                        "NOTIFY_ON_UPDATE"
                    ],
                    "enumDescriptions": [
                        "Default behavior is no notifications sent.",
                        "This value will result in a notification being sent, if the updated fields are part of an allowlist."
                    ],
                    "type": "string"
                },
                "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."
                },
                "saveRestrictions": {
                    "$ref": "SaveRestrictions",
                    "description": "Restrictions on the object that needs to be verified before the user tries to save the pass. Note that this restrictions will only be applied during save time. If the restrictions changed after a user saves the pass, the new restrictions will not be applied to an already saved pass."
                },
                "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": [
                        "Default value.",
                        "Object is active and displayed to with other active objects.",
                        "Legacy alias for `ACTIVE`. Deprecated.",
                        "Object has completed it's lifecycle.",
                        "Legacy alias for `COMPLETED`. Deprecated.",
                        "Object is no longer valid (`validTimeInterval` passed).",
                        "Legacy alias for `EXPIRED`. Deprecated.",
                        "Object is no longer valid",
                        "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."
                },
                "valueAddedModuleData": {
                    "description": "Optional value added module data. Maximum of fifteen on the object. For a pass only fifteen will be displayed.",
                    "items": {
                        "$ref": "ValueAddedModuleData"
                    },
                    "type": "array"
                },
                "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 below 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"
                },
                "appLinkData": {
                    "$ref": "AppLinkData",
                    "description": "Optional app or website link that will be displayed as a button on the front of the pass. If AppLinkData is provided for the corresponding object that will be used instead."
                },
                "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.",
                    "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.",
                    "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.",
                    "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.",
                    "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": {
                    "deprecated": true,
                    "description": "Note: This field is currently not supported to trigger geo notifications.",
                    "items": {
                        "$ref": "LatLongPoint"
                    },
                    "type": "array"
                },
                "merchantLocations": {
                    "description": "Merchant locations. There is a maximum of ten on the class. Any additional MerchantLocations added beyond the 10 will be rejected by the validator. These locations will trigger a notification when a user enters within a Google-set radius of the point. This field replaces the deprecated LatLongPoints.",
                    "items": {
                        "$ref": "MerchantLocation"
                    },
                    "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 Pass object is shareable by a user and 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"
                },
                "notifyPreference": {
                    "description": "Whether or not field updates to this class should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If not specified, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered.",
                    "enum": [
                        "NOTIFICATION_SETTINGS_FOR_UPDATES_UNSPECIFIED",
                        "NOTIFY_ON_UPDATE"
                    ],
                    "enumDescriptions": [
                        "Default behavior is no notifications sent.",
                        "This value will result in a notification being sent, if the updated fields are part of an allowlist."
                    ],
                    "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"
                },
                "valueAddedModuleData": {
                    "description": "Optional value added module data. Maximum of fifteen on the class. For a pass only fifteen will be displayed, prioritizing those from the object.",
                    "items": {
                        "$ref": "ValueAddedModuleData"
                    },
                    "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 app or website link that will be displayed as a button on the front of the pass. If AppLinkData is provided for the corresponding class only object AppLinkData will be displayed."
                },
                "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"
                },
                "linkedObjectIds": {
                    "description": "linked_object_ids are a list of other objects such as event ticket, loyalty, offer, generic, giftcard, transit and boarding pass that should be automatically attached to this flight object. If a user had saved this boarding pass, then these linked_object_ids would be automatically pushed to the user's wallet (unless they turned off the setting to receive such linked passes). Make sure that objects present in linked_object_ids are already inserted - if not, calls would fail. Once linked, the linked objects cannot be unlinked. You cannot link objects belonging to another issuer. There is a limit to the number of objects that can be linked to a single object. After the limit is reached, new linked objects in the call will be ignored silently. Object IDs should follow the format issuer ID. identifier where the former is issued by Google and the 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": {
                    "deprecated": true,
                    "description": "Note: This field is currently not supported to trigger geo notifications.",
                    "items": {
                        "$ref": "LatLongPoint"
                    },
                    "type": "array"
                },
                "merchantLocations": {
                    "description": "Merchant locations. There is a maximum of ten on the object. Any additional MerchantLocations added beyond the 10 will be rejected. These locations will trigger a notification when a user enters within a Google-set radius of the point. This field replaces the deprecated LatLongPoints.",
                    "items": {
                        "$ref": "MerchantLocation"
                    },
                    "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"
                },
                "notifyPreference": {
                    "description": "Whether or not field updates to this object should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If set to DO_NOT_NOTIFY or NOTIFICATION_SETTINGS_UNSPECIFIED, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered.",
                    "enum": [
                        "NOTIFICATION_SETTINGS_FOR_UPDATES_UNSPECIFIED",
                        "NOTIFY_ON_UPDATE"
                    ],
                    "enumDescriptions": [
                        "Default behavior is no notifications sent.",
                        "This value will result in a notification being sent, if the updated fields are part of an allowlist."
                    ],
                    "type": "string"
                },
                "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."
                },
                "saveRestrictions": {
                    "$ref": "SaveRestrictions",
                    "description": "Restrictions on the object that needs to be verified before the user tries to save the pass. Note that this restrictions will only be applied during save time. If the restrictions changed after a user saves the pass, the new restrictions will not be applied to an already saved pass."
                },
                "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": [
                        "Default value.",
                        "Object is active and displayed to with other active objects.",
                        "Legacy alias for `ACTIVE`. Deprecated.",
                        "Object has completed it's lifecycle.",
                        "Legacy alias for `COMPLETED`. Deprecated.",
                        "Object is no longer valid (`validTimeInterval` passed).",
                        "Legacy alias for `EXPIRED`. Deprecated.",
                        "Object is no longer valid",
                        "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."
                },
                "valueAddedModuleData": {
                    "description": "Optional value added module data. Maximum of fifteen on the object. For a pass only fifteen will be displayed.",
                    "items": {
                        "$ref": "ValueAddedModuleData"
                    },
                    "type": "array"
                },
                "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": {
                "appLinkData": {
                    "$ref": "AppLinkData",
                    "description": "Optional app or website link that will be displayed as a button on the front of the pass. If AppLinkData is provided for the corresponding object that will be used instead."
                },
                "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."
                },
                "merchantLocations": {
                    "description": "Merchant locations. There is a maximum of ten on the class. Any additional MerchantLocations added beyond the 10 will be rejected. These locations will trigger a notification when a user enters within a Google-set radius of the point. This field replaces the deprecated LatLongPoints.",
                    "items": {
                        "$ref": "MerchantLocation"
                    },
                    "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 Pass object is shareable by a user and 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"
                },
                "valueAddedModuleData": {
                    "description": "Optional value added module data. Maximum of fifteen on the class. For a pass only fifteen will be displayed, prioritizing those from the object.",
                    "items": {
                        "$ref": "ValueAddedModuleData"
                    },
                    "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"
        },
        "GenericClassAddMessageResponse": {
            "description": "Response to adding a new issuer message to the class. This contains the entire updated GenericClass.",
            "id": "GenericClassAddMessageResponse",
            "properties": {
                "resource": {
                    "$ref": "GenericClass",
                    "description": "The updated EventTicketClass resource."
                }
            },
            "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",
            "id": "GenericObject",
            "properties": {
                "appLinkData": {
                    "$ref": "AppLinkData",
                    "description": "Optional app or website link that will be displayed as a button on the front of the pass. If AppLinkData is provided for the corresponding class only object AppLinkData will be displayed."
                },
                "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_LOYALTY_CARD",
                        "GENERIC_BUSINESS_CARD",
                        "GENERIC_BARCODE_PASS",
                        "GENERIC_MEMBERSHIP_CARD",
                        "GENERIC_STUDENT_CARD",
                        "GENERIC_TRANSIT_PASS",
                        "GENERIC_VEHICLE_REGISTRATION",
                        "GENERIC_OTHER"
                    ],
                    "enumDescriptions": [
                        "Unspecified generic type.",
                        "Represents a season pass.",
                        "Represents a utility bill.",
                        "Represents a parking pass.",
                        "Represents a voucher.",
                        "Represents a gym membership card.",
                        "Represents a library card.",
                        "Represents a reservation.",
                        "Represents an auto-insurance card.",
                        "Represents a home-insurance card.",
                        "Represents an entry ticket.",
                        "Represents a receipt.",
                        "Represents a loyalty card. Please note that it is advisable to use a dedicated Loyalty card pass type instead of this generic type. A dedicated loyalty card pass type offers more features and functionality than a generic pass type.",
                        "Represents a business card.",
                        "Represents a barcode pass.",
                        "Represents a membership card.",
                        "Represents a student card.",
                        "Represents a transit pass.",
                        "Represents a vehicle registration.",
                        "Represents another type of generic pass."
                    ],
                    "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"
                },
                "linkedObjectIds": {
                    "description": "linked_object_ids are a list of other objects such as event ticket, loyalty, offer, generic, giftcard, transit and boarding pass that should be automatically attached to this generic object. If a user had saved this generic card, then these linked_object_ids would be automatically pushed to the user's wallet (unless they turned off the setting to receive such linked passes). Make sure that objects present in linked_object_ids are already inserted - if not, calls would fail. Once linked, the linked objects cannot be unlinked. You cannot link objects belonging to another issuer. There is a limit to the number of objects that can be linked to a single object. After the limit is reached, new linked objects in the call will be ignored silently. Object IDs should follow the format issuer ID. identifier where the former is issued by Google and the latter is chosen by you.",
                    "items": {
                        "type": "string"
                    },
                    "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."
                },
                "merchantLocations": {
                    "description": "Merchant locations. There is a maximum of ten on the object. Any additional MerchantLocations added beyond the 10 will be rejected. These locations will trigger a notification when a user enters within a Google-set radius of the point. This field replaces the deprecated LatLongPoints.",
                    "items": {
                        "$ref": "MerchantLocation"
                    },
                    "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"
                },
                "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."
                },
                "saveRestrictions": {
                    "$ref": "SaveRestrictions",
                    "description": "Restrictions on the object that needs to be verified before the user tries to save the pass. Note that this restrictions will only be applied during save time. If the restrictions changed after a user saves the pass, the new restrictions will not be applied to an already saved pass."
                },
                "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": [
                        "Default value.",
                        "Object is active and displayed to with other active objects.",
                        "Legacy alias for `ACTIVE`. Deprecated.",
                        "Object has completed it's lifecycle.",
                        "Legacy alias for `COMPLETED`. Deprecated.",
                        "Object is no longer valid (`validTimeInterval` passed).",
                        "Legacy alias for `EXPIRED`. Deprecated.",
                        "Object is no longer valid",
                        "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."
                },
                "valueAddedModuleData": {
                    "description": "Optional value added module data. Maximum of fifteen on the object. For a pass only fifteen will be displayed.",
                    "items": {
                        "$ref": "ValueAddedModuleData"
                    },
                    "type": "array"
                },
                "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"
        },
        "GenericObjectAddMessageResponse": {
            "description": "Response to adding a new issuer message to the object. This contains the entire updated GenericObject.",
            "id": "GenericObjectAddMessageResponse",
            "properties": {
                "resource": {
                    "$ref": "GenericObject",
                    "description": "The updated GenericObject resource."
                }
            },
            "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"
                },
                "appLinkData": {
                    "$ref": "AppLinkData",
                    "description": "Optional app or website link that will be displayed as a button on the front of the pass. If AppLinkData is provided for the corresponding object that will be used instead."
                },
                "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": {
                    "deprecated": true,
                    "description": "Note: This field is currently not supported to trigger geo notifications.",
                    "items": {
                        "$ref": "LatLongPoint"
                    },
                    "type": "array"
                },
                "merchantLocations": {
                    "description": "Merchant locations. There is a maximum of ten on the class. Any additional MerchantLocations added beyond the 10 will be rejected. These locations will trigger a notification when a user enters within a Google-set radius of the point. This field replaces the deprecated LatLongPoints.",
                    "items": {
                        "$ref": "MerchantLocation"
                    },
                    "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 Pass object is shareable by a user and 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"
                },
                "notifyPreference": {
                    "description": "Whether or not field updates to this class should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If not specified, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered.",
                    "enum": [
                        "NOTIFICATION_SETTINGS_FOR_UPDATES_UNSPECIFIED",
                        "NOTIFY_ON_UPDATE"
                    ],
                    "enumDescriptions": [
                        "Default behavior is no notifications sent.",
                        "This value will result in a notification being sent, if the updated fields are part of an allowlist."
                    ],
                    "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"
                },
                "valueAddedModuleData": {
                    "description": "Optional value added module data. Maximum of fifteen on the class. For a pass only fifteen will be displayed, prioritizing those from the object.",
                    "items": {
                        "$ref": "ValueAddedModuleData"
                    },
                    "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 app or website link that will be displayed as a button on the front of the pass. If AppLinkData is provided for the corresponding class only object AppLinkData will be displayed."
                },
                "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"
                },
                "linkedObjectIds": {
                    "description": "linked_object_ids are a list of other objects such as event ticket, loyalty, offer, generic, giftcard, transit and boarding pass that should be automatically attached to this giftcard object. If a user had saved this gift card, then these linked_object_ids would be automatically pushed to the user's wallet (unless they turned off the setting to receive such linked passes). Make sure that objects present in linked_object_ids are already inserted - if not, calls would fail. Once linked, the linked objects cannot be unlinked. You cannot link objects belonging to another issuer. There is a limit to the number of objects that can be linked to a single object. After the limit is reached, new linked objects in the call will be ignored silently. Object IDs should follow the format issuer ID. identifier where the former is issued by Google and the 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": {
                    "deprecated": true,
                    "description": "Note: This field is currently not supported to trigger geo notifications.",
                    "items": {
                        "$ref": "LatLongPoint"
                    },
                    "type": "array"
                },
                "merchantLocations": {
                    "description": "Merchant locations. There is a maximum of ten on the object. Any additional MerchantLocations added beyond the 10 will be rejected. These locations will trigger a notification when a user enters within a Google-set radius of the point. This field replaces the deprecated LatLongPoints.",
                    "items": {
                        "$ref": "MerchantLocation"
                    },
                    "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"
                },
                "notifyPreference": {
                    "description": "Whether or not field updates to this object should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If set to DO_NOT_NOTIFY or NOTIFICATION_SETTINGS_UNSPECIFIED, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered.",
                    "enum": [
                        "NOTIFICATION_SETTINGS_FOR_UPDATES_UNSPECIFIED",
                        "NOTIFY_ON_UPDATE"
                    ],
                    "enumDescriptions": [
                        "Default behavior is no notifications sent.",
                        "This value will result in a notification being sent, if the updated fields are part of an allowlist."
                    ],
                    "type": "string"
                },
                "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."
                },
                "saveRestrictions": {
                    "$ref": "SaveRestrictions",
                    "description": "Restrictions on the object that needs to be verified before the user tries to save the pass. Note that this restrictions will only be applied during save time. If the restrictions changed after a user saves the pass, the new restrictions will not be applied to an already saved pass."
                },
                "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": [
                        "Default value.",
                        "Object is active and displayed to with other active objects.",
                        "Legacy alias for `ACTIVE`. Deprecated.",
                        "Object has completed it's lifecycle.",
                        "Legacy alias for `COMPLETED`. Deprecated.",
                        "Object is no longer valid (`validTimeInterval` passed).",
                        "Legacy alias for `EXPIRED`. Deprecated.",
                        "Object is no longer valid",
                        "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."
                },
                "valueAddedModuleData": {
                    "description": "Optional value added module data. Maximum of fifteen on the object. For a pass only fifteen will be displayed.",
                    "items": {
                        "$ref": "ValueAddedModuleData"
                    },
                    "type": "array"
                },
                "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.",
            "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"
                },
                "privateImageId": {
                    "description": "An ID for an already uploaded private image. Either this or source_uri should be set. Requests setting both or neither will be rejected. Please contact support to use private images.",
                    "type": "string"
                },
                "sourceUri": {
                    "$ref": "ImageUri",
                    "description": "A URI for the image. Either this or private_image_id should be set. Requests setting both or neither will be rejected."
                }
            },
            "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": {
                "callbackOptions": {
                    "$ref": "CallbackOptions",
                    "description": "Allows the issuer to provide their callback settings."
                },
                "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": {
            "description": "A JWT representation of a pass.",
            "id": "JwtResource",
            "properties": {
                "jwt": {
                    "description": "Required. 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. To set this override, set the FirstRowOption.fieldOption to the FieldSelector of your choice."
                },
                "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. To set this override, please set secondRowOption to the FieldSelector of you choice."
                },
                "thirdRowOption": {
                    "$ref": "FieldSelector",
                    "deprecated": true,
                    "description": "An unused/deprecated field. Setting it will have no effect on what the user sees."
                }
            },
            "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"
                },
                "appLinkData": {
                    "$ref": "AppLinkData",
                    "description": "Optional app or website link that will be displayed as a button on the front of the pass. If AppLinkData is provided for the corresponding object that will be used instead."
                },
                "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": {
                    "deprecated": true,
                    "description": "Note: This field is currently not supported to trigger geo notifications.",
                    "items": {
                        "$ref": "LatLongPoint"
                    },
                    "type": "array"
                },
                "merchantLocations": {
                    "description": "Merchant locations. There is a maximum of ten on the class. Any additional MerchantLocations added beyond the 10 will be rejected. These locations will trigger a notification when a user enters within a Google-set radius of the point. This field replaces the deprecated LatLongPoints.",
                    "items": {
                        "$ref": "MerchantLocation"
                    },
                    "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 Pass object is shareable by a user and 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"
                },
                "notifyPreference": {
                    "description": "Whether or not field updates to this class should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If not specified, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered.",
                    "enum": [
                        "NOTIFICATION_SETTINGS_FOR_UPDATES_UNSPECIFIED",
                        "NOTIFY_ON_UPDATE"
                    ],
                    "enumDescriptions": [
                        "Default behavior is no notifications sent.",
                        "This value will result in a notification being sent, if the updated fields are part of an allowlist."
                    ],
                    "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"
                },
                "valueAddedModuleData": {
                    "description": "Optional value added module data. Maximum of fifteen on the class. For a pass only fifteen will be displayed, prioritizing those from the object.",
                    "items": {
                        "$ref": "ValueAddedModuleData"
                    },
                    "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 app or website link that will be displayed as a button on the front of the pass. If AppLinkData is provided for the corresponding class only object AppLinkData will be displayed."
                },
                "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"
                },
                "linkedObjectIds": {
                    "description": "linked_object_ids are a list of other objects such as event ticket, loyalty, offer, generic, giftcard, transit and boarding pass that should be automatically attached to this loyalty object. If a user had saved this loyalty card, then these linked_object_ids would be automatically pushed to the user's wallet (unless they turned off the setting to receive such linked passes). Make sure that objects present in linked_object_ids are already inserted - if not, calls would fail. Once linked, the linked objects cannot be unlinked. You cannot link objects belonging to another issuer. There is a limit to the number of objects that can be linked to a single object. After the limit is reached, new linked objects in the call will be ignored silently. Object IDs should follow the format issuer ID. identifier where the former is issued by Google and the latter is chosen by you.",
                    "items": {
                        "type": "string"
                    },
                    "type": "array"
                },
                "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": {
                    "deprecated": true,
                    "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."
                },
                "merchantLocations": {
                    "description": "Merchant locations. There is a maximum of ten on the object. Any additional MerchantLocations added beyond the 10 will be rejected. These locations will trigger a notification when a user enters within a Google-set radius of the point. This field replaces the deprecated LatLongPoints.",
                    "items": {
                        "$ref": "MerchantLocation"
                    },
                    "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"
                },
                "notifyPreference": {
                    "description": "Whether or not field updates to this object should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If set to DO_NOT_NOTIFY or NOTIFICATION_SETTINGS_UNSPECIFIED, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered.",
                    "enum": [
                        "NOTIFICATION_SETTINGS_FOR_UPDATES_UNSPECIFIED",
                        "NOTIFY_ON_UPDATE"
                    ],
                    "enumDescriptions": [
                        "Default behavior is no notifications sent.",
                        "This value will result in a notification being sent, if the updated fields are part of an allowlist."
                    ],
                    "type": "string"
                },
                "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."
                },
                "saveRestrictions": {
                    "$ref": "SaveRestrictions",
                    "description": "Restrictions on the object that needs to be verified before the user tries to save the pass. Note that this restrictions will only be applied during save time. If the restrictions changed after a user saves the pass, the new restrictions will not be applied to an already saved pass."
                },
                "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": [
                        "Default value.",
                        "Object is active and displayed to with other active objects.",
                        "Legacy alias for `ACTIVE`. Deprecated.",
                        "Object has completed it's lifecycle.",
                        "Legacy alias for `COMPLETED`. Deprecated.",
                        "Object is no longer valid (`validTimeInterval` passed).",
                        "Legacy alias for `EXPIRED`. Deprecated.",
                        "Object is no longer valid",
                        "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."
                },
                "valueAddedModuleData": {
                    "description": "Optional value added module data. Maximum of fifteen on the object. For a pass only fifteen will be displayed.",
                    "items": {
                        "$ref": "ValueAddedModuleData"
                    },
                    "type": "array"
                },
                "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/blobstore2/api/scotty/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"
                },
                "physicalHeaders": {
                    "description": "The physical headers provided by RequestReceivedParameters in Scotty request. type is uploader_service.KeyValuePairs.",
                    "format": "byte",
                    "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"
        },
        "MerchantLocation": {
            "description": "Locations of interest for this class or object. Currently, this location is used for geofenced notifications. When a user is within a set radius of this lat/long, and dwells there, Google will trigger a notification. When a user exits this radius, the notification will be hidden.",
            "id": "MerchantLocation",
            "properties": {
                "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"
        },
        "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 message type.",
                    "enum": [
                        "MESSAGE_TYPE_UNSPECIFIED",
                        "TEXT",
                        "text",
                        "EXPIRATION_NOTIFICATION",
                        "expirationNotification",
                        "TEXT_AND_NOTIFY"
                    ],
                    "enumDeprecated": [
                        false,
                        false,
                        true,
                        false,
                        true,
                        false
                    ],
                    "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.",
                        "Renders the message as text on the card details screen and as an Android notification."
                    ],
                    "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"
        },
        "ModuleViewConstraints": {
            "description": "Constraints that all must be met for the module to be shown.",
            "id": "ModuleViewConstraints",
            "properties": {
                "displayInterval": {
                    "$ref": "TimeInterval",
                    "description": "The period of time that the module will be displayed to users. Can define both a `startTime` and `endTime`. The module is displayed immediately after insertion unless a `startTime` is set. The module is displayed indefinitely if `endTime` is not set."
                }
            },
            "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"
                },
                "appLinkData": {
                    "$ref": "AppLinkData",
                    "description": "Optional app or website link that will be displayed as a button on the front of the pass. If AppLinkData is provided for the corresponding object that will be used instead."
                },
                "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": {
                    "deprecated": true,
                    "description": "Note: This field is currently not supported to trigger geo notifications.",
                    "items": {
                        "$ref": "LatLongPoint"
                    },
                    "type": "array"
                },
                "merchantLocations": {
                    "description": "Merchant locations. There is a maximum of ten on the class. Any additional MerchantLocations added beyond the 10 will be rejected. These locations will trigger a notification when a user enters within a Google-set radius of the point. This field replaces the deprecated LatLongPoints.",
                    "items": {
                        "$ref": "MerchantLocation"
                    },
                    "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 Pass object is shareable by a user and 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"
                },
                "notifyPreference": {
                    "description": "Whether or not field updates to this class should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If not specified, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered.",
                    "enum": [
                        "NOTIFICATION_SETTINGS_FOR_UPDATES_UNSPECIFIED",
                        "NOTIFY_ON_UPDATE"
                    ],
                    "enumDescriptions": [
                        "Default behavior is no notifications sent.",
                        "This value will result in a notification being sent, if the updated fields are part of an allowlist."
                    ],
                    "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."
                },
                "valueAddedModuleData": {
                    "description": "Optional value added module data. Maximum of fifteen on the class. For a pass only fifteen will be displayed, prioritizing those from the object.",
                    "items": {
                        "$ref": "ValueAddedModuleData"
                    },
                    "type": "array"
                },
                "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 app or website link that will be displayed as a button on the front of the pass. If AppLinkData is provided for the corresponding class only object AppLinkData will be displayed."
                },
                "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"
                },
                "linkedObjectIds": {
                    "description": "linked_object_ids are a list of other objects such as event ticket, loyalty, offer, generic, giftcard, transit and boarding pass that should be automatically attached to this offer object. If a user had saved this offer, then these linked_object_ids would be automatically pushed to the user's wallet (unless they turned off the setting to receive such linked passes). Make sure that objects present in linked_object_ids are already inserted - if not, calls would fail. Once linked, the linked objects cannot be unlinked. You cannot link objects belonging to another issuer. There is a limit to the number of objects that can be linked to a single object. After the limit is reached, new linked objects in the call will be ignored silently. Object IDs should follow the format issuer ID.identifier where the former is issued by Google and the 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"
                },
                "merchantLocations": {
                    "description": "Merchant locations. There is a maximum of ten on the object. Any additional MerchantLocations added beyond the 10 will be rejected. These locations will trigger a notification when a user enters within a Google-set radius of the point. This field replaces the deprecated LatLongPoints.",
                    "items": {
                        "$ref": "MerchantLocation"
                    },
                    "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"
                },
                "notifyPreference": {
                    "description": "Whether or not field updates to this object should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If set to DO_NOT_NOTIFY or NOTIFICATION_SETTINGS_UNSPECIFIED, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered.",
                    "enum": [
                        "NOTIFICATION_SETTINGS_FOR_UPDATES_UNSPECIFIED",
                        "NOTIFY_ON_UPDATE"
                    ],
                    "enumDescriptions": [
                        "Default behavior is no notifications sent.",
                        "This value will result in a notification being sent, if the updated fields are part of an allowlist."
                    ],
                    "type": "string"
                },
                "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."
                },
                "saveRestrictions": {
                    "$ref": "SaveRestrictions",
                    "description": "Restrictions on the object that needs to be verified before the user tries to save the pass. Note that this restrictions will only be applied during save time. If the restrictions changed after a user saves the pass, the new restrictions will not be applied to an already saved pass."
                },
                "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": [
                        "Default value.",
                        "Object is active and displayed to with other active objects.",
                        "Legacy alias for `ACTIVE`. Deprecated.",
                        "Object has completed it's lifecycle.",
                        "Legacy alias for `COMPLETED`. Deprecated.",
                        "Object is no longer valid (`validTimeInterval` passed).",
                        "Legacy alias for `EXPIRED`. Deprecated.",
                        "Object is no longer valid",
                        "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."
                },
                "valueAddedModuleData": {
                    "description": "Optional value added module data. Maximum of fifteen on the object. For a pass only fifteen will be displayed.",
                    "items": {
                        "$ref": "ValueAddedModuleData"
                    },
                    "type": "array"
                },
                "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"
        },
        "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": {
                    "description": "A list of event ticket classes.",
                    "items": {
                        "$ref": "EventTicketClass"
                    },
                    "type": "array"
                },
                "eventTicketObjects": {
                    "description": "A list of event ticket objects.",
                    "items": {
                        "$ref": "EventTicketObject"
                    },
                    "type": "array"
                },
                "flightClasses": {
                    "description": "A list of flight classes.",
                    "items": {
                        "$ref": "FlightClass"
                    },
                    "type": "array"
                },
                "flightObjects": {
                    "description": "A list of flight objects.",
                    "items": {
                        "$ref": "FlightObject"
                    },
                    "type": "array"
                },
                "genericClasses": {
                    "description": "A list of generic classes.",
                    "items": {
                        "$ref": "GenericClass"
                    },
                    "type": "array"
                },
                "genericObjects": {
                    "description": "A list of generic objects.",
                    "items": {
                        "$ref": "GenericObject"
                    },
                    "type": "array"
                },
                "giftCardClasses": {
                    "description": "A list of gift card classes.",
                    "items": {
                        "$ref": "GiftCardClass"
                    },
                    "type": "array"
                },
                "giftCardObjects": {
                    "description": "A list of gift card objects.",
                    "items": {
                        "$ref": "GiftCardObject"
                    },
                    "type": "array"
                },
                "loyaltyClasses": {
                    "description": "A list of loyalty classes.",
                    "items": {
                        "$ref": "LoyaltyClass"
                    },
                    "type": "array"
                },
                "loyaltyObjects": {
                    "description": "A list of loyalty objects.",
                    "items": {
                        "$ref": "LoyaltyObject"
                    },
                    "type": "array"
                },
                "offerClasses": {
                    "description": "A list of offer classes.",
                    "items": {
                        "$ref": "OfferClass"
                    },
                    "type": "array"
                },
                "offerObjects": {
                    "description": "A list of offer objects.",
                    "items": {
                        "$ref": "OfferObject"
                    },
                    "type": "array"
                },
                "transitClasses": {
                    "description": "A list of transit classes.",
                    "items": {
                        "$ref": "TransitClass"
                    },
                    "type": "array"
                },
                "transitObjects": {
                    "description": "A list of transit objects.",
                    "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"
        },
        "SaveRestrictions": {
            "description": "Defines restrictions on the object that will be verified during save. Note: this is an advanced feature, please contact Google for implementation support.",
            "id": "SaveRestrictions",
            "properties": {
                "restrictToEmailSha256": {
                    "description": "Restrict the save of the referencing object to the given email address only. This is the hex output of SHA256 sum of the email address, all lowercase and without any notations like \".\" or \"+\", except \"@\". For example, for example@example.com, this value will be 31c5543c1734d25c7206f5fd591525d0295bec6fe84ff82f946a34fe970a1e66 and for Example@example.com, this value will be bc34f262c93ad7122763684ccea6f07fb7f5d8a2d11e60ce15a6f43fe70ce632 If email address of the logged-in user who tries to save this pass does not match with the defined value here, users won't be allowed to save this pass. They will instead be prompted with an error to contact the issuer. This information should be gathered from the user with an explicit consent via Sign in with Google integration https://developers.google.com/identity/authentication. Please contact with support before using Save Restrictions.",
                    "type": "string"
                }
            },
            "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": {
                "externalPassId": {
                    "description": "Required. A fully qualified identifier of the pass that the issuer wants to notify the pass holder(s) about. Formatted as .",
                    "type": "string"
                },
                "updateUri": {
                    "description": "Required. The issuer endpoint URI the pass holder needs to follow in order to receive an updated pass JWT. It can not contain any sensitive information. The endpoint needs to authenticate the user before giving the user the updated JWT. Example update URI https://someissuer.com/update/passId=someExternalPassId",
                    "type": "string"
                },
                "updatedPassJwtSignature": {
                    "description": "Required. The JWT signature of the updated pass that the issuer wants to notify Google about. Only devices that report a different JWT signature than this JWT signature will receive the update notification.",
                    "type": "string"
                }
            },
            "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 and referencing them in template overrides. The ID should only include alphanumeric characters, '_', or '-'. It can not include dots, as dots are used to separate fields within FieldReference.fieldPaths in template overrides.",
                    "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"
                },
                "appLinkData": {
                    "$ref": "AppLinkData",
                    "description": "Optional app or website link that will be displayed as a button on the front of the pass. If AppLinkData is provided for the corresponding object that will be used instead."
                },
                "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": {
                    "deprecated": true,
                    "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."
                },
                "merchantLocations": {
                    "description": "Merchant locations. There is a maximum of ten on the class. Any additional MerchantLocations added beyond the 10 will be rejected. These locations will trigger a notification when a user enters within a Google-set radius of the point. This field replaces the deprecated LatLongPoints.",
                    "items": {
                        "$ref": "MerchantLocation"
                    },
                    "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 Pass object is shareable by a user and 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"
                },
                "notifyPreference": {
                    "description": "Whether or not field updates to this class should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If set to DO_NOT_NOTIFY or NOTIFICATION_SETTINGS_UNSPECIFIED, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered.",
                    "enum": [
                        "NOTIFICATION_SETTINGS_FOR_UPDATES_UNSPECIFIED",
                        "NOTIFY_ON_UPDATE"
                    ],
                    "enumDescriptions": [
                        "Default behavior is no notifications sent.",
                        "This value will result in a notification being sent, if the updated fields are part of an allowlist."
                    ],
                    "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"
                },
                "valueAddedModuleData": {
                    "description": "Optional value added module data. Maximum of fifteen on the class. For a pass only fifteen will be displayed, prioritizing those from the object.",
                    "items": {
                        "$ref": "ValueAddedModuleData"
                    },
                    "type": "array"
                },
                "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 app or website link that will be displayed as a button on the front of the pass. If AppLinkData is provided for the corresponding class only object AppLinkData will be displayed."
                },
                "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."
                },
                "linkedObjectIds": {
                    "description": "linked_object_ids are a list of other objects such as event ticket, loyalty, offer, generic, giftcard, transit and boarding pass that should be automatically attached to this transit object. If a user had saved this transit card, then these linked_object_ids would be automatically pushed to the user's wallet (unless they turned off the setting to receive such linked passes). Make sure that objects present in linked_object_ids are already inserted - if not, calls would fail. Once linked, the linked objects cannot be unlinked. You cannot link objects belonging to another issuer. There is a limit to the number of objects that can be linked to a single object. After the limit is reached, new linked objects in the call will be ignored silently. Object IDs should follow the format issuer ID. identifier where the former is issued by Google and the 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": {
                    "deprecated": true,
                    "description": "Note: This field is currently not supported to trigger geo notifications.",
                    "items": {
                        "$ref": "LatLongPoint"
                    },
                    "type": "array"
                },
                "merchantLocations": {
                    "description": "Merchant locations. There is a maximum of ten on the object. Any additional MerchantLocations added beyond the 10 will be rejected. These locations will trigger a notification when a user enters within a Google-set radius of the point. This field replaces the deprecated LatLongPoints.",
                    "items": {
                        "$ref": "MerchantLocation"
                    },
                    "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"
                },
                "notifyPreference": {
                    "description": "Whether or not field updates to this object should trigger notifications. When set to NOTIFY, we will attempt to trigger a field update notification to users. These notifications will only be sent to users if the field is part of an allowlist. If set to DO_NOT_NOTIFY or NOTIFICATION_SETTINGS_UNSPECIFIED, no notification will be triggered. This setting is ephemeral and needs to be set with each PATCH or UPDATE request, otherwise a notification will not be triggered.",
                    "enum": [
                        "NOTIFICATION_SETTINGS_FOR_UPDATES_UNSPECIFIED",
                        "NOTIFY_ON_UPDATE"
                    ],
                    "enumDescriptions": [
                        "Default behavior is no notifications sent.",
                        "This value will result in a notification being sent, if the updated fields are part of an allowlist."
                    ],
                    "type": "string"
                },
                "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."
                },
                "saveRestrictions": {
                    "$ref": "SaveRestrictions",
                    "description": "Restrictions on the object that needs to be verified before the user tries to save the pass. Note that this restrictions will only be applied during save time. If the restrictions changed after a user saves the pass, the new restrictions will not be applied to an already saved pass."
                },
                "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": [
                        "Default value.",
                        "Object is active and displayed to with other active objects.",
                        "Legacy alias for `ACTIVE`. Deprecated.",
                        "Object has completed it's lifecycle.",
                        "Legacy alias for `COMPLETED`. Deprecated.",
                        "Object is no longer valid (`validTimeInterval` passed).",
                        "Legacy alias for `EXPIRED`. Deprecated.",
                        "Object is no longer valid",
                        "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."
                },
                "valueAddedModuleData": {
                    "description": "Optional value added module data. Maximum of fifteen on the object. For a pass only fifteen will be displayed.",
                    "items": {
                        "$ref": "ValueAddedModuleData"
                    },
                    "type": "array"
                },
                "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"
        },
        "UploadPrivateImageRequest": {
            "description": "Request to upload a private image to use in a pass.",
            "id": "UploadPrivateImageRequest",
            "properties": {},
            "type": "object"
        },
        "UploadPrivateImageResponse": {
            "description": "Response for uploading the private image.",
            "id": "UploadPrivateImageResponse",
            "properties": {
                "privateImageId": {
                    "description": "Unique ID of the uploaded image to be referenced later in Image.private_image_id.",
                    "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"
        },
        "ValueAddedModuleData": {
            "description": "Data for Value Added module. Required fields are header and uri.",
            "id": "ValueAddedModuleData",
            "properties": {
                "body": {
                    "$ref": "LocalizedString",
                    "description": "Body to be displayed on the module. Character limit is 50 and longer strings will be truncated."
                },
                "header": {
                    "$ref": "LocalizedString",
                    "description": "Header to be displayed on the module. Character limit is 60 and longer strings will be truncated."
                },
                "image": {
                    "$ref": "Image",
                    "description": "Image to be displayed on the module. Recommended image ratio is 1:1. Images will be resized to fit this ratio."
                },
                "sortIndex": {
                    "description": "The index for sorting the modules. Modules with a lower sort index are shown before modules with a higher sort index. If unspecified, the sort index is assumed to be INT_MAX. For two modules with the same index, the sorting behavior is undefined.",
                    "format": "int32",
                    "type": "integer"
                },
                "uri": {
                    "description": "URI that the module leads to on click. This can be a web link or a deep link as mentioned in https://developer.android.com/training/app-links/deep-linking.",
                    "type": "string"
                },
                "viewConstraints": {
                    "$ref": "ModuleViewConstraints",
                    "description": "Constraints that all must be met for the module to be shown."
                }
            },
            "type": "object"
        }
    }
}
