| // Copyright 2024 Google LLC |
| // |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file or at |
| // https://developers.google.com/open-source/licenses/bsd |
| |
| // This is a generated file (see the discoveryapis_generator project). |
| |
| // ignore_for_file: camel_case_types |
| // ignore_for_file: comment_references |
| // ignore_for_file: deprecated_member_use_from_same_package |
| // ignore_for_file: doc_directive_unknown |
| // ignore_for_file: lines_longer_than_80_chars |
| // ignore_for_file: non_constant_identifier_names |
| // ignore_for_file: prefer_interpolation_to_compose_strings |
| // ignore_for_file: unintended_html_in_doc_comment |
| // ignore_for_file: unnecessary_brace_in_string_interps |
| // ignore_for_file: unnecessary_lambdas |
| // ignore_for_file: unnecessary_string_interpolations |
| |
| /// Google Wallet API - v1 |
| /// |
| /// API for issuers to save and manage Google Wallet Objects. |
| /// |
| /// For more information, see <https://developers.google.com/pay/passes> |
| /// |
| /// Create an instance of [WalletobjectsApi] to access these resources: |
| /// |
| /// - [EventticketclassResource] |
| /// - [EventticketobjectResource] |
| /// - [FlightclassResource] |
| /// - [FlightobjectResource] |
| /// - [GenericclassResource] |
| /// - [GenericobjectResource] |
| /// - [GiftcardclassResource] |
| /// - [GiftcardobjectResource] |
| /// - [IssuerResource] |
| /// - [JwtResource_1] |
| /// - [LoyaltyclassResource] |
| /// - [LoyaltyobjectResource] |
| /// - [MediaResource] |
| /// - [OfferclassResource] |
| /// - [OfferobjectResource] |
| /// - [PermissionsResource] |
| /// - [SmarttapResource] |
| /// - [TransitclassResource] |
| /// - [TransitobjectResource] |
| /// - [WalletobjectsResource] |
| /// - [WalletobjectsV1Resource] |
| /// - [WalletobjectsV1PrivateContentResource] |
| library; |
| |
| import 'dart:async' as async; |
| import 'dart:convert' as convert; |
| import 'dart:core' as core; |
| |
| import 'package:_discoveryapis_commons/_discoveryapis_commons.dart' as commons; |
| import 'package:http/http.dart' as http; |
| |
| import '../shared.dart'; |
| import '../src/user_agent.dart'; |
| |
| export 'package:_discoveryapis_commons/_discoveryapis_commons.dart' |
| show |
| ApiRequestError, |
| ByteRange, |
| DetailedApiRequestError, |
| DownloadOptions, |
| Media, |
| PartialDownloadOptions, |
| ResumableUploadOptions, |
| UploadOptions; |
| |
| /// API for issuers to save and manage Google Wallet Objects. |
| class WalletobjectsApi { |
| /// Private Service: https://www.googleapis.com/auth/wallet_object.issuer |
| static const walletObjectIssuerScope = |
| 'https://www.googleapis.com/auth/wallet_object.issuer'; |
| |
| final commons.ApiRequester _requester; |
| |
| EventticketclassResource get eventticketclass => |
| EventticketclassResource(_requester); |
| EventticketobjectResource get eventticketobject => |
| EventticketobjectResource(_requester); |
| FlightclassResource get flightclass => FlightclassResource(_requester); |
| FlightobjectResource get flightobject => FlightobjectResource(_requester); |
| GenericclassResource get genericclass => GenericclassResource(_requester); |
| GenericobjectResource get genericobject => GenericobjectResource(_requester); |
| GiftcardclassResource get giftcardclass => GiftcardclassResource(_requester); |
| GiftcardobjectResource get giftcardobject => |
| GiftcardobjectResource(_requester); |
| IssuerResource get issuer => IssuerResource(_requester); |
| JwtResource_1 get jwt => JwtResource_1(_requester); |
| LoyaltyclassResource get loyaltyclass => LoyaltyclassResource(_requester); |
| LoyaltyobjectResource get loyaltyobject => LoyaltyobjectResource(_requester); |
| MediaResource get media => MediaResource(_requester); |
| OfferclassResource get offerclass => OfferclassResource(_requester); |
| OfferobjectResource get offerobject => OfferobjectResource(_requester); |
| PermissionsResource get permissions => PermissionsResource(_requester); |
| SmarttapResource get smarttap => SmarttapResource(_requester); |
| TransitclassResource get transitclass => TransitclassResource(_requester); |
| TransitobjectResource get transitobject => TransitobjectResource(_requester); |
| WalletobjectsResource get walletobjects => WalletobjectsResource(_requester); |
| |
| WalletobjectsApi( |
| http.Client client, { |
| core.String rootUrl = 'https://walletobjects.googleapis.com/', |
| core.String servicePath = '', |
| }) : _requester = commons.ApiRequester( |
| client, |
| rootUrl, |
| servicePath, |
| requestHeaders, |
| ); |
| } |
| |
| class EventticketclassResource { |
| final commons.ApiRequester _requester; |
| |
| EventticketclassResource(commons.ApiRequester client) : _requester = client; |
| |
| /// Adds a message to the event ticket class referenced by the given class ID. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 '-'. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [EventTicketClassAddMessageResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<EventTicketClassAddMessageResponse> addmessage( |
| AddMessageRequest request, |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/eventTicketClass/' + |
| commons.escapeVariable('$resourceId') + |
| '/addMessage'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return EventTicketClassAddMessageResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Returns the event ticket class with the given class ID. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 '-'. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [EventTicketClass]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<EventTicketClass> get( |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/eventTicketClass/' + |
| commons.escapeVariable('$resourceId'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return EventTicketClass.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Inserts an event ticket class with the given ID and properties. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [EventTicketClass]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<EventTicketClass> insert( |
| EventTicketClass request, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| const url_ = 'walletobjects/v1/eventTicketClass'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return EventTicketClass.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Returns a list of all event ticket classes for a given issuer ID. |
| /// |
| /// Request parameters: |
| /// |
| /// [issuerId] - The ID of the issuer authorized to list classes. |
| /// |
| /// [maxResults] - Identifies the max number of results returned by a list. |
| /// All results are returned if `maxResults` isn't defined. |
| /// |
| /// [token] - 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. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [EventTicketClassListResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<EventTicketClassListResponse> list({ |
| core.String? issuerId, |
| core.int? maxResults, |
| core.String? token, |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'issuerId': ?issuerId == null ? null : [issuerId], |
| 'maxResults': ?maxResults == null ? null : ['${maxResults}'], |
| 'token': ?token == null ? null : [token], |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| const url_ = 'walletobjects/v1/eventTicketClass'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return EventTicketClassListResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Updates the event ticket class referenced by the given class ID. |
| /// |
| /// This method supports patch semantics. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 '-'. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [EventTicketClass]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<EventTicketClass> patch( |
| EventTicketClass request, |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/eventTicketClass/' + |
| commons.escapeVariable('$resourceId'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'PATCH', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return EventTicketClass.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Updates the event ticket class referenced by the given class ID. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 '-'. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [EventTicketClass]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<EventTicketClass> update( |
| EventTicketClass request, |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/eventTicketClass/' + |
| commons.escapeVariable('$resourceId'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'PUT', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return EventTicketClass.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| } |
| |
| class EventticketobjectResource { |
| final commons.ApiRequester _requester; |
| |
| EventticketobjectResource(commons.ApiRequester client) : _requester = client; |
| |
| /// Adds a message to the event ticket object referenced by the given object |
| /// ID. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 '-'. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [EventTicketObjectAddMessageResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<EventTicketObjectAddMessageResponse> addmessage( |
| AddMessageRequest request, |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/eventTicketObject/' + |
| commons.escapeVariable('$resourceId') + |
| '/addMessage'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return EventTicketObjectAddMessageResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Returns the event ticket object with the given object ID. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 '-'. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [EventTicketObject]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<EventTicketObject> get( |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/eventTicketObject/' + |
| commons.escapeVariable('$resourceId'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return EventTicketObject.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Inserts an event ticket object with the given ID and properties. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [EventTicketObject]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<EventTicketObject> insert( |
| EventTicketObject request, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| const url_ = 'walletobjects/v1/eventTicketObject'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return EventTicketObject.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Returns a list of all event ticket objects for a given issuer ID. |
| /// |
| /// Request parameters: |
| /// |
| /// [classId] - The ID of the class whose objects will be listed. |
| /// |
| /// [maxResults] - Identifies the max number of results returned by a list. |
| /// All results are returned if `maxResults` isn't defined. |
| /// |
| /// [token] - 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. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [EventTicketObjectListResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<EventTicketObjectListResponse> list({ |
| core.String? classId, |
| core.int? maxResults, |
| core.String? token, |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'classId': ?classId == null ? null : [classId], |
| 'maxResults': ?maxResults == null ? null : ['${maxResults}'], |
| 'token': ?token == null ? null : [token], |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| const url_ = 'walletobjects/v1/eventTicketObject'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return EventTicketObjectListResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Deprecated: Use Auto Linked Passes instead. |
| /// |
| /// Modifies linked offer objects for the event ticket object with the given |
| /// ID. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 '-'. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [EventTicketObject]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| async.Future<EventTicketObject> modifylinkedofferobjects( |
| ModifyLinkedOfferObjectsRequest request, |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/eventTicketObject/' + |
| commons.escapeVariable('$resourceId') + |
| '/modifyLinkedOfferObjects'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return EventTicketObject.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Updates the event ticket object referenced by the given object ID. |
| /// |
| /// This method supports patch semantics. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 '-'. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [EventTicketObject]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<EventTicketObject> patch( |
| EventTicketObject request, |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/eventTicketObject/' + |
| commons.escapeVariable('$resourceId'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'PATCH', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return EventTicketObject.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Updates the event ticket object referenced by the given object ID. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 '-'. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [EventTicketObject]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<EventTicketObject> update( |
| EventTicketObject request, |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/eventTicketObject/' + |
| commons.escapeVariable('$resourceId'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'PUT', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return EventTicketObject.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| } |
| |
| class FlightclassResource { |
| final commons.ApiRequester _requester; |
| |
| FlightclassResource(commons.ApiRequester client) : _requester = client; |
| |
| /// Adds a message to the flight class referenced by the given class ID. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 '-'. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [FlightClassAddMessageResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<FlightClassAddMessageResponse> addmessage( |
| AddMessageRequest request, |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/flightClass/' + |
| commons.escapeVariable('$resourceId') + |
| '/addMessage'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return FlightClassAddMessageResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Returns the flight class with the given class ID. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 '-'. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [FlightClass]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<FlightClass> get( |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/flightClass/' + commons.escapeVariable('$resourceId'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return FlightClass.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Inserts an flight class with the given ID and properties. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [FlightClass]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<FlightClass> insert( |
| FlightClass request, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| const url_ = 'walletobjects/v1/flightClass'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return FlightClass.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Returns a list of all flight classes for a given issuer ID. |
| /// |
| /// Request parameters: |
| /// |
| /// [issuerId] - The ID of the issuer authorized to list classes. |
| /// |
| /// [maxResults] - Identifies the max number of results returned by a list. |
| /// All results are returned if `maxResults` isn't defined. |
| /// |
| /// [token] - 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. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [FlightClassListResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<FlightClassListResponse> list({ |
| core.String? issuerId, |
| core.int? maxResults, |
| core.String? token, |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'issuerId': ?issuerId == null ? null : [issuerId], |
| 'maxResults': ?maxResults == null ? null : ['${maxResults}'], |
| 'token': ?token == null ? null : [token], |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| const url_ = 'walletobjects/v1/flightClass'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return FlightClassListResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Updates the flight class referenced by the given class ID. |
| /// |
| /// This method supports patch semantics. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 '-'. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [FlightClass]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<FlightClass> patch( |
| FlightClass request, |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/flightClass/' + commons.escapeVariable('$resourceId'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'PATCH', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return FlightClass.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Updates the flight class referenced by the given class ID. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 '-'. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [FlightClass]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<FlightClass> update( |
| FlightClass request, |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/flightClass/' + commons.escapeVariable('$resourceId'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'PUT', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return FlightClass.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| } |
| |
| class FlightobjectResource { |
| final commons.ApiRequester _requester; |
| |
| FlightobjectResource(commons.ApiRequester client) : _requester = client; |
| |
| /// Adds a message to the flight object referenced by the given object ID. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 '-'. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [FlightObjectAddMessageResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<FlightObjectAddMessageResponse> addmessage( |
| AddMessageRequest request, |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/flightObject/' + |
| commons.escapeVariable('$resourceId') + |
| '/addMessage'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return FlightObjectAddMessageResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Returns the flight object with the given object ID. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 '-'. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [FlightObject]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<FlightObject> get( |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/flightObject/' + |
| commons.escapeVariable('$resourceId'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return FlightObject.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Inserts an flight object with the given ID and properties. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [FlightObject]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<FlightObject> insert( |
| FlightObject request, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| const url_ = 'walletobjects/v1/flightObject'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return FlightObject.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Returns a list of all flight objects for a given issuer ID. |
| /// |
| /// Request parameters: |
| /// |
| /// [classId] - The ID of the class whose objects will be listed. |
| /// |
| /// [maxResults] - Identifies the max number of results returned by a list. |
| /// All results are returned if `maxResults` isn't defined. |
| /// |
| /// [token] - 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. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [FlightObjectListResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<FlightObjectListResponse> list({ |
| core.String? classId, |
| core.int? maxResults, |
| core.String? token, |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'classId': ?classId == null ? null : [classId], |
| 'maxResults': ?maxResults == null ? null : ['${maxResults}'], |
| 'token': ?token == null ? null : [token], |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| const url_ = 'walletobjects/v1/flightObject'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return FlightObjectListResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Updates the flight object referenced by the given object ID. |
| /// |
| /// This method supports patch semantics. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 '-'. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [FlightObject]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<FlightObject> patch( |
| FlightObject request, |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/flightObject/' + |
| commons.escapeVariable('$resourceId'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'PATCH', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return FlightObject.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Updates the flight object referenced by the given object ID. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 '-'. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [FlightObject]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<FlightObject> update( |
| FlightObject request, |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/flightObject/' + |
| commons.escapeVariable('$resourceId'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'PUT', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return FlightObject.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| } |
| |
| class GenericclassResource { |
| final commons.ApiRequester _requester; |
| |
| GenericclassResource(commons.ApiRequester client) : _requester = client; |
| |
| /// Adds a message to the generic class referenced by the given class ID. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 '-'. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [GenericClassAddMessageResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<GenericClassAddMessageResponse> addmessage( |
| AddMessageRequest request, |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/genericClass/' + |
| commons.escapeVariable('$resourceId') + |
| '/addMessage'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return GenericClassAddMessageResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Returns the generic class with the given class ID. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 `-`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [GenericClass]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<GenericClass> get( |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/genericClass/' + |
| commons.escapeVariable('$resourceId'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return GenericClass.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Inserts a generic class with the given ID and properties. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [GenericClass]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<GenericClass> insert( |
| GenericClass request, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| const url_ = 'walletobjects/v1/genericClass'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return GenericClass.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Returns a list of all generic classes for a given issuer ID. |
| /// |
| /// Request parameters: |
| /// |
| /// [issuerId] - The ID of the issuer authorized to list classes. |
| /// |
| /// [maxResults] - Identifies the max number of results returned by a list. |
| /// All results are returned if `maxResults` isn't defined. |
| /// |
| /// [token] - 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. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [GenericClassListResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<GenericClassListResponse> list({ |
| core.String? issuerId, |
| core.int? maxResults, |
| core.String? token, |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'issuerId': ?issuerId == null ? null : [issuerId], |
| 'maxResults': ?maxResults == null ? null : ['${maxResults}'], |
| 'token': ?token == null ? null : [token], |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| const url_ = 'walletobjects/v1/genericClass'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return GenericClassListResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Updates the generic class referenced by the given class ID. |
| /// |
| /// This method supports patch semantics. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 `-`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [GenericClass]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<GenericClass> patch( |
| GenericClass request, |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/genericClass/' + |
| commons.escapeVariable('$resourceId'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'PATCH', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return GenericClass.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Updates the Generic class referenced by the given class ID. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 `-`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [GenericClass]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<GenericClass> update( |
| GenericClass request, |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/genericClass/' + |
| commons.escapeVariable('$resourceId'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'PUT', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return GenericClass.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| } |
| |
| class GenericobjectResource { |
| final commons.ApiRequester _requester; |
| |
| GenericobjectResource(commons.ApiRequester client) : _requester = client; |
| |
| /// Adds a message to the generic object referenced by the given object ID. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 '-'. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [GenericObjectAddMessageResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<GenericObjectAddMessageResponse> addmessage( |
| AddMessageRequest request, |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/genericObject/' + |
| commons.escapeVariable('$resourceId') + |
| '/addMessage'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return GenericObjectAddMessageResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Returns the generic object with the given object ID. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 `-`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [GenericObject]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<GenericObject> get( |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/genericObject/' + |
| commons.escapeVariable('$resourceId'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return GenericObject.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Inserts a generic object with the given ID and properties. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [GenericObject]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<GenericObject> insert( |
| GenericObject request, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| const url_ = 'walletobjects/v1/genericObject'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return GenericObject.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Returns a list of all generic objects for a given issuer ID. |
| /// |
| /// Request parameters: |
| /// |
| /// [classId] - The ID of the class whose objects will be listed. |
| /// |
| /// [maxResults] - Identifies the max number of results returned by a list. |
| /// All results are returned if `maxResults` isn't defined. |
| /// |
| /// [token] - 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. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [GenericObjectListResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<GenericObjectListResponse> list({ |
| core.String? classId, |
| core.int? maxResults, |
| core.String? token, |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'classId': ?classId == null ? null : [classId], |
| 'maxResults': ?maxResults == null ? null : ['${maxResults}'], |
| 'token': ?token == null ? null : [token], |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| const url_ = 'walletobjects/v1/genericObject'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return GenericObjectListResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Updates the generic object referenced by the given object ID. |
| /// |
| /// This method supports patch semantics. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 `-`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [GenericObject]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<GenericObject> patch( |
| GenericObject request, |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/genericObject/' + |
| commons.escapeVariable('$resourceId'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'PATCH', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return GenericObject.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Updates the generic object referenced by the given object ID. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 `-`. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [GenericObject]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<GenericObject> update( |
| GenericObject request, |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/genericObject/' + |
| commons.escapeVariable('$resourceId'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'PUT', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return GenericObject.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| } |
| |
| class GiftcardclassResource { |
| final commons.ApiRequester _requester; |
| |
| GiftcardclassResource(commons.ApiRequester client) : _requester = client; |
| |
| /// Adds a message to the gift card class referenced by the given class ID. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 '-'. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [GiftCardClassAddMessageResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<GiftCardClassAddMessageResponse> addmessage( |
| AddMessageRequest request, |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/giftCardClass/' + |
| commons.escapeVariable('$resourceId') + |
| '/addMessage'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return GiftCardClassAddMessageResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Returns the gift card class with the given class ID. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 '-'. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [GiftCardClass]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<GiftCardClass> get( |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/giftCardClass/' + |
| commons.escapeVariable('$resourceId'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return GiftCardClass.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Inserts an gift card class with the given ID and properties. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [GiftCardClass]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<GiftCardClass> insert( |
| GiftCardClass request, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| const url_ = 'walletobjects/v1/giftCardClass'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return GiftCardClass.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Returns a list of all gift card classes for a given issuer ID. |
| /// |
| /// Request parameters: |
| /// |
| /// [issuerId] - The ID of the issuer authorized to list classes. |
| /// |
| /// [maxResults] - Identifies the max number of results returned by a list. |
| /// All results are returned if `maxResults` isn't defined. |
| /// |
| /// [token] - 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. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [GiftCardClassListResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<GiftCardClassListResponse> list({ |
| core.String? issuerId, |
| core.int? maxResults, |
| core.String? token, |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'issuerId': ?issuerId == null ? null : [issuerId], |
| 'maxResults': ?maxResults == null ? null : ['${maxResults}'], |
| 'token': ?token == null ? null : [token], |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| const url_ = 'walletobjects/v1/giftCardClass'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return GiftCardClassListResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Updates the gift card class referenced by the given class ID. |
| /// |
| /// This method supports patch semantics. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 '-'. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [GiftCardClass]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<GiftCardClass> patch( |
| GiftCardClass request, |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/giftCardClass/' + |
| commons.escapeVariable('$resourceId'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'PATCH', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return GiftCardClass.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Updates the gift card class referenced by the given class ID. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 '-'. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [GiftCardClass]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<GiftCardClass> update( |
| GiftCardClass request, |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/giftCardClass/' + |
| commons.escapeVariable('$resourceId'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'PUT', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return GiftCardClass.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| } |
| |
| class GiftcardobjectResource { |
| final commons.ApiRequester _requester; |
| |
| GiftcardobjectResource(commons.ApiRequester client) : _requester = client; |
| |
| /// Adds a message to the gift card object referenced by the given object ID. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 '-'. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [GiftCardObjectAddMessageResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<GiftCardObjectAddMessageResponse> addmessage( |
| AddMessageRequest request, |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/giftCardObject/' + |
| commons.escapeVariable('$resourceId') + |
| '/addMessage'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return GiftCardObjectAddMessageResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Returns the gift card object with the given object ID. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 '-'. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [GiftCardObject]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<GiftCardObject> get( |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/giftCardObject/' + |
| commons.escapeVariable('$resourceId'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return GiftCardObject.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Inserts an gift card object with the given ID and properties. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [GiftCardObject]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<GiftCardObject> insert( |
| GiftCardObject request, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| const url_ = 'walletobjects/v1/giftCardObject'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return GiftCardObject.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Returns a list of all gift card objects for a given issuer ID. |
| /// |
| /// Request parameters: |
| /// |
| /// [classId] - The ID of the class whose objects will be listed. |
| /// |
| /// [maxResults] - Identifies the max number of results returned by a list. |
| /// All results are returned if `maxResults` isn't defined. |
| /// |
| /// [token] - 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. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [GiftCardObjectListResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<GiftCardObjectListResponse> list({ |
| core.String? classId, |
| core.int? maxResults, |
| core.String? token, |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'classId': ?classId == null ? null : [classId], |
| 'maxResults': ?maxResults == null ? null : ['${maxResults}'], |
| 'token': ?token == null ? null : [token], |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| const url_ = 'walletobjects/v1/giftCardObject'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return GiftCardObjectListResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Updates the gift card object referenced by the given object ID. |
| /// |
| /// This method supports patch semantics. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 '-'. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [GiftCardObject]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<GiftCardObject> patch( |
| GiftCardObject request, |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/giftCardObject/' + |
| commons.escapeVariable('$resourceId'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'PATCH', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return GiftCardObject.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Updates the gift card object referenced by the given object ID. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 '-'. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [GiftCardObject]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<GiftCardObject> update( |
| GiftCardObject request, |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/giftCardObject/' + |
| commons.escapeVariable('$resourceId'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'PUT', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return GiftCardObject.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| } |
| |
| class IssuerResource { |
| final commons.ApiRequester _requester; |
| |
| IssuerResource(commons.ApiRequester client) : _requester = client; |
| |
| /// Returns the issuer with the given issuer ID. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - The unique identifier for an issuer. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Issuer]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Issuer> get( |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/issuer/' + commons.escapeVariable('$resourceId'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return Issuer.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Inserts an issuer with the given ID and properties. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Issuer]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Issuer> insert(Issuer request, {core.String? $fields}) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| const url_ = 'walletobjects/v1/issuer'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Issuer.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Returns a list of all issuers shared to the caller. |
| /// |
| /// Request parameters: |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [IssuerListResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<IssuerListResponse> list({core.String? $fields}) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| const url_ = 'walletobjects/v1/issuer'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return IssuerListResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Updates the issuer referenced by the given issuer ID. |
| /// |
| /// This method supports patch semantics. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - The unique identifier for an issuer. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Issuer]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Issuer> patch( |
| Issuer request, |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/issuer/' + commons.escapeVariable('$resourceId'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'PATCH', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Issuer.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| |
| /// Updates the issuer referenced by the given issuer ID. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - The unique identifier for an issuer. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Issuer]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Issuer> update( |
| Issuer request, |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/issuer/' + commons.escapeVariable('$resourceId'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'PUT', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Issuer.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| } |
| |
| class JwtResource_1 { |
| final commons.ApiRequester _requester; |
| |
| JwtResource_1(commons.ApiRequester client) : _requester = client; |
| |
| /// Inserts the resources in the JWT. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [JwtInsertResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<JwtInsertResponse> insert( |
| JwtResource request, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| const url_ = 'walletobjects/v1/jwt'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return JwtInsertResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| } |
| |
| class LoyaltyclassResource { |
| final commons.ApiRequester _requester; |
| |
| LoyaltyclassResource(commons.ApiRequester client) : _requester = client; |
| |
| /// Adds a message to the loyalty class referenced by the given class ID. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 '-'. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [LoyaltyClassAddMessageResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<LoyaltyClassAddMessageResponse> addmessage( |
| AddMessageRequest request, |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/loyaltyClass/' + |
| commons.escapeVariable('$resourceId') + |
| '/addMessage'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return LoyaltyClassAddMessageResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Returns the loyalty class with the given class ID. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 '-'. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [LoyaltyClass]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<LoyaltyClass> get( |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/loyaltyClass/' + |
| commons.escapeVariable('$resourceId'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return LoyaltyClass.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Inserts an loyalty class with the given ID and properties. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [LoyaltyClass]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<LoyaltyClass> insert( |
| LoyaltyClass request, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| const url_ = 'walletobjects/v1/loyaltyClass'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return LoyaltyClass.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Returns a list of all loyalty classes for a given issuer ID. |
| /// |
| /// Request parameters: |
| /// |
| /// [issuerId] - The ID of the issuer authorized to list classes. |
| /// |
| /// [maxResults] - Identifies the max number of results returned by a list. |
| /// All results are returned if `maxResults` isn't defined. |
| /// |
| /// [token] - 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. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [LoyaltyClassListResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<LoyaltyClassListResponse> list({ |
| core.String? issuerId, |
| core.int? maxResults, |
| core.String? token, |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'issuerId': ?issuerId == null ? null : [issuerId], |
| 'maxResults': ?maxResults == null ? null : ['${maxResults}'], |
| 'token': ?token == null ? null : [token], |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| const url_ = 'walletobjects/v1/loyaltyClass'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return LoyaltyClassListResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Updates the loyalty class referenced by the given class ID. |
| /// |
| /// This method supports patch semantics. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 '-'. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [LoyaltyClass]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<LoyaltyClass> patch( |
| LoyaltyClass request, |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/loyaltyClass/' + |
| commons.escapeVariable('$resourceId'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'PATCH', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return LoyaltyClass.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Updates the loyalty class referenced by the given class ID. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 '-'. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [LoyaltyClass]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<LoyaltyClass> update( |
| LoyaltyClass request, |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/loyaltyClass/' + |
| commons.escapeVariable('$resourceId'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'PUT', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return LoyaltyClass.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| } |
| |
| class LoyaltyobjectResource { |
| final commons.ApiRequester _requester; |
| |
| LoyaltyobjectResource(commons.ApiRequester client) : _requester = client; |
| |
| /// Adds a message to the loyalty object referenced by the given object ID. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 '-'. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [LoyaltyObjectAddMessageResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<LoyaltyObjectAddMessageResponse> addmessage( |
| AddMessageRequest request, |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/loyaltyObject/' + |
| commons.escapeVariable('$resourceId') + |
| '/addMessage'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return LoyaltyObjectAddMessageResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Returns the loyalty object with the given object ID. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 '-'. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [LoyaltyObject]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<LoyaltyObject> get( |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/loyaltyObject/' + |
| commons.escapeVariable('$resourceId'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return LoyaltyObject.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Inserts an loyalty object with the given ID and properties. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [LoyaltyObject]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<LoyaltyObject> insert( |
| LoyaltyObject request, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| const url_ = 'walletobjects/v1/loyaltyObject'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return LoyaltyObject.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Returns a list of all loyalty objects for a given issuer ID. |
| /// |
| /// Request parameters: |
| /// |
| /// [classId] - The ID of the class whose objects will be listed. |
| /// |
| /// [maxResults] - Identifies the max number of results returned by a list. |
| /// All results are returned if `maxResults` isn't defined. |
| /// |
| /// [token] - 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. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [LoyaltyObjectListResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<LoyaltyObjectListResponse> list({ |
| core.String? classId, |
| core.int? maxResults, |
| core.String? token, |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'classId': ?classId == null ? null : [classId], |
| 'maxResults': ?maxResults == null ? null : ['${maxResults}'], |
| 'token': ?token == null ? null : [token], |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| const url_ = 'walletobjects/v1/loyaltyObject'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return LoyaltyObjectListResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Deprecated: Use Auto Linked Passes instead. |
| /// |
| /// Modifies linked offer objects for the loyalty object with the given ID. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 '-'. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [LoyaltyObject]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| async.Future<LoyaltyObject> modifylinkedofferobjects( |
| ModifyLinkedOfferObjectsRequest request, |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/loyaltyObject/' + |
| commons.escapeVariable('$resourceId') + |
| '/modifyLinkedOfferObjects'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return LoyaltyObject.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Updates the loyalty object referenced by the given object ID. |
| /// |
| /// This method supports patch semantics. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 '-'. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [LoyaltyObject]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<LoyaltyObject> patch( |
| LoyaltyObject request, |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/loyaltyObject/' + |
| commons.escapeVariable('$resourceId'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'PATCH', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return LoyaltyObject.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Updates the loyalty object referenced by the given object ID. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 '-'. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [LoyaltyObject]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<LoyaltyObject> update( |
| LoyaltyObject request, |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/loyaltyObject/' + |
| commons.escapeVariable('$resourceId'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'PUT', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return LoyaltyObject.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| } |
| |
| class MediaResource { |
| final commons.ApiRequester _requester; |
| |
| MediaResource(commons.ApiRequester client) : _requester = client; |
| |
| /// Downloads rotating barcode values for the transit object referenced by the |
| /// given object ID. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 '-'. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// [downloadOptions] - Options for downloading. A download can be either a |
| /// Metadata (default) or Media download. Partial Media downloads are possible |
| /// as well. |
| /// |
| /// Completes with a |
| /// |
| /// - [Media] for Metadata downloads (see [downloadOptions]). |
| /// |
| /// - [commons.Media] for Media downloads (see [downloadOptions]). |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<core.Object> download( |
| core.String resourceId, { |
| core.String? $fields, |
| commons.DownloadOptions downloadOptions = commons.DownloadOptions.metadata, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/transitObject/' + |
| commons.escapeVariable('$resourceId') + |
| '/downloadRotatingBarcodeValues'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| downloadOptions: downloadOptions, |
| ); |
| if (downloadOptions.isMetadataDownload) { |
| return Media.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } else { |
| return response_ as commons.Media; |
| } |
| } |
| |
| /// 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. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 '-'. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// [uploadMedia] - The media to upload. |
| /// |
| /// Completes with a [TransitObjectUploadRotatingBarcodeValuesResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<TransitObjectUploadRotatingBarcodeValuesResponse> upload( |
| TransitObjectUploadRotatingBarcodeValuesRequest request, |
| core.String resourceId, { |
| core.String? $fields, |
| commons.Media? uploadMedia, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| core.String url_; |
| if (uploadMedia == null) { |
| url_ = |
| 'walletobjects/v1/transitObject/' + |
| commons.escapeVariable('$resourceId') + |
| '/uploadRotatingBarcodeValues'; |
| } else { |
| url_ = |
| '/upload/walletobjects/v1/transitObject/' + |
| commons.escapeVariable('$resourceId') + |
| '/uploadRotatingBarcodeValues'; |
| } |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| uploadMedia: uploadMedia, |
| uploadOptions: commons.UploadOptions.defaultOptions, |
| ); |
| return TransitObjectUploadRotatingBarcodeValuesResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| } |
| |
| class OfferclassResource { |
| final commons.ApiRequester _requester; |
| |
| OfferclassResource(commons.ApiRequester client) : _requester = client; |
| |
| /// Adds a message to the offer class referenced by the given class ID. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 '-'. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [OfferClassAddMessageResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<OfferClassAddMessageResponse> addmessage( |
| AddMessageRequest request, |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/offerClass/' + |
| commons.escapeVariable('$resourceId') + |
| '/addMessage'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return OfferClassAddMessageResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Returns the offer class with the given class ID. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 '-'. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [OfferClass]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<OfferClass> get( |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/offerClass/' + commons.escapeVariable('$resourceId'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return OfferClass.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Inserts an offer class with the given ID and properties. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [OfferClass]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<OfferClass> insert( |
| OfferClass request, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| const url_ = 'walletobjects/v1/offerClass'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return OfferClass.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Returns a list of all offer classes for a given issuer ID. |
| /// |
| /// Request parameters: |
| /// |
| /// [issuerId] - The ID of the issuer authorized to list classes. |
| /// |
| /// [maxResults] - Identifies the max number of results returned by a list. |
| /// All results are returned if `maxResults` isn't defined. |
| /// |
| /// [token] - 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. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [OfferClassListResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<OfferClassListResponse> list({ |
| core.String? issuerId, |
| core.int? maxResults, |
| core.String? token, |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'issuerId': ?issuerId == null ? null : [issuerId], |
| 'maxResults': ?maxResults == null ? null : ['${maxResults}'], |
| 'token': ?token == null ? null : [token], |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| const url_ = 'walletobjects/v1/offerClass'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return OfferClassListResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Updates the offer class referenced by the given class ID. |
| /// |
| /// This method supports patch semantics. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 '-'. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [OfferClass]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<OfferClass> patch( |
| OfferClass request, |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/offerClass/' + commons.escapeVariable('$resourceId'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'PATCH', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return OfferClass.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Updates the offer class referenced by the given class ID. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 '-'. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [OfferClass]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<OfferClass> update( |
| OfferClass request, |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/offerClass/' + commons.escapeVariable('$resourceId'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'PUT', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return OfferClass.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| } |
| |
| class OfferobjectResource { |
| final commons.ApiRequester _requester; |
| |
| OfferobjectResource(commons.ApiRequester client) : _requester = client; |
| |
| /// Adds a message to the offer object referenced by the given object ID. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 '-'. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [OfferObjectAddMessageResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<OfferObjectAddMessageResponse> addmessage( |
| AddMessageRequest request, |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/offerObject/' + |
| commons.escapeVariable('$resourceId') + |
| '/addMessage'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return OfferObjectAddMessageResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Returns the offer object with the given object ID. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 '-'. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [OfferObject]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<OfferObject> get( |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/offerObject/' + commons.escapeVariable('$resourceId'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return OfferObject.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Inserts an offer object with the given ID and properties. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [OfferObject]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<OfferObject> insert( |
| OfferObject request, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| const url_ = 'walletobjects/v1/offerObject'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return OfferObject.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Returns a list of all offer objects for a given issuer ID. |
| /// |
| /// Request parameters: |
| /// |
| /// [classId] - The ID of the class whose objects will be listed. |
| /// |
| /// [maxResults] - Identifies the max number of results returned by a list. |
| /// All results are returned if `maxResults` isn't defined. |
| /// |
| /// [token] - 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. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [OfferObjectListResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<OfferObjectListResponse> list({ |
| core.String? classId, |
| core.int? maxResults, |
| core.String? token, |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'classId': ?classId == null ? null : [classId], |
| 'maxResults': ?maxResults == null ? null : ['${maxResults}'], |
| 'token': ?token == null ? null : [token], |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| const url_ = 'walletobjects/v1/offerObject'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return OfferObjectListResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Updates the offer object referenced by the given object ID. |
| /// |
| /// This method supports patch semantics. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 '-'. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [OfferObject]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<OfferObject> patch( |
| OfferObject request, |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/offerObject/' + commons.escapeVariable('$resourceId'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'PATCH', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return OfferObject.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Updates the offer object referenced by the given object ID. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 '-'. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [OfferObject]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<OfferObject> update( |
| OfferObject request, |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/offerObject/' + commons.escapeVariable('$resourceId'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'PUT', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return OfferObject.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| } |
| |
| class PermissionsResource { |
| final commons.ApiRequester _requester; |
| |
| PermissionsResource(commons.ApiRequester client) : _requester = client; |
| |
| /// Returns the permissions for the given issuer id. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - The unique identifier for an issuer. This ID must be unique |
| /// across all issuers. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Permissions]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Permissions> get( |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/permissions/' + commons.escapeVariable('$resourceId'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return Permissions.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Updates the permissions for the given issuer. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - The unique identifier for an issuer. This ID must be unique |
| /// across all issuers. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [Permissions]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<Permissions> update( |
| Permissions request, |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/permissions/' + commons.escapeVariable('$resourceId'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'PUT', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return Permissions.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| } |
| |
| class SmarttapResource { |
| final commons.ApiRequester _requester; |
| |
| SmarttapResource(commons.ApiRequester client) : _requester = client; |
| |
| /// Inserts the smart tap. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [SmartTap]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<SmartTap> insert( |
| SmartTap request, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| const url_ = 'walletobjects/v1/smartTap'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return SmartTap.fromJson(response_ as core.Map<core.String, core.dynamic>); |
| } |
| } |
| |
| class TransitclassResource { |
| final commons.ApiRequester _requester; |
| |
| TransitclassResource(commons.ApiRequester client) : _requester = client; |
| |
| /// Adds a message to the transit class referenced by the given class ID. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 '-'. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [TransitClassAddMessageResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<TransitClassAddMessageResponse> addmessage( |
| AddMessageRequest request, |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/transitClass/' + |
| commons.escapeVariable('$resourceId') + |
| '/addMessage'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return TransitClassAddMessageResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Returns the transit class with the given class ID. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 '-'. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [TransitClass]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<TransitClass> get( |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/transitClass/' + |
| commons.escapeVariable('$resourceId'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return TransitClass.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Inserts a transit class with the given ID and properties. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [TransitClass]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<TransitClass> insert( |
| TransitClass request, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| const url_ = 'walletobjects/v1/transitClass'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return TransitClass.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Returns a list of all transit classes for a given issuer ID. |
| /// |
| /// Request parameters: |
| /// |
| /// [issuerId] - The ID of the issuer authorized to list classes. |
| /// |
| /// [maxResults] - Identifies the max number of results returned by a list. |
| /// All results are returned if `maxResults` isn't defined. |
| /// |
| /// [token] - 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. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [TransitClassListResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<TransitClassListResponse> list({ |
| core.String? issuerId, |
| core.int? maxResults, |
| core.String? token, |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'issuerId': ?issuerId == null ? null : [issuerId], |
| 'maxResults': ?maxResults == null ? null : ['${maxResults}'], |
| 'token': ?token == null ? null : [token], |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| const url_ = 'walletobjects/v1/transitClass'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return TransitClassListResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Updates the transit class referenced by the given class ID. |
| /// |
| /// This method supports patch semantics. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 '-'. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [TransitClass]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<TransitClass> patch( |
| TransitClass request, |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/transitClass/' + |
| commons.escapeVariable('$resourceId'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'PATCH', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return TransitClass.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Updates the transit class referenced by the given class ID. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 '-'. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [TransitClass]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<TransitClass> update( |
| TransitClass request, |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/transitClass/' + |
| commons.escapeVariable('$resourceId'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'PUT', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return TransitClass.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| } |
| |
| class TransitobjectResource { |
| final commons.ApiRequester _requester; |
| |
| TransitobjectResource(commons.ApiRequester client) : _requester = client; |
| |
| /// Adds a message to the transit object referenced by the given object ID. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 '-'. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [TransitObjectAddMessageResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<TransitObjectAddMessageResponse> addmessage( |
| AddMessageRequest request, |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/transitObject/' + |
| commons.escapeVariable('$resourceId') + |
| '/addMessage'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return TransitObjectAddMessageResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Returns the transit object with the given object ID. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 '-'. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [TransitObject]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<TransitObject> get( |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/transitObject/' + |
| commons.escapeVariable('$resourceId'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return TransitObject.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Inserts an transit object with the given ID and properties. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [TransitObject]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<TransitObject> insert( |
| TransitObject request, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| const url_ = 'walletobjects/v1/transitObject'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return TransitObject.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Returns a list of all transit objects for a given issuer ID. |
| /// |
| /// Request parameters: |
| /// |
| /// [classId] - The ID of the class whose objects will be listed. |
| /// |
| /// [maxResults] - Identifies the max number of results returned by a list. |
| /// All results are returned if `maxResults` isn't defined. |
| /// |
| /// [token] - 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. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [TransitObjectListResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<TransitObjectListResponse> list({ |
| core.String? classId, |
| core.int? maxResults, |
| core.String? token, |
| core.String? $fields, |
| }) async { |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'classId': ?classId == null ? null : [classId], |
| 'maxResults': ?maxResults == null ? null : ['${maxResults}'], |
| 'token': ?token == null ? null : [token], |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| const url_ = 'walletobjects/v1/transitObject'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'GET', |
| queryParams: queryParams_, |
| ); |
| return TransitObjectListResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Updates the transit object referenced by the given object ID. |
| /// |
| /// This method supports patch semantics. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 '-'. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [TransitObject]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<TransitObject> patch( |
| TransitObject request, |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/transitObject/' + |
| commons.escapeVariable('$resourceId'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'PATCH', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return TransitObject.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| |
| /// Updates the transit object referenced by the given object ID. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [resourceId] - 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 '-'. |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [TransitObject]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<TransitObject> update( |
| TransitObject request, |
| core.String resourceId, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| final url_ = |
| 'walletobjects/v1/transitObject/' + |
| commons.escapeVariable('$resourceId'); |
| |
| final response_ = await _requester.request( |
| url_, |
| 'PUT', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return TransitObject.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| } |
| |
| class WalletobjectsResource { |
| final commons.ApiRequester _requester; |
| |
| WalletobjectsV1Resource get v1 => WalletobjectsV1Resource(_requester); |
| |
| WalletobjectsResource(commons.ApiRequester client) : _requester = client; |
| } |
| |
| class WalletobjectsV1Resource { |
| final commons.ApiRequester _requester; |
| |
| WalletobjectsV1PrivateContentResource get privateContent => |
| WalletobjectsV1PrivateContentResource(_requester); |
| |
| WalletobjectsV1Resource(commons.ApiRequester client) : _requester = client; |
| } |
| |
| class WalletobjectsV1PrivateContentResource { |
| final commons.ApiRequester _requester; |
| |
| WalletobjectsV1PrivateContentResource(commons.ApiRequester client) |
| : _requester = client; |
| |
| /// 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. |
| /// |
| /// [request] - The metadata request object. |
| /// |
| /// Request parameters: |
| /// |
| /// [$fields] - Selector specifying which fields to include in a partial |
| /// response. |
| /// |
| /// Completes with a [SetPassUpdateNoticeResponse]. |
| /// |
| /// Completes with a [commons.ApiRequestError] if the API endpoint returned an |
| /// error. |
| /// |
| /// If the used [http.Client] completes with an error when making a REST call, |
| /// this method will complete with the same error. |
| async.Future<SetPassUpdateNoticeResponse> setPassUpdateNotice( |
| SetPassUpdateNoticeRequest request, { |
| core.String? $fields, |
| }) async { |
| final body_ = convert.json.encode(request); |
| final queryParams_ = <core.String, core.List<core.String>>{ |
| 'fields': ?$fields == null ? null : [$fields], |
| }; |
| |
| const url_ = 'walletobjects/v1/privateContent/setPassUpdateNotice'; |
| |
| final response_ = await _requester.request( |
| url_, |
| 'POST', |
| body: body_, |
| queryParams: queryParams_, |
| ); |
| return SetPassUpdateNoticeResponse.fromJson( |
| response_ as core.Map<core.String, core.dynamic>, |
| ); |
| } |
| } |
| |
| /// ActivationOptions for the class |
| class ActivationOptions { |
| /// HTTPS URL that supports REST semantics. |
| /// |
| /// Would be used for requesting activation from partners for given valuable, |
| /// triggered by the users. |
| core.String? activationUrl; |
| |
| /// 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. |
| core.bool? allowReactivation; |
| |
| ActivationOptions({this.activationUrl, this.allowReactivation}); |
| |
| ActivationOptions.fromJson(core.Map json_) |
| : this( |
| activationUrl: json_['activationUrl'] as core.String?, |
| allowReactivation: json_['allowReactivation'] as core.bool?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final activationUrl = this.activationUrl; |
| final allowReactivation = this.allowReactivation; |
| return { |
| 'activationUrl': ?activationUrl, |
| 'allowReactivation': ?allowReactivation, |
| }; |
| } |
| } |
| |
| /// The activation status of the object. |
| /// |
| /// This field includes activation status if valuable supports activation. |
| class ActivationStatus { |
| /// |
| /// Possible string values are: |
| /// - "UNKNOWN_STATE" |
| /// - "NOT_ACTIVATED" : Not-Activated, this is the default status |
| /// - "not_activated" : Legacy alias for `NOT_ACTIVATED`. Deprecated. |
| /// - "ACTIVATED" : Activated |
| /// - "activated" : Legacy alias for `ACTIVATED`. Deprecated. |
| core.String? state; |
| |
| ActivationStatus({this.state}); |
| |
| ActivationStatus.fromJson(core.Map json_) |
| : this(state: json_['state'] as core.String?); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final state = this.state; |
| return {'state': ?state}; |
| } |
| } |
| |
| /// Resource used when the AddMessage endpoints are called. |
| class AddMessageRequest { |
| Message? message; |
| |
| AddMessageRequest({this.message}); |
| |
| AddMessageRequest.fromJson(core.Map json_) |
| : this( |
| message: json_.containsKey('message') |
| ? Message.fromJson( |
| json_['message'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final message = this.message; |
| return {'message': ?message}; |
| } |
| } |
| |
| class AirportInfo { |
| /// Three character IATA airport code. |
| /// |
| /// This is a required field for `origin` and `destination`. Eg: "SFO" |
| core.String? airportIataCode; |
| |
| /// 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. |
| LocalizedString? airportNameOverride; |
| |
| /// A name of the gate. |
| /// |
| /// Eg: "B59" or "59" |
| core.String? gate; |
| |
| /// Identifies what kind of resource this is. |
| /// |
| /// Value: the fixed string `"walletobjects#airportInfo"`. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.String? kind; |
| |
| /// Terminal name. |
| /// |
| /// Eg: "INTL" or "I" |
| core.String? terminal; |
| |
| AirportInfo({ |
| this.airportIataCode, |
| this.airportNameOverride, |
| this.gate, |
| this.kind, |
| this.terminal, |
| }); |
| |
| AirportInfo.fromJson(core.Map json_) |
| : this( |
| airportIataCode: json_['airportIataCode'] as core.String?, |
| airportNameOverride: json_.containsKey('airportNameOverride') |
| ? LocalizedString.fromJson( |
| json_['airportNameOverride'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| gate: json_['gate'] as core.String?, |
| kind: json_['kind'] as core.String?, |
| terminal: json_['terminal'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final airportIataCode = this.airportIataCode; |
| final airportNameOverride = this.airportNameOverride; |
| final gate = this.gate; |
| final kind = this.kind; |
| final terminal = this.terminal; |
| return { |
| 'airportIataCode': ?airportIataCode, |
| 'airportNameOverride': ?airportNameOverride, |
| 'gate': ?gate, |
| 'kind': ?kind, |
| 'terminal': ?terminal, |
| }; |
| } |
| } |
| |
| class AppLinkData { |
| /// Optional information about the partner app link. |
| AppLinkDataAppLinkInfo? androidAppLinkInfo; |
| |
| /// Optional display text for the app link button. |
| /// |
| /// Character limit is 30. |
| LocalizedString? displayText; |
| |
| /// Links to open iOS apps are not supported. |
| /// |
| /// Deprecated. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| AppLinkDataAppLinkInfo? iosAppLinkInfo; |
| |
| /// Optional information about the partner web link. |
| AppLinkDataAppLinkInfo? webAppLinkInfo; |
| |
| AppLinkData({ |
| this.androidAppLinkInfo, |
| this.displayText, |
| this.iosAppLinkInfo, |
| this.webAppLinkInfo, |
| }); |
| |
| AppLinkData.fromJson(core.Map json_) |
| : this( |
| androidAppLinkInfo: json_.containsKey('androidAppLinkInfo') |
| ? AppLinkDataAppLinkInfo.fromJson( |
| json_['androidAppLinkInfo'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| displayText: json_.containsKey('displayText') |
| ? LocalizedString.fromJson( |
| json_['displayText'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| iosAppLinkInfo: json_.containsKey('iosAppLinkInfo') |
| ? AppLinkDataAppLinkInfo.fromJson( |
| json_['iosAppLinkInfo'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| webAppLinkInfo: json_.containsKey('webAppLinkInfo') |
| ? AppLinkDataAppLinkInfo.fromJson( |
| json_['webAppLinkInfo'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final androidAppLinkInfo = this.androidAppLinkInfo; |
| final displayText = this.displayText; |
| final iosAppLinkInfo = this.iosAppLinkInfo; |
| final webAppLinkInfo = this.webAppLinkInfo; |
| return { |
| 'androidAppLinkInfo': ?androidAppLinkInfo, |
| 'displayText': ?displayText, |
| 'iosAppLinkInfo': ?iosAppLinkInfo, |
| 'webAppLinkInfo': ?webAppLinkInfo, |
| }; |
| } |
| } |
| |
| class AppLinkDataAppLinkInfo { |
| /// Image isn't supported in the app link module. |
| /// |
| /// Deprecated. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| Image? appLogoImage; |
| |
| /// Target to follow when opening the app link on clients. |
| /// |
| /// It will be used by partners to open their app or webpage. |
| AppLinkDataAppLinkInfoAppTarget? appTarget; |
| |
| /// Description isn't supported in the app link module. |
| /// |
| /// Deprecated. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| LocalizedString? description; |
| |
| /// Title isn't supported in the app link module. |
| /// |
| /// Deprecated. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| LocalizedString? title; |
| |
| AppLinkDataAppLinkInfo({ |
| this.appLogoImage, |
| this.appTarget, |
| this.description, |
| this.title, |
| }); |
| |
| AppLinkDataAppLinkInfo.fromJson(core.Map json_) |
| : this( |
| appLogoImage: json_.containsKey('appLogoImage') |
| ? Image.fromJson( |
| json_['appLogoImage'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| appTarget: json_.containsKey('appTarget') |
| ? AppLinkDataAppLinkInfoAppTarget.fromJson( |
| json_['appTarget'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| description: json_.containsKey('description') |
| ? LocalizedString.fromJson( |
| json_['description'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| title: json_.containsKey('title') |
| ? LocalizedString.fromJson( |
| json_['title'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final appLogoImage = this.appLogoImage; |
| final appTarget = this.appTarget; |
| final description = this.description; |
| final title = this.title; |
| return { |
| 'appLogoImage': ?appLogoImage, |
| 'appTarget': ?appTarget, |
| 'description': ?description, |
| 'title': ?title, |
| }; |
| } |
| } |
| |
| class AppLinkDataAppLinkInfoAppTarget { |
| /// Package name for AppTarget. |
| /// |
| /// For example: com.google.android.gm |
| core.String? packageName; |
| |
| /// URI for AppTarget. |
| /// |
| /// The description on the URI must be set. Prefer setting package field |
| /// instead, if this target is defined for your application. |
| Uri? targetUri; |
| |
| AppLinkDataAppLinkInfoAppTarget({this.packageName, this.targetUri}); |
| |
| AppLinkDataAppLinkInfoAppTarget.fromJson(core.Map json_) |
| : this( |
| packageName: json_['packageName'] as core.String?, |
| targetUri: json_.containsKey('targetUri') |
| ? Uri.fromJson( |
| json_['targetUri'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final packageName = this.packageName; |
| final targetUri = this.targetUri; |
| return {'packageName': ?packageName, 'targetUri': ?targetUri}; |
| } |
| } |
| |
| class AuthenticationKey { |
| /// Available only to Smart Tap enabled partners. |
| /// |
| /// Contact support for additional guidance. |
| core.int? id; |
| |
| /// Available only to Smart Tap enabled partners. |
| /// |
| /// Contact support for additional guidance. |
| core.String? publicKeyPem; |
| |
| AuthenticationKey({this.id, this.publicKeyPem}); |
| |
| AuthenticationKey.fromJson(core.Map json_) |
| : this( |
| id: json_['id'] as core.int?, |
| publicKeyPem: json_['publicKeyPem'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final id = this.id; |
| final publicKeyPem = this.publicKeyPem; |
| return {'id': ?id, 'publicKeyPem': ?publicKeyPem}; |
| } |
| } |
| |
| class Barcode { |
| /// 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. |
| core.String? alternateText; |
| |
| /// Identifies what kind of resource this is. |
| /// |
| /// Value: the fixed string `"walletobjects#barcode"`. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.String? kind; |
| |
| /// The render encoding for the barcode. |
| /// |
| /// When specified, barcode is rendered in the given encoding. Otherwise best |
| /// known encoding is chosen by Google. |
| /// Possible string values are: |
| /// - "RENDER_ENCODING_UNSPECIFIED" |
| /// - "UTF_8" : UTF_8 encoding for barcodes. This is only supported for |
| /// barcode type qrCode. |
| core.String? renderEncoding; |
| |
| /// 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. |
| LocalizedString? showCodeText; |
| |
| /// The type of barcode. |
| /// Possible string values are: |
| /// - "BARCODE_TYPE_UNSPECIFIED" |
| /// - "AZTEC" : Not supported for Rotating Barcodes. |
| /// - "aztec" : Legacy alias for `AZTEC`. Deprecated. Not supported for |
| /// Rotating Barcodes. |
| /// - "CODE_39" : Not supported for Rotating Barcodes. |
| /// - "code39" : Legacy alias for `CODE_39`. Deprecated. Not supported for |
| /// Rotating Barcodes. |
| /// - "CODE_128" : Not supported for Rotating Barcodes. |
| /// - "code128" : Legacy alias for `CODE_128`. Deprecated. Not supported for |
| /// Rotating Barcodes. |
| /// - "CODABAR" : Not supported for Rotating Barcodes. |
| /// - "codabar" : Legacy alias for `CODABAR`. Deprecated. Not supported for |
| /// Rotating Barcodes. |
| /// - "DATA_MATRIX" : 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. |
| /// - "dataMatrix" : Legacy alias for `DATA_MATRIX`. Deprecated. Not supported |
| /// for Rotating Barcodes. |
| /// - "EAN_8" : Not supported for Rotating Barcodes. |
| /// - "ean8" : Legacy alias for `EAN_8`. Deprecated. Not supported for |
| /// Rotating Barcodes. |
| /// - "EAN_13" : Not supported for Rotating Barcodes. |
| /// - "ean13" : Legacy alias for `EAN_13`. Deprecated. Not supported for |
| /// Rotating Barcodes. |
| /// - "EAN13" : Legacy alias for `EAN_13`. Deprecated. Not supported for |
| /// Rotating Barcodes. |
| /// - "ITF_14" : 14 digit ITF code Not supported for Rotating Barcodes. |
| /// - "itf14" : Legacy alias for `ITF_14`. Deprecated. Not supported for |
| /// Rotating Barcodes. |
| /// - "PDF_417" : Supported for Rotating Barcodes. |
| /// - "pdf417" : Legacy alias for `PDF_417`. Deprecated. |
| /// - "PDF417" : Legacy alias for `PDF_417`. Deprecated. |
| /// - "QR_CODE" : Supported for Rotating Barcodes. |
| /// - "qrCode" : Legacy alias for `QR_CODE`. Deprecated. |
| /// - "qrcode" : Legacy alias for `QR_CODE`. Deprecated. |
| /// - "UPC_A" : 11 or 12 digit codes Not supported for Rotating Barcodes. |
| /// - "upcA" : Legacy alias for `UPC_A`. Deprecated. Not supported for |
| /// Rotating Barcodes. |
| /// - "TEXT_ONLY" : 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. |
| /// - "textOnly" : Legacy alias for `TEXT_ONLY`. Deprecated. Not supported for |
| /// Rotating Barcodes. |
| core.String? type; |
| |
| /// The value encoded in the barcode. |
| core.String? value; |
| |
| Barcode({ |
| this.alternateText, |
| this.kind, |
| this.renderEncoding, |
| this.showCodeText, |
| this.type, |
| this.value, |
| }); |
| |
| Barcode.fromJson(core.Map json_) |
| : this( |
| alternateText: json_['alternateText'] as core.String?, |
| kind: json_['kind'] as core.String?, |
| renderEncoding: json_['renderEncoding'] as core.String?, |
| showCodeText: json_.containsKey('showCodeText') |
| ? LocalizedString.fromJson( |
| json_['showCodeText'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| type: json_['type'] as core.String?, |
| value: json_['value'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final alternateText = this.alternateText; |
| final kind = this.kind; |
| final renderEncoding = this.renderEncoding; |
| final showCodeText = this.showCodeText; |
| final type = this.type; |
| final value = this.value; |
| return { |
| 'alternateText': ?alternateText, |
| 'kind': ?kind, |
| 'renderEncoding': ?renderEncoding, |
| 'showCodeText': ?showCodeText, |
| 'type': ?type, |
| 'value': ?value, |
| }; |
| } |
| } |
| |
| class BarcodeSectionDetail { |
| /// A reference to an existing text-based or image field to display. |
| FieldSelector? fieldSelector; |
| |
| BarcodeSectionDetail({this.fieldSelector}); |
| |
| BarcodeSectionDetail.fromJson(core.Map json_) |
| : this( |
| fieldSelector: json_.containsKey('fieldSelector') |
| ? FieldSelector.fromJson( |
| json_['fieldSelector'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final fieldSelector = this.fieldSelector; |
| return {'fieldSelector': ?fieldSelector}; |
| } |
| } |
| |
| /// Information to read/write to blobstore2. |
| typedef Blobstore2Info = $Blobstore2Info; |
| |
| class BoardingAndSeatingInfo { |
| /// 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. |
| /// Possible string values are: |
| /// - "BOARDING_DOOR_UNSPECIFIED" |
| /// - "FRONT" |
| /// - "front" : Legacy alias for `FRONT`. Deprecated. |
| /// - "BACK" |
| /// - "back" : Legacy alias for `BACK`. Deprecated. |
| core.String? boardingDoor; |
| |
| /// 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. |
| core.String? boardingGroup; |
| |
| /// The value of boarding position. |
| /// |
| /// eg: "76" |
| core.String? boardingPosition; |
| |
| /// 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. |
| Image? boardingPrivilegeImage; |
| |
| /// Identifies what kind of resource this is. |
| /// |
| /// Value: the fixed string `"walletobjects#boardingAndSeatingInfo"`. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.String? kind; |
| |
| /// The passenger's seat assignment. |
| /// |
| /// To be used when there is no specific identifier to use in `seatNumber`. |
| /// eg: "assigned at gate" |
| LocalizedString? seatAssignment; |
| |
| /// The value of the seat class. |
| /// |
| /// eg: "Economy" or "Economy Plus" |
| core.String? seatClass; |
| |
| /// The value of passenger seat. |
| /// |
| /// If there is no specific identifier, use `seatAssignment` instead. eg: |
| /// "25A" |
| core.String? seatNumber; |
| |
| /// 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" |
| core.String? sequenceNumber; |
| |
| BoardingAndSeatingInfo({ |
| this.boardingDoor, |
| this.boardingGroup, |
| this.boardingPosition, |
| this.boardingPrivilegeImage, |
| this.kind, |
| this.seatAssignment, |
| this.seatClass, |
| this.seatNumber, |
| this.sequenceNumber, |
| }); |
| |
| BoardingAndSeatingInfo.fromJson(core.Map json_) |
| : this( |
| boardingDoor: json_['boardingDoor'] as core.String?, |
| boardingGroup: json_['boardingGroup'] as core.String?, |
| boardingPosition: json_['boardingPosition'] as core.String?, |
| boardingPrivilegeImage: json_.containsKey('boardingPrivilegeImage') |
| ? Image.fromJson( |
| json_['boardingPrivilegeImage'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| kind: json_['kind'] as core.String?, |
| seatAssignment: json_.containsKey('seatAssignment') |
| ? LocalizedString.fromJson( |
| json_['seatAssignment'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| seatClass: json_['seatClass'] as core.String?, |
| seatNumber: json_['seatNumber'] as core.String?, |
| sequenceNumber: json_['sequenceNumber'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final boardingDoor = this.boardingDoor; |
| final boardingGroup = this.boardingGroup; |
| final boardingPosition = this.boardingPosition; |
| final boardingPrivilegeImage = this.boardingPrivilegeImage; |
| final kind = this.kind; |
| final seatAssignment = this.seatAssignment; |
| final seatClass = this.seatClass; |
| final seatNumber = this.seatNumber; |
| final sequenceNumber = this.sequenceNumber; |
| return { |
| 'boardingDoor': ?boardingDoor, |
| 'boardingGroup': ?boardingGroup, |
| 'boardingPosition': ?boardingPosition, |
| 'boardingPrivilegeImage': ?boardingPrivilegeImage, |
| 'kind': ?kind, |
| 'seatAssignment': ?seatAssignment, |
| 'seatClass': ?seatClass, |
| 'seatNumber': ?seatNumber, |
| 'sequenceNumber': ?sequenceNumber, |
| }; |
| } |
| } |
| |
| class BoardingAndSeatingPolicy { |
| /// Indicates the policy the airline uses for boarding. |
| /// |
| /// If unset, Google will default to `zoneBased`. |
| /// Possible string values are: |
| /// - "BOARDING_POLICY_UNSPECIFIED" |
| /// - "ZONE_BASED" |
| /// - "zoneBased" : Legacy alias for `ZONE_BASED`. Deprecated. |
| /// - "GROUP_BASED" |
| /// - "groupBased" : Legacy alias for `GROUP_BASED`. Deprecated. |
| /// - "BOARDING_POLICY_OTHER" |
| /// - "boardingPolicyOther" : Legacy alias for `BOARDING_POLICY_OTHER`. |
| /// Deprecated. |
| core.String? boardingPolicy; |
| |
| /// Identifies what kind of resource this is. |
| /// |
| /// Value: the fixed string `"walletobjects#boardingAndSeatingPolicy"`. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.String? kind; |
| |
| /// Seating policy which dictates how we display the seat class. |
| /// |
| /// If unset, Google will default to `cabinBased`. |
| /// Possible string values are: |
| /// - "SEAT_CLASS_POLICY_UNSPECIFIED" |
| /// - "CABIN_BASED" |
| /// - "cabinBased" : Legacy alias for `CABIN_BASED`. Deprecated. |
| /// - "CLASS_BASED" |
| /// - "classBased" : Legacy alias for `CLASS_BASED`. Deprecated. |
| /// - "TIER_BASED" |
| /// - "tierBased" : Legacy alias for `TIER_BASED`. Deprecated. |
| /// - "SEAT_CLASS_POLICY_OTHER" |
| /// - "seatClassPolicyOther" : Legacy alias for `SEAT_CLASS_POLICY_OTHER`. |
| /// Deprecated. |
| core.String? seatClassPolicy; |
| |
| BoardingAndSeatingPolicy({ |
| this.boardingPolicy, |
| this.kind, |
| this.seatClassPolicy, |
| }); |
| |
| BoardingAndSeatingPolicy.fromJson(core.Map json_) |
| : this( |
| boardingPolicy: json_['boardingPolicy'] as core.String?, |
| kind: json_['kind'] as core.String?, |
| seatClassPolicy: json_['seatClassPolicy'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final boardingPolicy = this.boardingPolicy; |
| final kind = this.kind; |
| final seatClassPolicy = this.seatClassPolicy; |
| return { |
| 'boardingPolicy': ?boardingPolicy, |
| 'kind': ?kind, |
| 'seatClassPolicy': ?seatClassPolicy, |
| }; |
| } |
| } |
| |
| class CallbackOptions { |
| /// 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. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.String? updateRequestUrl; |
| |
| /// 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. |
| core.String? url; |
| |
| CallbackOptions({this.updateRequestUrl, this.url}); |
| |
| CallbackOptions.fromJson(core.Map json_) |
| : this( |
| updateRequestUrl: json_['updateRequestUrl'] as core.String?, |
| url: json_['url'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final updateRequestUrl = this.updateRequestUrl; |
| final url = this.url; |
| return {'updateRequestUrl': ?updateRequestUrl, 'url': ?url}; |
| } |
| } |
| |
| class CardBarcodeSectionDetails { |
| /// Optional information to display below the barcode. |
| BarcodeSectionDetail? firstBottomDetail; |
| |
| /// Optional information to display above the barcode. |
| /// |
| /// If `secondTopDetail` is defined, this will be displayed to the start side |
| /// of this detail section. |
| BarcodeSectionDetail? firstTopDetail; |
| |
| /// Optional second piece of information to display above the barcode. |
| /// |
| /// If `firstTopDetail` is defined, this will be displayed to the end side of |
| /// this detail section. |
| BarcodeSectionDetail? secondTopDetail; |
| |
| CardBarcodeSectionDetails({ |
| this.firstBottomDetail, |
| this.firstTopDetail, |
| this.secondTopDetail, |
| }); |
| |
| CardBarcodeSectionDetails.fromJson(core.Map json_) |
| : this( |
| firstBottomDetail: json_.containsKey('firstBottomDetail') |
| ? BarcodeSectionDetail.fromJson( |
| json_['firstBottomDetail'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| firstTopDetail: json_.containsKey('firstTopDetail') |
| ? BarcodeSectionDetail.fromJson( |
| json_['firstTopDetail'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| secondTopDetail: json_.containsKey('secondTopDetail') |
| ? BarcodeSectionDetail.fromJson( |
| json_['secondTopDetail'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final firstBottomDetail = this.firstBottomDetail; |
| final firstTopDetail = this.firstTopDetail; |
| final secondTopDetail = this.secondTopDetail; |
| return { |
| 'firstBottomDetail': ?firstBottomDetail, |
| 'firstTopDetail': ?firstTopDetail, |
| 'secondTopDetail': ?secondTopDetail, |
| }; |
| } |
| } |
| |
| class CardRowOneItem { |
| /// The item to be displayed in the row. |
| /// |
| /// This item will be automatically centered. |
| TemplateItem? item; |
| |
| CardRowOneItem({this.item}); |
| |
| CardRowOneItem.fromJson(core.Map json_) |
| : this( |
| item: json_.containsKey('item') |
| ? TemplateItem.fromJson( |
| json_['item'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final item = this.item; |
| return {'item': ?item}; |
| } |
| } |
| |
| class CardRowTemplateInfo { |
| /// Template for a row containing one item. |
| /// |
| /// Exactly one of "one_item", "two_items", "three_items" must be set. |
| CardRowOneItem? oneItem; |
| |
| /// Template for a row containing three items. |
| /// |
| /// Exactly one of "one_item", "two_items", "three_items" must be set. |
| CardRowThreeItems? threeItems; |
| |
| /// Template for a row containing two items. |
| /// |
| /// Exactly one of "one_item", "two_items", "three_items" must be set. |
| CardRowTwoItems? twoItems; |
| |
| CardRowTemplateInfo({this.oneItem, this.threeItems, this.twoItems}); |
| |
| CardRowTemplateInfo.fromJson(core.Map json_) |
| : this( |
| oneItem: json_.containsKey('oneItem') |
| ? CardRowOneItem.fromJson( |
| json_['oneItem'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| threeItems: json_.containsKey('threeItems') |
| ? CardRowThreeItems.fromJson( |
| json_['threeItems'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| twoItems: json_.containsKey('twoItems') |
| ? CardRowTwoItems.fromJson( |
| json_['twoItems'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final oneItem = this.oneItem; |
| final threeItems = this.threeItems; |
| final twoItems = this.twoItems; |
| return { |
| 'oneItem': ?oneItem, |
| 'threeItems': ?threeItems, |
| 'twoItems': ?twoItems, |
| }; |
| } |
| } |
| |
| class CardRowThreeItems { |
| /// The item to be displayed at the end of the row. |
| /// |
| /// This item will be aligned to the right. |
| TemplateItem? endItem; |
| |
| /// The item to be displayed in the middle of the row. |
| /// |
| /// This item will be centered between the start and end items. |
| TemplateItem? middleItem; |
| |
| /// The item to be displayed at the start of the row. |
| /// |
| /// This item will be aligned to the left. |
| TemplateItem? startItem; |
| |
| CardRowThreeItems({this.endItem, this.middleItem, this.startItem}); |
| |
| CardRowThreeItems.fromJson(core.Map json_) |
| : this( |
| endItem: json_.containsKey('endItem') |
| ? TemplateItem.fromJson( |
| json_['endItem'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| middleItem: json_.containsKey('middleItem') |
| ? TemplateItem.fromJson( |
| json_['middleItem'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| startItem: json_.containsKey('startItem') |
| ? TemplateItem.fromJson( |
| json_['startItem'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final endItem = this.endItem; |
| final middleItem = this.middleItem; |
| final startItem = this.startItem; |
| return { |
| 'endItem': ?endItem, |
| 'middleItem': ?middleItem, |
| 'startItem': ?startItem, |
| }; |
| } |
| } |
| |
| class CardRowTwoItems { |
| /// The item to be displayed at the end of the row. |
| /// |
| /// This item will be aligned to the right. |
| TemplateItem? endItem; |
| |
| /// The item to be displayed at the start of the row. |
| /// |
| /// This item will be aligned to the left. |
| TemplateItem? startItem; |
| |
| CardRowTwoItems({this.endItem, this.startItem}); |
| |
| CardRowTwoItems.fromJson(core.Map json_) |
| : this( |
| endItem: json_.containsKey('endItem') |
| ? TemplateItem.fromJson( |
| json_['endItem'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| startItem: json_.containsKey('startItem') |
| ? TemplateItem.fromJson( |
| json_['startItem'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final endItem = this.endItem; |
| final startItem = this.startItem; |
| return {'endItem': ?endItem, 'startItem': ?startItem}; |
| } |
| } |
| |
| class CardTemplateOverride { |
| /// Template information for rows in the card view. |
| /// |
| /// At most three rows are allowed to be specified. |
| core.List<CardRowTemplateInfo>? cardRowTemplateInfos; |
| |
| CardTemplateOverride({this.cardRowTemplateInfos}); |
| |
| CardTemplateOverride.fromJson(core.Map json_) |
| : this( |
| cardRowTemplateInfos: (json_['cardRowTemplateInfos'] as core.List?) |
| ?.map( |
| (value) => CardRowTemplateInfo.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final cardRowTemplateInfos = this.cardRowTemplateInfos; |
| return {'cardRowTemplateInfos': ?cardRowTemplateInfos}; |
| } |
| } |
| |
| class ClassTemplateInfo { |
| /// Specifies extra information to be displayed above and below the barcode. |
| CardBarcodeSectionDetails? cardBarcodeSectionDetails; |
| |
| /// Override for the card view. |
| CardTemplateOverride? cardTemplateOverride; |
| |
| /// Override for the details view (beneath the card view). |
| DetailsTemplateOverride? detailsTemplateOverride; |
| |
| /// Override for the passes list view. |
| ListTemplateOverride? listTemplateOverride; |
| |
| ClassTemplateInfo({ |
| this.cardBarcodeSectionDetails, |
| this.cardTemplateOverride, |
| this.detailsTemplateOverride, |
| this.listTemplateOverride, |
| }); |
| |
| ClassTemplateInfo.fromJson(core.Map json_) |
| : this( |
| cardBarcodeSectionDetails: |
| json_.containsKey('cardBarcodeSectionDetails') |
| ? CardBarcodeSectionDetails.fromJson( |
| json_['cardBarcodeSectionDetails'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| cardTemplateOverride: json_.containsKey('cardTemplateOverride') |
| ? CardTemplateOverride.fromJson( |
| json_['cardTemplateOverride'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| detailsTemplateOverride: json_.containsKey('detailsTemplateOverride') |
| ? DetailsTemplateOverride.fromJson( |
| json_['detailsTemplateOverride'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| listTemplateOverride: json_.containsKey('listTemplateOverride') |
| ? ListTemplateOverride.fromJson( |
| json_['listTemplateOverride'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final cardBarcodeSectionDetails = this.cardBarcodeSectionDetails; |
| final cardTemplateOverride = this.cardTemplateOverride; |
| final detailsTemplateOverride = this.detailsTemplateOverride; |
| final listTemplateOverride = this.listTemplateOverride; |
| return { |
| 'cardBarcodeSectionDetails': ?cardBarcodeSectionDetails, |
| 'cardTemplateOverride': ?cardTemplateOverride, |
| 'detailsTemplateOverride': ?detailsTemplateOverride, |
| 'listTemplateOverride': ?listTemplateOverride, |
| }; |
| } |
| } |
| |
| /// A sequence of media data references representing composite data. |
| /// |
| /// Introduced to support Bigstore composite objects. For details, visit |
| /// http://go/bigstore-composites. |
| class CompositeMedia { |
| /// 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. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.String? blobRef; |
| core.List<core.int> get blobRefAsBytes => convert.base64.decode(blobRef!); |
| |
| set blobRefAsBytes(core.List<core.int> bytes_) { |
| blobRef = convert.base64 |
| .encode(bytes_) |
| .replaceAll('/', '_') |
| .replaceAll('+', '-'); |
| } |
| |
| /// Blobstore v2 info, set if reference_type is BLOBSTORE_REF and it refers to |
| /// a v2 blob. |
| Blobstore2Info? blobstore2Info; |
| |
| /// 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. |
| core.String? cosmoBinaryReference; |
| core.List<core.int> get cosmoBinaryReferenceAsBytes => |
| convert.base64.decode(cosmoBinaryReference!); |
| |
| set cosmoBinaryReferenceAsBytes(core.List<core.int> bytes_) { |
| cosmoBinaryReference = convert.base64 |
| .encode(bytes_) |
| .replaceAll('/', '_') |
| .replaceAll('+', '-'); |
| } |
| |
| /// crc32.c hash for the payload. |
| core.int? crc32cHash; |
| |
| /// Media data, set if reference_type is INLINE |
| core.String? inline; |
| core.List<core.int> get inlineAsBytes => convert.base64.decode(inline!); |
| |
| set inlineAsBytes(core.List<core.int> bytes_) { |
| inline = convert.base64 |
| .encode(bytes_) |
| .replaceAll('/', '_') |
| .replaceAll('+', '-'); |
| } |
| |
| /// Size of the data, in bytes |
| core.String? length; |
| |
| /// MD5 hash for the payload. |
| core.String? md5Hash; |
| core.List<core.int> get md5HashAsBytes => convert.base64.decode(md5Hash!); |
| |
| set md5HashAsBytes(core.List<core.int> bytes_) { |
| md5Hash = convert.base64 |
| .encode(bytes_) |
| .replaceAll('/', '_') |
| .replaceAll('+', '-'); |
| } |
| |
| /// Reference to a TI Blob, set if reference_type is BIGSTORE_REF. |
| ObjectId? objectId; |
| |
| /// Path to the data, set if reference_type is PATH |
| core.String? path; |
| |
| /// Describes what the field reference contains. |
| /// Possible string values are: |
| /// - "PATH" : Reference contains a GFS path or a local path. |
| /// - "BLOB_REF" : 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. |
| /// - "INLINE" : Data is included into this proto buffer |
| /// - "BIGSTORE_REF" : Reference points to a bigstore object |
| /// - "COSMO_BINARY_REFERENCE" : Indicates the data is stored in |
| /// cosmo_binary_reference. |
| core.String? referenceType; |
| |
| /// SHA-1 hash for the payload. |
| core.String? sha1Hash; |
| core.List<core.int> get sha1HashAsBytes => convert.base64.decode(sha1Hash!); |
| |
| set sha1HashAsBytes(core.List<core.int> bytes_) { |
| sha1Hash = convert.base64 |
| .encode(bytes_) |
| .replaceAll('/', '_') |
| .replaceAll('+', '-'); |
| } |
| |
| CompositeMedia({ |
| this.blobRef, |
| this.blobstore2Info, |
| this.cosmoBinaryReference, |
| this.crc32cHash, |
| this.inline, |
| this.length, |
| this.md5Hash, |
| this.objectId, |
| this.path, |
| this.referenceType, |
| this.sha1Hash, |
| }); |
| |
| CompositeMedia.fromJson(core.Map json_) |
| : this( |
| blobRef: json_['blobRef'] as core.String?, |
| blobstore2Info: json_.containsKey('blobstore2Info') |
| ? Blobstore2Info.fromJson( |
| json_['blobstore2Info'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| cosmoBinaryReference: json_['cosmoBinaryReference'] as core.String?, |
| crc32cHash: json_['crc32cHash'] as core.int?, |
| inline: json_['inline'] as core.String?, |
| length: json_['length'] as core.String?, |
| md5Hash: json_['md5Hash'] as core.String?, |
| objectId: json_.containsKey('objectId') |
| ? ObjectId.fromJson( |
| json_['objectId'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| path: json_['path'] as core.String?, |
| referenceType: json_['referenceType'] as core.String?, |
| sha1Hash: json_['sha1Hash'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final blobRef = this.blobRef; |
| final blobstore2Info = this.blobstore2Info; |
| final cosmoBinaryReference = this.cosmoBinaryReference; |
| final crc32cHash = this.crc32cHash; |
| final inline = this.inline; |
| final length = this.length; |
| final md5Hash = this.md5Hash; |
| final objectId = this.objectId; |
| final path = this.path; |
| final referenceType = this.referenceType; |
| final sha1Hash = this.sha1Hash; |
| return { |
| 'blobRef': ?blobRef, |
| 'blobstore2Info': ?blobstore2Info, |
| 'cosmoBinaryReference': ?cosmoBinaryReference, |
| 'crc32cHash': ?crc32cHash, |
| 'inline': ?inline, |
| 'length': ?length, |
| 'md5Hash': ?md5Hash, |
| 'objectId': ?objectId, |
| 'path': ?path, |
| 'referenceType': ?referenceType, |
| 'sha1Hash': ?sha1Hash, |
| }; |
| } |
| } |
| |
| /// 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. |
| typedef ContentTypeInfo = $ContentTypeInfo; |
| |
| class DateTime { |
| /// 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. |
| core.String? date; |
| |
| DateTime({this.date}); |
| |
| DateTime.fromJson(core.Map json_) : this(date: json_['date'] as core.String?); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final date = this.date; |
| return {'date': ?date}; |
| } |
| } |
| |
| class DetailsItemInfo { |
| /// The item to be displayed in the details list. |
| TemplateItem? item; |
| |
| DetailsItemInfo({this.item}); |
| |
| DetailsItemInfo.fromJson(core.Map json_) |
| : this( |
| item: json_.containsKey('item') |
| ? TemplateItem.fromJson( |
| json_['item'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final item = this.item; |
| return {'item': ?item}; |
| } |
| } |
| |
| class DetailsTemplateOverride { |
| /// Information for the "nth" item displayed in the details list. |
| core.List<DetailsItemInfo>? detailsItemInfos; |
| |
| DetailsTemplateOverride({this.detailsItemInfos}); |
| |
| DetailsTemplateOverride.fromJson(core.Map json_) |
| : this( |
| detailsItemInfos: (json_['detailsItemInfos'] as core.List?) |
| ?.map( |
| (value) => DetailsItemInfo.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final detailsItemInfos = this.detailsItemInfos; |
| return {'detailsItemInfos': ?detailsItemInfos}; |
| } |
| } |
| |
| /// Device context associated with the object. |
| class DeviceContext { |
| /// 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. |
| core.String? deviceToken; |
| |
| DeviceContext({this.deviceToken}); |
| |
| DeviceContext.fromJson(core.Map json_) |
| : this(deviceToken: json_['deviceToken'] as core.String?); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final deviceToken = this.deviceToken; |
| return {'deviceToken': ?deviceToken}; |
| } |
| } |
| |
| /// Backend response for a Diff get checksums response. |
| /// |
| /// For details on the Scotty Diff protocol, visit |
| /// http://go/scotty-diff-protocol. |
| class DiffChecksumsResponse { |
| /// 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. |
| CompositeMedia? checksumsLocation; |
| |
| /// The chunk size of checksums. |
| /// |
| /// Must be a multiple of 256KB. |
| core.String? chunkSizeBytes; |
| |
| /// If set, calculate the checksums based on the contents and return them to |
| /// the caller. |
| CompositeMedia? objectLocation; |
| |
| /// The total size of the server object. |
| core.String? objectSizeBytes; |
| |
| /// The object version of the object the checksums are being returned for. |
| core.String? objectVersion; |
| |
| DiffChecksumsResponse({ |
| this.checksumsLocation, |
| this.chunkSizeBytes, |
| this.objectLocation, |
| this.objectSizeBytes, |
| this.objectVersion, |
| }); |
| |
| DiffChecksumsResponse.fromJson(core.Map json_) |
| : this( |
| checksumsLocation: json_.containsKey('checksumsLocation') |
| ? CompositeMedia.fromJson( |
| json_['checksumsLocation'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| chunkSizeBytes: json_['chunkSizeBytes'] as core.String?, |
| objectLocation: json_.containsKey('objectLocation') |
| ? CompositeMedia.fromJson( |
| json_['objectLocation'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| objectSizeBytes: json_['objectSizeBytes'] as core.String?, |
| objectVersion: json_['objectVersion'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final checksumsLocation = this.checksumsLocation; |
| final chunkSizeBytes = this.chunkSizeBytes; |
| final objectLocation = this.objectLocation; |
| final objectSizeBytes = this.objectSizeBytes; |
| final objectVersion = this.objectVersion; |
| return { |
| 'checksumsLocation': ?checksumsLocation, |
| 'chunkSizeBytes': ?chunkSizeBytes, |
| 'objectLocation': ?objectLocation, |
| 'objectSizeBytes': ?objectSizeBytes, |
| 'objectVersion': ?objectVersion, |
| }; |
| } |
| } |
| |
| /// Backend response for a Diff download response. |
| /// |
| /// For details on the Scotty Diff protocol, visit |
| /// http://go/scotty-diff-protocol. |
| class DiffDownloadResponse { |
| /// The original object location. |
| CompositeMedia? objectLocation; |
| |
| DiffDownloadResponse({this.objectLocation}); |
| |
| DiffDownloadResponse.fromJson(core.Map json_) |
| : this( |
| objectLocation: json_.containsKey('objectLocation') |
| ? CompositeMedia.fromJson( |
| json_['objectLocation'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final objectLocation = this.objectLocation; |
| return {'objectLocation': ?objectLocation}; |
| } |
| } |
| |
| /// A Diff upload request. |
| /// |
| /// For details on the Scotty Diff protocol, visit |
| /// http://go/scotty-diff-protocol. |
| class DiffUploadRequest { |
| /// 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. |
| CompositeMedia? checksumsInfo; |
| |
| /// 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. |
| CompositeMedia? objectInfo; |
| |
| /// 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. |
| core.String? objectVersion; |
| |
| DiffUploadRequest({this.checksumsInfo, this.objectInfo, this.objectVersion}); |
| |
| DiffUploadRequest.fromJson(core.Map json_) |
| : this( |
| checksumsInfo: json_.containsKey('checksumsInfo') |
| ? CompositeMedia.fromJson( |
| json_['checksumsInfo'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| objectInfo: json_.containsKey('objectInfo') |
| ? CompositeMedia.fromJson( |
| json_['objectInfo'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| objectVersion: json_['objectVersion'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final checksumsInfo = this.checksumsInfo; |
| final objectInfo = this.objectInfo; |
| final objectVersion = this.objectVersion; |
| return { |
| 'checksumsInfo': ?checksumsInfo, |
| 'objectInfo': ?objectInfo, |
| 'objectVersion': ?objectVersion, |
| }; |
| } |
| } |
| |
| /// Backend response for a Diff upload request. |
| /// |
| /// For details on the Scotty Diff protocol, visit |
| /// http://go/scotty-diff-protocol. |
| class DiffUploadResponse { |
| /// 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. |
| core.String? objectVersion; |
| |
| /// The location of the original file for a diff upload request. |
| /// |
| /// Must be filled in if responding to an upload start notification. |
| CompositeMedia? originalObject; |
| |
| DiffUploadResponse({this.objectVersion, this.originalObject}); |
| |
| DiffUploadResponse.fromJson(core.Map json_) |
| : this( |
| objectVersion: json_['objectVersion'] as core.String?, |
| originalObject: json_.containsKey('originalObject') |
| ? CompositeMedia.fromJson( |
| json_['originalObject'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final objectVersion = this.objectVersion; |
| final originalObject = this.originalObject; |
| return {'objectVersion': ?objectVersion, 'originalObject': ?originalObject}; |
| } |
| } |
| |
| /// Backend response for a Diff get version response. |
| /// |
| /// For details on the Scotty Diff protocol, visit |
| /// http://go/scotty-diff-protocol. |
| typedef DiffVersionResponse = $DiffVersionResponse; |
| |
| /// 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. |
| class DiscoverableProgram { |
| /// Information about the ability to signin and add a valuable for this |
| /// program through a merchant site. |
| /// |
| /// Used when MERCHANT_HOSTED_SIGNIN is enabled. |
| DiscoverableProgramMerchantSigninInfo? merchantSigninInfo; |
| |
| /// Information about the ability to signup and add a valuable for this |
| /// program through a merchant site. |
| /// |
| /// Used when MERCHANT_HOSTED_SIGNUP is enabled. |
| DiscoverableProgramMerchantSignupInfo? merchantSignupInfo; |
| |
| /// Visibility state of the discoverable program. |
| /// Possible string values are: |
| /// - "STATE_UNSPECIFIED" |
| /// - "TRUSTED_TESTERS" : Visible only to testers that have access to issuer |
| /// account. |
| /// - "trustedTesters" : Legacy alias for `TRUSTED_TESTERS`. Deprecated. |
| /// - "LIVE" : Visible to all. |
| /// - "live" : Legacy alias for `LIVE`. Deprecated. |
| /// - "DISABLED" : Not visible. |
| /// - "disabled" : Legacy alias for `DISABLED`. Deprecated. |
| core.String? state; |
| |
| DiscoverableProgram({ |
| this.merchantSigninInfo, |
| this.merchantSignupInfo, |
| this.state, |
| }); |
| |
| DiscoverableProgram.fromJson(core.Map json_) |
| : this( |
| merchantSigninInfo: json_.containsKey('merchantSigninInfo') |
| ? DiscoverableProgramMerchantSigninInfo.fromJson( |
| json_['merchantSigninInfo'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| merchantSignupInfo: json_.containsKey('merchantSignupInfo') |
| ? DiscoverableProgramMerchantSignupInfo.fromJson( |
| json_['merchantSignupInfo'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| state: json_['state'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final merchantSigninInfo = this.merchantSigninInfo; |
| final merchantSignupInfo = this.merchantSignupInfo; |
| final state = this.state; |
| return { |
| 'merchantSigninInfo': ?merchantSigninInfo, |
| 'merchantSignupInfo': ?merchantSignupInfo, |
| 'state': ?state, |
| }; |
| } |
| } |
| |
| /// Information about the merchant hosted signin flow for a program. |
| class DiscoverableProgramMerchantSigninInfo { |
| /// The URL to direct the user to for the merchant's signin site. |
| Uri? signinWebsite; |
| |
| DiscoverableProgramMerchantSigninInfo({this.signinWebsite}); |
| |
| DiscoverableProgramMerchantSigninInfo.fromJson(core.Map json_) |
| : this( |
| signinWebsite: json_.containsKey('signinWebsite') |
| ? Uri.fromJson( |
| json_['signinWebsite'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final signinWebsite = this.signinWebsite; |
| return {'signinWebsite': ?signinWebsite}; |
| } |
| } |
| |
| /// Information about the merchant hosted signup flow for a program. |
| class DiscoverableProgramMerchantSignupInfo { |
| /// 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. |
| core.List<core.String>? signupSharedDatas; |
| |
| /// The URL to direct the user to for the merchant's signup site. |
| Uri? signupWebsite; |
| |
| DiscoverableProgramMerchantSignupInfo({ |
| this.signupSharedDatas, |
| this.signupWebsite, |
| }); |
| |
| DiscoverableProgramMerchantSignupInfo.fromJson(core.Map json_) |
| : this( |
| signupSharedDatas: (json_['signupSharedDatas'] as core.List?) |
| ?.map((value) => value as core.String) |
| .toList(), |
| signupWebsite: json_.containsKey('signupWebsite') |
| ? Uri.fromJson( |
| json_['signupWebsite'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final signupSharedDatas = this.signupSharedDatas; |
| final signupWebsite = this.signupWebsite; |
| return { |
| 'signupSharedDatas': ?signupSharedDatas, |
| 'signupWebsite': ?signupWebsite, |
| }; |
| } |
| } |
| |
| /// Parameters specific to media downloads. |
| typedef DownloadParameters = $DownloadParameters; |
| |
| class EventDateTime { |
| /// 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. |
| LocalizedString? customDoorsOpenLabel; |
| |
| /// 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. |
| core.String? doorsOpen; |
| |
| /// 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. |
| /// Possible string values are: |
| /// - "DOORS_OPEN_LABEL_UNSPECIFIED" |
| /// - "DOORS_OPEN" |
| /// - "doorsOpen" : Legacy alias for `DOORS_OPEN`. Deprecated. |
| /// - "GATES_OPEN" |
| /// - "gatesOpen" : Legacy alias for `GATES_OPEN`. Deprecated. |
| core.String? doorsOpenLabel; |
| |
| /// 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. |
| core.String? end; |
| |
| /// Identifies what kind of resource this is. |
| /// |
| /// Value: the fixed string `"walletobjects#eventDateTime"`. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.String? kind; |
| |
| /// 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. |
| core.String? start; |
| |
| EventDateTime({ |
| this.customDoorsOpenLabel, |
| this.doorsOpen, |
| this.doorsOpenLabel, |
| this.end, |
| this.kind, |
| this.start, |
| }); |
| |
| EventDateTime.fromJson(core.Map json_) |
| : this( |
| customDoorsOpenLabel: json_.containsKey('customDoorsOpenLabel') |
| ? LocalizedString.fromJson( |
| json_['customDoorsOpenLabel'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| doorsOpen: json_['doorsOpen'] as core.String?, |
| doorsOpenLabel: json_['doorsOpenLabel'] as core.String?, |
| end: json_['end'] as core.String?, |
| kind: json_['kind'] as core.String?, |
| start: json_['start'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final customDoorsOpenLabel = this.customDoorsOpenLabel; |
| final doorsOpen = this.doorsOpen; |
| final doorsOpenLabel = this.doorsOpenLabel; |
| final end = this.end; |
| final kind = this.kind; |
| final start = this.start; |
| return { |
| 'customDoorsOpenLabel': ?customDoorsOpenLabel, |
| 'doorsOpen': ?doorsOpen, |
| 'doorsOpenLabel': ?doorsOpenLabel, |
| 'end': ?end, |
| 'kind': ?kind, |
| 'start': ?start, |
| }; |
| } |
| } |
| |
| class EventReservationInfo { |
| /// The confirmation code of the event reservation. |
| /// |
| /// This may also take the form of an "order number", "confirmation number", |
| /// "reservation number", or other equivalent. |
| core.String? confirmationCode; |
| |
| /// Identifies what kind of resource this is. |
| /// |
| /// Value: the fixed string `"walletobjects#eventReservationInfo"`. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.String? kind; |
| |
| EventReservationInfo({this.confirmationCode, this.kind}); |
| |
| EventReservationInfo.fromJson(core.Map json_) |
| : this( |
| confirmationCode: json_['confirmationCode'] as core.String?, |
| kind: json_['kind'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final confirmationCode = this.confirmationCode; |
| final kind = this.kind; |
| return {'confirmationCode': ?confirmationCode, 'kind': ?kind}; |
| } |
| } |
| |
| class EventSeat { |
| /// 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. |
| LocalizedString? gate; |
| |
| /// Identifies what kind of resource this is. |
| /// |
| /// Value: the fixed string `"walletobjects#eventSeat"`. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.String? kind; |
| |
| /// 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. |
| LocalizedString? row; |
| |
| /// 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. |
| LocalizedString? seat; |
| |
| /// 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. |
| LocalizedString? section; |
| |
| EventSeat({this.gate, this.kind, this.row, this.seat, this.section}); |
| |
| EventSeat.fromJson(core.Map json_) |
| : this( |
| gate: json_.containsKey('gate') |
| ? LocalizedString.fromJson( |
| json_['gate'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| kind: json_['kind'] as core.String?, |
| row: json_.containsKey('row') |
| ? LocalizedString.fromJson( |
| json_['row'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| seat: json_.containsKey('seat') |
| ? LocalizedString.fromJson( |
| json_['seat'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| section: json_.containsKey('section') |
| ? LocalizedString.fromJson( |
| json_['section'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final gate = this.gate; |
| final kind = this.kind; |
| final row = this.row; |
| final seat = this.seat; |
| final section = this.section; |
| return { |
| 'gate': ?gate, |
| 'kind': ?kind, |
| 'row': ?row, |
| 'seat': ?seat, |
| 'section': ?section, |
| }; |
| } |
| } |
| |
| class EventTicketClass { |
| /// Use `multipleDevicesAndHoldersAllowedStatus` instead. |
| /// |
| /// Deprecated. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.bool? allowMultipleUsersPerObject; |
| |
| /// 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. |
| AppLinkData? appLinkData; |
| |
| /// 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. |
| CallbackOptions? callbackOptions; |
| |
| /// Template information about how the class should be displayed. |
| /// |
| /// If unset, Google will fallback to a default set of fields to display. |
| ClassTemplateInfo? classTemplateInfo; |
| |
| /// 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. |
| /// Possible string values are: |
| /// - "CONFIRMATION_CODE_LABEL_UNSPECIFIED" |
| /// - "CONFIRMATION_CODE" |
| /// - "confirmationCode" : Legacy alias for `CONFIRMATION_CODE`. Deprecated. |
| /// - "CONFIRMATION_NUMBER" |
| /// - "confirmationNumber" : Legacy alias for `CONFIRMATION_NUMBER`. |
| /// Deprecated. |
| /// - "ORDER_NUMBER" |
| /// - "orderNumber" : Legacy alias for `ORDER_NUMBER`. Deprecated. |
| /// - "RESERVATION_NUMBER" |
| /// - "reservationNumber" : Legacy alias for `RESERVATION_NUMBER`. Deprecated. |
| core.String? confirmationCodeLabel; |
| |
| /// 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. |
| core.String? countryCode; |
| |
| /// 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. |
| LocalizedString? customConfirmationCodeLabel; |
| |
| /// 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. |
| LocalizedString? customGateLabel; |
| |
| /// 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. |
| LocalizedString? customRowLabel; |
| |
| /// 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. |
| LocalizedString? customSeatLabel; |
| |
| /// 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. |
| LocalizedString? customSectionLabel; |
| |
| /// The date & time information of the event. |
| EventDateTime? dateTime; |
| |
| /// 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. |
| core.bool? enableSmartTap; |
| |
| /// 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). |
| core.String? eventId; |
| |
| /// The name of the event, such as "LA Dodgers at SF Giants". |
| /// |
| /// Required. |
| LocalizedString? eventName; |
| |
| /// The fine print, terms, or conditions of the ticket. |
| LocalizedString? finePrint; |
| |
| /// 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. |
| /// Possible string values are: |
| /// - "GATE_LABEL_UNSPECIFIED" |
| /// - "GATE" |
| /// - "gate" : Legacy alias for `GATE`. Deprecated. |
| /// - "DOOR" |
| /// - "door" : Legacy alias for `DOOR`. Deprecated. |
| /// - "ENTRANCE" |
| /// - "entrance" : Legacy alias for `ENTRANCE`. Deprecated. |
| core.String? gateLabel; |
| |
| /// 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. |
| Image? heroImage; |
| |
| /// 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`. |
| core.String? hexBackgroundColor; |
| |
| /// 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). |
| Uri? homepageUri; |
| |
| /// 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 '-'. |
| /// |
| /// Required. |
| core.String? id; |
| |
| /// Image module data. |
| /// |
| /// The maximum number of these fields displayed is 1 from object level and 1 |
| /// for class object level. |
| core.List<ImageModuleData>? imageModulesData; |
| |
| /// Use textModulesData instead. |
| /// |
| /// Deprecated. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| InfoModuleData? infoModuleData; |
| |
| /// The issuer name. |
| /// |
| /// Recommended maximum length is 20 characters to ensure full string is |
| /// displayed on smaller screens. |
| /// |
| /// Required. |
| core.String? issuerName; |
| |
| /// Identifies what kind of resource this is. |
| /// |
| /// Value: the fixed string `"walletobjects#eventTicketClass"`. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.String? kind; |
| |
| /// Links module data. |
| /// |
| /// If links module data is also defined on the object, both will be |
| /// displayed. |
| LinksModuleData? linksModuleData; |
| |
| /// Translated strings for the issuer_name. |
| /// |
| /// Recommended maximum length is 20 characters to ensure full string is |
| /// displayed on smaller screens. |
| LocalizedString? localizedIssuerName; |
| |
| /// Note: This field is currently not supported to trigger geo notifications. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.List<LatLongPoint>? locations; |
| |
| /// The logo image of the ticket. |
| /// |
| /// This image is displayed in the card detail view of the app. |
| Image? logo; |
| |
| /// 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. |
| core.List<MerchantLocation>? merchantLocations; |
| |
| /// 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. |
| core.List<Message>? messages; |
| |
| /// Identifies whether multiple users and devices will save the same object |
| /// referencing this class. |
| /// Possible string values are: |
| /// - "STATUS_UNSPECIFIED" : Unspecified preference. |
| /// - "MULTIPLE_HOLDERS" : 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. |
| /// - "ONE_USER_ALL_DEVICES" : 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. |
| /// - "ONE_USER_ONE_DEVICE" : 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. |
| /// - "multipleHolders" : Legacy alias for `MULTIPLE_HOLDERS`. Deprecated. |
| /// - "oneUserAllDevices" : Legacy alias for `ONE_USER_ALL_DEVICES`. |
| /// Deprecated. |
| /// - "oneUserOneDevice" : Legacy alias for `ONE_USER_ONE_DEVICE`. Deprecated. |
| core.String? multipleDevicesAndHoldersAllowedStatus; |
| |
| /// 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. |
| /// Possible string values are: |
| /// - "NOTIFICATION_SETTINGS_FOR_UPDATES_UNSPECIFIED" : Default behavior is no |
| /// notifications sent. |
| /// - "NOTIFY_ON_UPDATE" : This value will result in a notification being |
| /// sent, if the updated fields are part of an allowlist. |
| core.String? notifyPreference; |
| |
| /// 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. |
| core.List<core.String>? redemptionIssuers; |
| |
| /// The review comments set by the platform when a class is marked `approved` |
| /// or `rejected`. |
| Review? review; |
| |
| /// 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`. |
| /// |
| /// Required. |
| /// Possible string values are: |
| /// - "REVIEW_STATUS_UNSPECIFIED" |
| /// - "UNDER_REVIEW" |
| /// - "underReview" : Legacy alias for `UNDER_REVIEW`. Deprecated. |
| /// - "APPROVED" |
| /// - "approved" : Legacy alias for `APPROVED`. Deprecated. |
| /// - "REJECTED" |
| /// - "rejected" : Legacy alias for `REJECTED`. Deprecated. |
| /// - "DRAFT" |
| /// - "draft" : Legacy alias for `DRAFT`. Deprecated. |
| core.String? reviewStatus; |
| |
| /// 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. |
| /// Possible string values are: |
| /// - "ROW_LABEL_UNSPECIFIED" |
| /// - "ROW" |
| /// - "row" : Legacy alias for `ROW`. Deprecated. |
| core.String? rowLabel; |
| |
| /// 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. |
| /// Possible string values are: |
| /// - "SEAT_LABEL_UNSPECIFIED" |
| /// - "SEAT" |
| /// - "seat" : Legacy alias for `SEAT`. Deprecated. |
| core.String? seatLabel; |
| |
| /// 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. |
| /// Possible string values are: |
| /// - "SECTION_LABEL_UNSPECIFIED" |
| /// - "SECTION" |
| /// - "section" : Legacy alias for `SECTION`. Deprecated. |
| /// - "THEATER" |
| /// - "theater" : Legacy alias for `THEATER`. Deprecated. |
| core.String? sectionLabel; |
| |
| /// Optional information about the security animation. |
| /// |
| /// If this is set a security animation will be rendered on pass details. |
| SecurityAnimation? securityAnimation; |
| |
| /// 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. |
| core.List<TextModuleData>? textModulesData; |
| |
| /// Optional value added module data. |
| /// |
| /// Maximum of fifteen on the class. For a pass only fifteen will be |
| /// displayed, prioritizing those from the object. |
| core.List<ValueAddedModuleData>? valueAddedModuleData; |
| |
| /// Event venue details. |
| EventVenue? venue; |
| |
| /// Deprecated |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.String? version; |
| |
| /// View Unlock Requirement options for the event ticket. |
| /// Possible string values are: |
| /// - "VIEW_UNLOCK_REQUIREMENT_UNSPECIFIED" : Default value, same as |
| /// UNLOCK_NOT_REQUIRED. |
| /// - "UNLOCK_NOT_REQUIRED" : Default behavior for all the existing Passes if |
| /// ViewUnlockRequirement is not set. |
| /// - "UNLOCK_REQUIRED_TO_VIEW" : 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. |
| core.String? viewUnlockRequirement; |
| |
| /// 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. |
| Image? wideLogo; |
| |
| /// Deprecated. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| Image? wordMark; |
| |
| EventTicketClass({ |
| this.allowMultipleUsersPerObject, |
| this.appLinkData, |
| this.callbackOptions, |
| this.classTemplateInfo, |
| this.confirmationCodeLabel, |
| this.countryCode, |
| this.customConfirmationCodeLabel, |
| this.customGateLabel, |
| this.customRowLabel, |
| this.customSeatLabel, |
| this.customSectionLabel, |
| this.dateTime, |
| this.enableSmartTap, |
| this.eventId, |
| this.eventName, |
| this.finePrint, |
| this.gateLabel, |
| this.heroImage, |
| this.hexBackgroundColor, |
| this.homepageUri, |
| this.id, |
| this.imageModulesData, |
| this.infoModuleData, |
| this.issuerName, |
| this.kind, |
| this.linksModuleData, |
| this.localizedIssuerName, |
| this.locations, |
| this.logo, |
| this.merchantLocations, |
| this.messages, |
| this.multipleDevicesAndHoldersAllowedStatus, |
| this.notifyPreference, |
| this.redemptionIssuers, |
| this.review, |
| this.reviewStatus, |
| this.rowLabel, |
| this.seatLabel, |
| this.sectionLabel, |
| this.securityAnimation, |
| this.textModulesData, |
| this.valueAddedModuleData, |
| this.venue, |
| this.version, |
| this.viewUnlockRequirement, |
| this.wideLogo, |
| this.wordMark, |
| }); |
| |
| EventTicketClass.fromJson(core.Map json_) |
| : this( |
| allowMultipleUsersPerObject: |
| json_['allowMultipleUsersPerObject'] as core.bool?, |
| appLinkData: json_.containsKey('appLinkData') |
| ? AppLinkData.fromJson( |
| json_['appLinkData'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| callbackOptions: json_.containsKey('callbackOptions') |
| ? CallbackOptions.fromJson( |
| json_['callbackOptions'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| classTemplateInfo: json_.containsKey('classTemplateInfo') |
| ? ClassTemplateInfo.fromJson( |
| json_['classTemplateInfo'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| confirmationCodeLabel: json_['confirmationCodeLabel'] as core.String?, |
| countryCode: json_['countryCode'] as core.String?, |
| customConfirmationCodeLabel: |
| json_.containsKey('customConfirmationCodeLabel') |
| ? LocalizedString.fromJson( |
| json_['customConfirmationCodeLabel'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| customGateLabel: json_.containsKey('customGateLabel') |
| ? LocalizedString.fromJson( |
| json_['customGateLabel'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| customRowLabel: json_.containsKey('customRowLabel') |
| ? LocalizedString.fromJson( |
| json_['customRowLabel'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| customSeatLabel: json_.containsKey('customSeatLabel') |
| ? LocalizedString.fromJson( |
| json_['customSeatLabel'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| customSectionLabel: json_.containsKey('customSectionLabel') |
| ? LocalizedString.fromJson( |
| json_['customSectionLabel'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| dateTime: json_.containsKey('dateTime') |
| ? EventDateTime.fromJson( |
| json_['dateTime'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| enableSmartTap: json_['enableSmartTap'] as core.bool?, |
| eventId: json_['eventId'] as core.String?, |
| eventName: json_.containsKey('eventName') |
| ? LocalizedString.fromJson( |
| json_['eventName'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| finePrint: json_.containsKey('finePrint') |
| ? LocalizedString.fromJson( |
| json_['finePrint'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| gateLabel: json_['gateLabel'] as core.String?, |
| heroImage: json_.containsKey('heroImage') |
| ? Image.fromJson( |
| json_['heroImage'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| hexBackgroundColor: json_['hexBackgroundColor'] as core.String?, |
| homepageUri: json_.containsKey('homepageUri') |
| ? Uri.fromJson( |
| json_['homepageUri'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| id: json_['id'] as core.String?, |
| imageModulesData: (json_['imageModulesData'] as core.List?) |
| ?.map( |
| (value) => ImageModuleData.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| infoModuleData: json_.containsKey('infoModuleData') |
| ? InfoModuleData.fromJson( |
| json_['infoModuleData'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| issuerName: json_['issuerName'] as core.String?, |
| kind: json_['kind'] as core.String?, |
| linksModuleData: json_.containsKey('linksModuleData') |
| ? LinksModuleData.fromJson( |
| json_['linksModuleData'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| localizedIssuerName: json_.containsKey('localizedIssuerName') |
| ? LocalizedString.fromJson( |
| json_['localizedIssuerName'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| locations: (json_['locations'] as core.List?) |
| ?.map( |
| (value) => LatLongPoint.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| logo: json_.containsKey('logo') |
| ? Image.fromJson( |
| json_['logo'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| merchantLocations: (json_['merchantLocations'] as core.List?) |
| ?.map( |
| (value) => MerchantLocation.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| messages: (json_['messages'] as core.List?) |
| ?.map( |
| (value) => Message.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| multipleDevicesAndHoldersAllowedStatus: |
| json_['multipleDevicesAndHoldersAllowedStatus'] as core.String?, |
| notifyPreference: json_['notifyPreference'] as core.String?, |
| redemptionIssuers: (json_['redemptionIssuers'] as core.List?) |
| ?.map((value) => value as core.String) |
| .toList(), |
| review: json_.containsKey('review') |
| ? Review.fromJson( |
| json_['review'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| reviewStatus: json_['reviewStatus'] as core.String?, |
| rowLabel: json_['rowLabel'] as core.String?, |
| seatLabel: json_['seatLabel'] as core.String?, |
| sectionLabel: json_['sectionLabel'] as core.String?, |
| securityAnimation: json_.containsKey('securityAnimation') |
| ? SecurityAnimation.fromJson( |
| json_['securityAnimation'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| textModulesData: (json_['textModulesData'] as core.List?) |
| ?.map( |
| (value) => TextModuleData.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| valueAddedModuleData: (json_['valueAddedModuleData'] as core.List?) |
| ?.map( |
| (value) => ValueAddedModuleData.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| venue: json_.containsKey('venue') |
| ? EventVenue.fromJson( |
| json_['venue'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| version: json_['version'] as core.String?, |
| viewUnlockRequirement: json_['viewUnlockRequirement'] as core.String?, |
| wideLogo: json_.containsKey('wideLogo') |
| ? Image.fromJson( |
| json_['wideLogo'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| wordMark: json_.containsKey('wordMark') |
| ? Image.fromJson( |
| json_['wordMark'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final allowMultipleUsersPerObject = this.allowMultipleUsersPerObject; |
| final appLinkData = this.appLinkData; |
| final callbackOptions = this.callbackOptions; |
| final classTemplateInfo = this.classTemplateInfo; |
| final confirmationCodeLabel = this.confirmationCodeLabel; |
| final countryCode = this.countryCode; |
| final customConfirmationCodeLabel = this.customConfirmationCodeLabel; |
| final customGateLabel = this.customGateLabel; |
| final customRowLabel = this.customRowLabel; |
| final customSeatLabel = this.customSeatLabel; |
| final customSectionLabel = this.customSectionLabel; |
| final dateTime = this.dateTime; |
| final enableSmartTap = this.enableSmartTap; |
| final eventId = this.eventId; |
| final eventName = this.eventName; |
| final finePrint = this.finePrint; |
| final gateLabel = this.gateLabel; |
| final heroImage = this.heroImage; |
| final hexBackgroundColor = this.hexBackgroundColor; |
| final homepageUri = this.homepageUri; |
| final id = this.id; |
| final imageModulesData = this.imageModulesData; |
| final infoModuleData = this.infoModuleData; |
| final issuerName = this.issuerName; |
| final kind = this.kind; |
| final linksModuleData = this.linksModuleData; |
| final localizedIssuerName = this.localizedIssuerName; |
| final locations = this.locations; |
| final logo = this.logo; |
| final merchantLocations = this.merchantLocations; |
| final messages = this.messages; |
| final multipleDevicesAndHoldersAllowedStatus = |
| this.multipleDevicesAndHoldersAllowedStatus; |
| final notifyPreference = this.notifyPreference; |
| final redemptionIssuers = this.redemptionIssuers; |
| final review = this.review; |
| final reviewStatus = this.reviewStatus; |
| final rowLabel = this.rowLabel; |
| final seatLabel = this.seatLabel; |
| final sectionLabel = this.sectionLabel; |
| final securityAnimation = this.securityAnimation; |
| final textModulesData = this.textModulesData; |
| final valueAddedModuleData = this.valueAddedModuleData; |
| final venue = this.venue; |
| final version = this.version; |
| final viewUnlockRequirement = this.viewUnlockRequirement; |
| final wideLogo = this.wideLogo; |
| final wordMark = this.wordMark; |
| return { |
| 'allowMultipleUsersPerObject': ?allowMultipleUsersPerObject, |
| 'appLinkData': ?appLinkData, |
| 'callbackOptions': ?callbackOptions, |
| 'classTemplateInfo': ?classTemplateInfo, |
| 'confirmationCodeLabel': ?confirmationCodeLabel, |
| 'countryCode': ?countryCode, |
| 'customConfirmationCodeLabel': ?customConfirmationCodeLabel, |
| 'customGateLabel': ?customGateLabel, |
| 'customRowLabel': ?customRowLabel, |
| 'customSeatLabel': ?customSeatLabel, |
| 'customSectionLabel': ?customSectionLabel, |
| 'dateTime': ?dateTime, |
| 'enableSmartTap': ?enableSmartTap, |
| 'eventId': ?eventId, |
| 'eventName': ?eventName, |
| 'finePrint': ?finePrint, |
| 'gateLabel': ?gateLabel, |
| 'heroImage': ?heroImage, |
| 'hexBackgroundColor': ?hexBackgroundColor, |
| 'homepageUri': ?homepageUri, |
| 'id': ?id, |
| 'imageModulesData': ?imageModulesData, |
| 'infoModuleData': ?infoModuleData, |
| 'issuerName': ?issuerName, |
| 'kind': ?kind, |
| 'linksModuleData': ?linksModuleData, |
| 'localizedIssuerName': ?localizedIssuerName, |
| 'locations': ?locations, |
| 'logo': ?logo, |
| 'merchantLocations': ?merchantLocations, |
| 'messages': ?messages, |
| 'multipleDevicesAndHoldersAllowedStatus': |
| ?multipleDevicesAndHoldersAllowedStatus, |
| 'notifyPreference': ?notifyPreference, |
| 'redemptionIssuers': ?redemptionIssuers, |
| 'review': ?review, |
| 'reviewStatus': ?reviewStatus, |
| 'rowLabel': ?rowLabel, |
| 'seatLabel': ?seatLabel, |
| 'sectionLabel': ?sectionLabel, |
| 'securityAnimation': ?securityAnimation, |
| 'textModulesData': ?textModulesData, |
| 'valueAddedModuleData': ?valueAddedModuleData, |
| 'venue': ?venue, |
| 'version': ?version, |
| 'viewUnlockRequirement': ?viewUnlockRequirement, |
| 'wideLogo': ?wideLogo, |
| 'wordMark': ?wordMark, |
| }; |
| } |
| } |
| |
| class EventTicketClassAddMessageResponse { |
| /// The updated EventTicketClass resource. |
| EventTicketClass? resource; |
| |
| EventTicketClassAddMessageResponse({this.resource}); |
| |
| EventTicketClassAddMessageResponse.fromJson(core.Map json_) |
| : this( |
| resource: json_.containsKey('resource') |
| ? EventTicketClass.fromJson( |
| json_['resource'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final resource = this.resource; |
| return {'resource': ?resource}; |
| } |
| } |
| |
| class EventTicketClassListResponse { |
| /// Pagination of the response. |
| Pagination? pagination; |
| |
| /// Resources corresponding to the list request. |
| core.List<EventTicketClass>? resources; |
| |
| EventTicketClassListResponse({this.pagination, this.resources}); |
| |
| EventTicketClassListResponse.fromJson(core.Map json_) |
| : this( |
| pagination: json_.containsKey('pagination') |
| ? Pagination.fromJson( |
| json_['pagination'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| resources: (json_['resources'] as core.List?) |
| ?.map( |
| (value) => EventTicketClass.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final pagination = this.pagination; |
| final resources = this.resources; |
| return {'pagination': ?pagination, 'resources': ?resources}; |
| } |
| } |
| |
| class EventTicketObject { |
| /// 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. |
| AppLinkData? appLinkData; |
| |
| /// The barcode type and value. |
| Barcode? barcode; |
| |
| /// 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. |
| /// |
| /// Required. |
| core.String? classId; |
| |
| /// A copy of the inherited fields of the parent class. |
| /// |
| /// These fields are retrieved during a GET. |
| EventTicketClass? classReference; |
| |
| /// 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. |
| core.bool? disableExpirationNotification; |
| |
| /// The face value of the ticket, matching what would be printed on a physical |
| /// version of the ticket. |
| Money? faceValue; |
| |
| /// Information that controls how passes are grouped together. |
| GroupingInfo? groupingInfo; |
| |
| /// 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. |
| core.bool? hasLinkedDevice; |
| |
| /// Indicates if the object has users. |
| /// |
| /// This field is set by the platform. |
| core.bool? hasUsers; |
| |
| /// 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. |
| Image? heroImage; |
| |
| /// 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`. |
| core.String? hexBackgroundColor; |
| |
| /// 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 '-'. |
| /// |
| /// Required. |
| core.String? id; |
| |
| /// Image module data. |
| /// |
| /// The maximum number of these fields displayed is 1 from object level and 1 |
| /// for class object level. |
| core.List<ImageModuleData>? imageModulesData; |
| |
| /// Use textModulesData instead. |
| /// |
| /// Deprecated. |
| InfoModuleData? infoModuleData; |
| |
| /// Identifies what kind of resource this is. |
| /// |
| /// Value: the fixed string `"walletobjects#eventTicketObject"`. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.String? kind; |
| |
| /// 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. |
| core.List<core.String>? linkedObjectIds; |
| |
| /// 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. |
| core.List<core.String>? linkedOfferIds; |
| |
| /// Links module data. |
| /// |
| /// If links module data is also defined on the class, both will be displayed. |
| LinksModuleData? linksModuleData; |
| |
| /// Note: This field is currently not supported to trigger geo notifications. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.List<LatLongPoint>? locations; |
| |
| /// 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. |
| core.List<MerchantLocation>? merchantLocations; |
| |
| /// 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. |
| core.List<Message>? messages; |
| |
| /// 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. |
| /// Possible string values are: |
| /// - "NOTIFICATION_SETTINGS_FOR_UPDATES_UNSPECIFIED" : Default behavior is no |
| /// notifications sent. |
| /// - "NOTIFY_ON_UPDATE" : This value will result in a notification being |
| /// sent, if the updated fields are part of an allowlist. |
| core.String? notifyPreference; |
| |
| /// Pass constraints for the object. |
| /// |
| /// Includes limiting NFC and screenshot behaviors. |
| PassConstraints? passConstraints; |
| |
| /// Reservation details for this ticket. |
| /// |
| /// This is expected to be shared amongst all tickets that were purchased in |
| /// the same order. |
| EventReservationInfo? reservationInfo; |
| |
| /// The rotating barcode type and value. |
| RotatingBarcode? rotatingBarcode; |
| |
| /// 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. |
| SaveRestrictions? saveRestrictions; |
| |
| /// Seating details for this ticket. |
| EventSeat? seatInfo; |
| |
| /// 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. |
| core.String? smartTapRedemptionValue; |
| |
| /// 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. |
| /// |
| /// Required. |
| /// Possible string values are: |
| /// - "STATE_UNSPECIFIED" : Default value. |
| /// - "ACTIVE" : Object is active and displayed to with other active objects. |
| /// - "active" : Legacy alias for `ACTIVE`. Deprecated. |
| /// - "COMPLETED" : Object has completed it's lifecycle. |
| /// - "completed" : Legacy alias for `COMPLETED`. Deprecated. |
| /// - "EXPIRED" : Object is no longer valid (`validTimeInterval` passed). |
| /// - "expired" : Legacy alias for `EXPIRED`. Deprecated. |
| /// - "INACTIVE" : Object is no longer valid |
| /// - "inactive" : Legacy alias for `INACTIVE`. Deprecated. |
| core.String? state; |
| |
| /// 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. |
| core.List<TextModuleData>? textModulesData; |
| |
| /// Name of the ticket holder, if the ticket is assigned to a person. |
| /// |
| /// E.g. "John Doe" or "Jane Doe". |
| core.String? ticketHolderName; |
| |
| /// 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.). |
| core.String? ticketNumber; |
| |
| /// The type of the ticket, such as "Adult" or "Child", or "VIP" or |
| /// "Standard". |
| LocalizedString? ticketType; |
| |
| /// 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. |
| TimeInterval? validTimeInterval; |
| |
| /// Optional value added module data. |
| /// |
| /// Maximum of fifteen on the object. For a pass only fifteen will be |
| /// displayed. |
| core.List<ValueAddedModuleData>? valueAddedModuleData; |
| |
| /// Deprecated |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.String? version; |
| |
| EventTicketObject({ |
| this.appLinkData, |
| this.barcode, |
| this.classId, |
| this.classReference, |
| this.disableExpirationNotification, |
| this.faceValue, |
| this.groupingInfo, |
| this.hasLinkedDevice, |
| this.hasUsers, |
| this.heroImage, |
| this.hexBackgroundColor, |
| this.id, |
| this.imageModulesData, |
| this.infoModuleData, |
| this.kind, |
| this.linkedObjectIds, |
| this.linkedOfferIds, |
| this.linksModuleData, |
| this.locations, |
| this.merchantLocations, |
| this.messages, |
| this.notifyPreference, |
| this.passConstraints, |
| this.reservationInfo, |
| this.rotatingBarcode, |
| this.saveRestrictions, |
| this.seatInfo, |
| this.smartTapRedemptionValue, |
| this.state, |
| this.textModulesData, |
| this.ticketHolderName, |
| this.ticketNumber, |
| this.ticketType, |
| this.validTimeInterval, |
| this.valueAddedModuleData, |
| this.version, |
| }); |
| |
| EventTicketObject.fromJson(core.Map json_) |
| : this( |
| appLinkData: json_.containsKey('appLinkData') |
| ? AppLinkData.fromJson( |
| json_['appLinkData'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| barcode: json_.containsKey('barcode') |
| ? Barcode.fromJson( |
| json_['barcode'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| classId: json_['classId'] as core.String?, |
| classReference: json_.containsKey('classReference') |
| ? EventTicketClass.fromJson( |
| json_['classReference'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| disableExpirationNotification: |
| json_['disableExpirationNotification'] as core.bool?, |
| faceValue: json_.containsKey('faceValue') |
| ? Money.fromJson( |
| json_['faceValue'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| groupingInfo: json_.containsKey('groupingInfo') |
| ? GroupingInfo.fromJson( |
| json_['groupingInfo'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| hasLinkedDevice: json_['hasLinkedDevice'] as core.bool?, |
| hasUsers: json_['hasUsers'] as core.bool?, |
| heroImage: json_.containsKey('heroImage') |
| ? Image.fromJson( |
| json_['heroImage'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| hexBackgroundColor: json_['hexBackgroundColor'] as core.String?, |
| id: json_['id'] as core.String?, |
| imageModulesData: (json_['imageModulesData'] as core.List?) |
| ?.map( |
| (value) => ImageModuleData.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| infoModuleData: json_.containsKey('infoModuleData') |
| ? InfoModuleData.fromJson( |
| json_['infoModuleData'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| kind: json_['kind'] as core.String?, |
| linkedObjectIds: (json_['linkedObjectIds'] as core.List?) |
| ?.map((value) => value as core.String) |
| .toList(), |
| linkedOfferIds: (json_['linkedOfferIds'] as core.List?) |
| ?.map((value) => value as core.String) |
| .toList(), |
| linksModuleData: json_.containsKey('linksModuleData') |
| ? LinksModuleData.fromJson( |
| json_['linksModuleData'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| locations: (json_['locations'] as core.List?) |
| ?.map( |
| (value) => LatLongPoint.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| merchantLocations: (json_['merchantLocations'] as core.List?) |
| ?.map( |
| (value) => MerchantLocation.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| messages: (json_['messages'] as core.List?) |
| ?.map( |
| (value) => Message.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| notifyPreference: json_['notifyPreference'] as core.String?, |
| passConstraints: json_.containsKey('passConstraints') |
| ? PassConstraints.fromJson( |
| json_['passConstraints'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| reservationInfo: json_.containsKey('reservationInfo') |
| ? EventReservationInfo.fromJson( |
| json_['reservationInfo'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| rotatingBarcode: json_.containsKey('rotatingBarcode') |
| ? RotatingBarcode.fromJson( |
| json_['rotatingBarcode'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| saveRestrictions: json_.containsKey('saveRestrictions') |
| ? SaveRestrictions.fromJson( |
| json_['saveRestrictions'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| seatInfo: json_.containsKey('seatInfo') |
| ? EventSeat.fromJson( |
| json_['seatInfo'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| smartTapRedemptionValue: |
| json_['smartTapRedemptionValue'] as core.String?, |
| state: json_['state'] as core.String?, |
| textModulesData: (json_['textModulesData'] as core.List?) |
| ?.map( |
| (value) => TextModuleData.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| ticketHolderName: json_['ticketHolderName'] as core.String?, |
| ticketNumber: json_['ticketNumber'] as core.String?, |
| ticketType: json_.containsKey('ticketType') |
| ? LocalizedString.fromJson( |
| json_['ticketType'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| validTimeInterval: json_.containsKey('validTimeInterval') |
| ? TimeInterval.fromJson( |
| json_['validTimeInterval'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| valueAddedModuleData: (json_['valueAddedModuleData'] as core.List?) |
| ?.map( |
| (value) => ValueAddedModuleData.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| version: json_['version'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final appLinkData = this.appLinkData; |
| final barcode = this.barcode; |
| final classId = this.classId; |
| final classReference = this.classReference; |
| final disableExpirationNotification = this.disableExpirationNotification; |
| final faceValue = this.faceValue; |
| final groupingInfo = this.groupingInfo; |
| final hasLinkedDevice = this.hasLinkedDevice; |
| final hasUsers = this.hasUsers; |
| final heroImage = this.heroImage; |
| final hexBackgroundColor = this.hexBackgroundColor; |
| final id = this.id; |
| final imageModulesData = this.imageModulesData; |
| final infoModuleData = this.infoModuleData; |
| final kind = this.kind; |
| final linkedObjectIds = this.linkedObjectIds; |
| final linkedOfferIds = this.linkedOfferIds; |
| final linksModuleData = this.linksModuleData; |
| final locations = this.locations; |
| final merchantLocations = this.merchantLocations; |
| final messages = this.messages; |
| final notifyPreference = this.notifyPreference; |
| final passConstraints = this.passConstraints; |
| final reservationInfo = this.reservationInfo; |
| final rotatingBarcode = this.rotatingBarcode; |
| final saveRestrictions = this.saveRestrictions; |
| final seatInfo = this.seatInfo; |
| final smartTapRedemptionValue = this.smartTapRedemptionValue; |
| final state = this.state; |
| final textModulesData = this.textModulesData; |
| final ticketHolderName = this.ticketHolderName; |
| final ticketNumber = this.ticketNumber; |
| final ticketType = this.ticketType; |
| final validTimeInterval = this.validTimeInterval; |
| final valueAddedModuleData = this.valueAddedModuleData; |
| final version = this.version; |
| return { |
| 'appLinkData': ?appLinkData, |
| 'barcode': ?barcode, |
| 'classId': ?classId, |
| 'classReference': ?classReference, |
| 'disableExpirationNotification': ?disableExpirationNotification, |
| 'faceValue': ?faceValue, |
| 'groupingInfo': ?groupingInfo, |
| 'hasLinkedDevice': ?hasLinkedDevice, |
| 'hasUsers': ?hasUsers, |
| 'heroImage': ?heroImage, |
| 'hexBackgroundColor': ?hexBackgroundColor, |
| 'id': ?id, |
| 'imageModulesData': ?imageModulesData, |
| 'infoModuleData': ?infoModuleData, |
| 'kind': ?kind, |
| 'linkedObjectIds': ?linkedObjectIds, |
| 'linkedOfferIds': ?linkedOfferIds, |
| 'linksModuleData': ?linksModuleData, |
| 'locations': ?locations, |
| 'merchantLocations': ?merchantLocations, |
| 'messages': ?messages, |
| 'notifyPreference': ?notifyPreference, |
| 'passConstraints': ?passConstraints, |
| 'reservationInfo': ?reservationInfo, |
| 'rotatingBarcode': ?rotatingBarcode, |
| 'saveRestrictions': ?saveRestrictions, |
| 'seatInfo': ?seatInfo, |
| 'smartTapRedemptionValue': ?smartTapRedemptionValue, |
| 'state': ?state, |
| 'textModulesData': ?textModulesData, |
| 'ticketHolderName': ?ticketHolderName, |
| 'ticketNumber': ?ticketNumber, |
| 'ticketType': ?ticketType, |
| 'validTimeInterval': ?validTimeInterval, |
| 'valueAddedModuleData': ?valueAddedModuleData, |
| 'version': ?version, |
| }; |
| } |
| } |
| |
| class EventTicketObjectAddMessageResponse { |
| /// The updated EventTicketObject resource. |
| EventTicketObject? resource; |
| |
| EventTicketObjectAddMessageResponse({this.resource}); |
| |
| EventTicketObjectAddMessageResponse.fromJson(core.Map json_) |
| : this( |
| resource: json_.containsKey('resource') |
| ? EventTicketObject.fromJson( |
| json_['resource'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final resource = this.resource; |
| return {'resource': ?resource}; |
| } |
| } |
| |
| class EventTicketObjectListResponse { |
| /// Pagination of the response. |
| Pagination? pagination; |
| |
| /// Resources corresponding to the list request. |
| core.List<EventTicketObject>? resources; |
| |
| EventTicketObjectListResponse({this.pagination, this.resources}); |
| |
| EventTicketObjectListResponse.fromJson(core.Map json_) |
| : this( |
| pagination: json_.containsKey('pagination') |
| ? Pagination.fromJson( |
| json_['pagination'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| resources: (json_['resources'] as core.List?) |
| ?.map( |
| (value) => EventTicketObject.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final pagination = this.pagination; |
| final resources = this.resources; |
| return {'pagination': ?pagination, 'resources': ?resources}; |
| } |
| } |
| |
| class EventVenue { |
| /// 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. |
| LocalizedString? address; |
| |
| /// Identifies what kind of resource this is. |
| /// |
| /// Value: the fixed string `"walletobjects#eventVenue"`. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.String? kind; |
| |
| /// The name of the venue, such as "AT&T Park". |
| /// |
| /// This is required. |
| LocalizedString? name; |
| |
| EventVenue({this.address, this.kind, this.name}); |
| |
| EventVenue.fromJson(core.Map json_) |
| : this( |
| address: json_.containsKey('address') |
| ? LocalizedString.fromJson( |
| json_['address'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| kind: json_['kind'] as core.String?, |
| name: json_.containsKey('name') |
| ? LocalizedString.fromJson( |
| json_['name'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final address = this.address; |
| final kind = this.kind; |
| final name = this.name; |
| return {'address': ?address, 'kind': ?kind, 'name': ?name}; |
| } |
| } |
| |
| /// Indicates that the issuer would like Google Wallet to send expiry |
| /// notifications 2 days prior to the card expiration. |
| class ExpiryNotification { |
| /// Indicates if the object needs to have expiry notification enabled. |
| core.bool? enableNotification; |
| |
| ExpiryNotification({this.enableNotification}); |
| |
| ExpiryNotification.fromJson(core.Map json_) |
| : this(enableNotification: json_['enableNotification'] as core.bool?); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final enableNotification = this.enableNotification; |
| return {'enableNotification': ?enableNotification}; |
| } |
| } |
| |
| /// Reference definition to use with field overrides. |
| class FieldReference { |
| /// Only valid if the `fieldPath` references a date field. |
| /// |
| /// Chooses how the date field will be formatted and displayed in the UI. |
| /// Possible string values are: |
| /// - "DATE_FORMAT_UNSPECIFIED" : Default option when no format is specified, |
| /// when selected, no formatting will be applied. |
| /// - "DATE_TIME" : Renders `2018-12-14T13:00:00` as `Dec 14, 1:00 PM` in |
| /// `en_US`. |
| /// - "dateTime" : Legacy alias for `DATE_TIME`. Deprecated. |
| /// - "DATE_ONLY" : Renders `2018-12-14T13:00:00` as `Dec 14` in `en_US`. |
| /// - "dateOnly" : Legacy alias for `DATE_ONLY`. Deprecated. |
| /// - "TIME_ONLY" : Renders `2018-12-14T13:00:00` as `1:00 PM` in `en_US`. |
| /// - "timeOnly" : Legacy alias for `TIME_ONLY`. Deprecated. |
| /// - "DATE_TIME_YEAR" : Renders `2018-12-14T13:00:00` as `Dec 14, 2018, 1:00 |
| /// PM` in `en_US`. |
| /// - "dateTimeYear" : Legacy alias for `DATE_TIME_YEAR`. Deprecated. |
| /// - "DATE_YEAR" : Renders `2018-12-14T13:00:00` as `Dec 14, 2018` in |
| /// `en_US`. |
| /// - "dateYear" : Legacy alias for `DATE_YEAR`. Deprecated. |
| /// - "YEAR_MONTH" : Renders `2018-12-14T13:00:00` as `2018-12`. |
| /// - "YEAR_MONTH_DAY" : Renders `2018-12-14T13:00:00` as `2018-12-14`. |
| core.String? dateFormat; |
| |
| /// 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". |
| core.String? fieldPath; |
| |
| FieldReference({this.dateFormat, this.fieldPath}); |
| |
| FieldReference.fromJson(core.Map json_) |
| : this( |
| dateFormat: json_['dateFormat'] as core.String?, |
| fieldPath: json_['fieldPath'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final dateFormat = this.dateFormat; |
| final fieldPath = this.fieldPath; |
| return {'dateFormat': ?dateFormat, 'fieldPath': ?fieldPath}; |
| } |
| } |
| |
| /// Custom field selector to use with field overrides. |
| class FieldSelector { |
| /// If more than one reference is supplied, then the first one that references |
| /// a non-empty field will be displayed. |
| core.List<FieldReference>? fields; |
| |
| FieldSelector({this.fields}); |
| |
| FieldSelector.fromJson(core.Map json_) |
| : this( |
| fields: (json_['fields'] as core.List?) |
| ?.map( |
| (value) => FieldReference.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final fields = this.fields; |
| return {'fields': ?fields}; |
| } |
| } |
| |
| class FirstRowOption { |
| /// A reference to the field to be displayed in the first row. |
| FieldSelector? fieldOption; |
| |
| /// |
| /// Possible string values are: |
| /// - "TRANSIT_OPTION_UNSPECIFIED" |
| /// - "ORIGIN_AND_DESTINATION_NAMES" |
| /// - "originAndDestinationNames" : Legacy alias for |
| /// `ORIGIN_AND_DESTINATION_NAMES`. Deprecated. |
| /// - "ORIGIN_AND_DESTINATION_CODES" |
| /// - "originAndDestinationCodes" : Legacy alias for |
| /// `ORIGIN_AND_DESTINATION_CODES`. Deprecated. |
| /// - "ORIGIN_NAME" |
| /// - "originName" : Legacy alias for `ORIGIN_NAME`. Deprecated. |
| core.String? transitOption; |
| |
| FirstRowOption({this.fieldOption, this.transitOption}); |
| |
| FirstRowOption.fromJson(core.Map json_) |
| : this( |
| fieldOption: json_.containsKey('fieldOption') |
| ? FieldSelector.fromJson( |
| json_['fieldOption'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| transitOption: json_['transitOption'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final fieldOption = this.fieldOption; |
| final transitOption = this.transitOption; |
| return {'fieldOption': ?fieldOption, 'transitOption': ?transitOption}; |
| } |
| } |
| |
| class FlightCarrier { |
| /// A logo for the airline alliance, displayed below the QR code that the |
| /// passenger scans to board. |
| Image? airlineAllianceLogo; |
| |
| /// A logo for the airline described by carrierIataCode and |
| /// localizedAirlineName. |
| /// |
| /// This logo will be rendered at the top of the detailed card view. |
| Image? airlineLogo; |
| |
| /// 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" |
| LocalizedString? airlineName; |
| |
| /// 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 |
| core.String? carrierIataCode; |
| |
| /// 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 |
| core.String? carrierIcaoCode; |
| |
| /// Identifies what kind of resource this is. |
| /// |
| /// Value: the fixed string `"walletobjects#flightCarrier"`. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.String? kind; |
| |
| /// 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. |
| Image? wideAirlineLogo; |
| |
| FlightCarrier({ |
| this.airlineAllianceLogo, |
| this.airlineLogo, |
| this.airlineName, |
| this.carrierIataCode, |
| this.carrierIcaoCode, |
| this.kind, |
| this.wideAirlineLogo, |
| }); |
| |
| FlightCarrier.fromJson(core.Map json_) |
| : this( |
| airlineAllianceLogo: json_.containsKey('airlineAllianceLogo') |
| ? Image.fromJson( |
| json_['airlineAllianceLogo'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| airlineLogo: json_.containsKey('airlineLogo') |
| ? Image.fromJson( |
| json_['airlineLogo'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| airlineName: json_.containsKey('airlineName') |
| ? LocalizedString.fromJson( |
| json_['airlineName'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| carrierIataCode: json_['carrierIataCode'] as core.String?, |
| carrierIcaoCode: json_['carrierIcaoCode'] as core.String?, |
| kind: json_['kind'] as core.String?, |
| wideAirlineLogo: json_.containsKey('wideAirlineLogo') |
| ? Image.fromJson( |
| json_['wideAirlineLogo'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final airlineAllianceLogo = this.airlineAllianceLogo; |
| final airlineLogo = this.airlineLogo; |
| final airlineName = this.airlineName; |
| final carrierIataCode = this.carrierIataCode; |
| final carrierIcaoCode = this.carrierIcaoCode; |
| final kind = this.kind; |
| final wideAirlineLogo = this.wideAirlineLogo; |
| return { |
| 'airlineAllianceLogo': ?airlineAllianceLogo, |
| 'airlineLogo': ?airlineLogo, |
| 'airlineName': ?airlineName, |
| 'carrierIataCode': ?carrierIataCode, |
| 'carrierIcaoCode': ?carrierIcaoCode, |
| 'kind': ?kind, |
| 'wideAirlineLogo': ?wideAirlineLogo, |
| }; |
| } |
| } |
| |
| class FlightClass { |
| /// Use `multipleDevicesAndHoldersAllowedStatus` instead. |
| /// |
| /// Deprecated. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.bool? allowMultipleUsersPerObject; |
| |
| /// 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. |
| AppLinkData? appLinkData; |
| |
| /// Policies for boarding and seating. |
| /// |
| /// These will inform which labels will be shown to users. |
| BoardingAndSeatingPolicy? boardingAndSeatingPolicy; |
| |
| /// 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. |
| CallbackOptions? callbackOptions; |
| |
| /// Template information about how the class should be displayed. |
| /// |
| /// If unset, Google will fallback to a default set of fields to display. |
| ClassTemplateInfo? classTemplateInfo; |
| |
| /// 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. |
| core.String? countryCode; |
| |
| /// Destination airport. |
| /// |
| /// Required. |
| AirportInfo? destination; |
| |
| /// 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. |
| core.bool? enableSmartTap; |
| |
| /// Information about the flight carrier and number. |
| /// |
| /// Required. |
| FlightHeader? flightHeader; |
| |
| /// 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. |
| /// Possible string values are: |
| /// - "FLIGHT_STATUS_UNSPECIFIED" |
| /// - "SCHEDULED" : Flight is on time, early, or delayed. |
| /// - "scheduled" : Legacy alias for `SCHEDULED`. Deprecated. |
| /// - "ACTIVE" : Flight is in progress (taxiing, taking off, landing, |
| /// airborne). |
| /// - "active" : Legacy alias for `ACTIVE`. Deprecated. |
| /// - "LANDED" : Flight landed at the original destination. |
| /// - "landed" : Legacy alias for `LANDED`. Deprecated. |
| /// - "CANCELLED" : Flight is cancelled. |
| /// - "cancelled" : Legacy alias for `CANCELLED`. Deprecated. |
| /// - "REDIRECTED" : Flight is airborne but heading to a different airport |
| /// than the original destination. |
| /// - "redirected" : Legacy alias for `REDIRECTED`. Deprecated. |
| /// - "DIVERTED" : Flight has already landed at a different airport than the |
| /// original destination. |
| /// - "diverted" : Legacy alias for `DIVERTED`. Deprecated. |
| core.String? flightStatus; |
| |
| /// 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. |
| Image? heroImage; |
| |
| /// 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`. |
| core.String? hexBackgroundColor; |
| |
| /// 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). |
| Uri? homepageUri; |
| |
| /// 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 '-'. |
| /// |
| /// Required. |
| core.String? id; |
| |
| /// Image module data. |
| /// |
| /// The maximum number of these fields displayed is 1 from object level and 1 |
| /// for class object level. |
| core.List<ImageModuleData>? imageModulesData; |
| |
| /// Use textModulesData instead. |
| /// |
| /// Deprecated. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| InfoModuleData? infoModuleData; |
| |
| /// The issuer name. |
| /// |
| /// Recommended maximum length is 20 characters to ensure full string is |
| /// displayed on smaller screens. |
| /// |
| /// Required. |
| core.String? issuerName; |
| |
| /// Identifies what kind of resource this is. |
| /// |
| /// Value: the fixed string `"walletobjects#flightClass"`. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.String? kind; |
| |
| /// 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". |
| core.String? languageOverride; |
| |
| /// Links module data. |
| /// |
| /// If links module data is also defined on the object, both will be |
| /// displayed. |
| LinksModuleData? linksModuleData; |
| |
| /// 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. |
| core.String? localBoardingDateTime; |
| |
| /// 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. |
| core.String? localEstimatedOrActualArrivalDateTime; |
| |
| /// 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. |
| core.String? localEstimatedOrActualDepartureDateTime; |
| |
| /// 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. |
| core.String? localGateClosingDateTime; |
| |
| /// 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. |
| core.String? localScheduledArrivalDateTime; |
| |
| /// 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. |
| /// |
| /// Required. |
| core.String? localScheduledDepartureDateTime; |
| |
| /// Translated strings for the issuer_name. |
| /// |
| /// Recommended maximum length is 20 characters to ensure full string is |
| /// displayed on smaller screens. |
| LocalizedString? localizedIssuerName; |
| |
| /// Note: This field is currently not supported to trigger geo notifications. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.List<LatLongPoint>? locations; |
| |
| /// 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. |
| core.List<MerchantLocation>? merchantLocations; |
| |
| /// 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. |
| core.List<Message>? messages; |
| |
| /// Identifies whether multiple users and devices will save the same object |
| /// referencing this class. |
| /// Possible string values are: |
| /// - "STATUS_UNSPECIFIED" : Unspecified preference. |
| /// - "MULTIPLE_HOLDERS" : 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. |
| /// - "ONE_USER_ALL_DEVICES" : 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. |
| /// - "ONE_USER_ONE_DEVICE" : 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. |
| /// - "multipleHolders" : Legacy alias for `MULTIPLE_HOLDERS`. Deprecated. |
| /// - "oneUserAllDevices" : Legacy alias for `ONE_USER_ALL_DEVICES`. |
| /// Deprecated. |
| /// - "oneUserOneDevice" : Legacy alias for `ONE_USER_ONE_DEVICE`. Deprecated. |
| core.String? multipleDevicesAndHoldersAllowedStatus; |
| |
| /// 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. |
| /// Possible string values are: |
| /// - "NOTIFICATION_SETTINGS_FOR_UPDATES_UNSPECIFIED" : Default behavior is no |
| /// notifications sent. |
| /// - "NOTIFY_ON_UPDATE" : This value will result in a notification being |
| /// sent, if the updated fields are part of an allowlist. |
| core.String? notifyPreference; |
| |
| /// Origin airport. |
| /// |
| /// Required. |
| AirportInfo? origin; |
| |
| /// 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. |
| core.List<core.String>? redemptionIssuers; |
| |
| /// The review comments set by the platform when a class is marked `approved` |
| /// or `rejected`. |
| Review? review; |
| |
| /// 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`. |
| /// |
| /// Required. |
| /// Possible string values are: |
| /// - "REVIEW_STATUS_UNSPECIFIED" |
| /// - "UNDER_REVIEW" |
| /// - "underReview" : Legacy alias for `UNDER_REVIEW`. Deprecated. |
| /// - "APPROVED" |
| /// - "approved" : Legacy alias for `APPROVED`. Deprecated. |
| /// - "REJECTED" |
| /// - "rejected" : Legacy alias for `REJECTED`. Deprecated. |
| /// - "DRAFT" |
| /// - "draft" : Legacy alias for `DRAFT`. Deprecated. |
| core.String? reviewStatus; |
| |
| /// Optional information about the security animation. |
| /// |
| /// If this is set a security animation will be rendered on pass details. |
| SecurityAnimation? securityAnimation; |
| |
| /// 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. |
| core.List<TextModuleData>? textModulesData; |
| |
| /// Optional value added module data. |
| /// |
| /// Maximum of fifteen on the class. For a pass only fifteen will be |
| /// displayed, prioritizing those from the object. |
| core.List<ValueAddedModuleData>? valueAddedModuleData; |
| |
| /// Deprecated |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.String? version; |
| |
| /// View Unlock Requirement options for the boarding pass. |
| /// Possible string values are: |
| /// - "VIEW_UNLOCK_REQUIREMENT_UNSPECIFIED" : Default value, same as |
| /// UNLOCK_NOT_REQUIRED. |
| /// - "UNLOCK_NOT_REQUIRED" : Default behavior for all the existing Passes if |
| /// ViewUnlockRequirement is not set. |
| /// - "UNLOCK_REQUIRED_TO_VIEW" : 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. |
| core.String? viewUnlockRequirement; |
| |
| /// Deprecated. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| Image? wordMark; |
| |
| FlightClass({ |
| this.allowMultipleUsersPerObject, |
| this.appLinkData, |
| this.boardingAndSeatingPolicy, |
| this.callbackOptions, |
| this.classTemplateInfo, |
| this.countryCode, |
| this.destination, |
| this.enableSmartTap, |
| this.flightHeader, |
| this.flightStatus, |
| this.heroImage, |
| this.hexBackgroundColor, |
| this.homepageUri, |
| this.id, |
| this.imageModulesData, |
| this.infoModuleData, |
| this.issuerName, |
| this.kind, |
| this.languageOverride, |
| this.linksModuleData, |
| this.localBoardingDateTime, |
| this.localEstimatedOrActualArrivalDateTime, |
| this.localEstimatedOrActualDepartureDateTime, |
| this.localGateClosingDateTime, |
| this.localScheduledArrivalDateTime, |
| this.localScheduledDepartureDateTime, |
| this.localizedIssuerName, |
| this.locations, |
| this.merchantLocations, |
| this.messages, |
| this.multipleDevicesAndHoldersAllowedStatus, |
| this.notifyPreference, |
| this.origin, |
| this.redemptionIssuers, |
| this.review, |
| this.reviewStatus, |
| this.securityAnimation, |
| this.textModulesData, |
| this.valueAddedModuleData, |
| this.version, |
| this.viewUnlockRequirement, |
| this.wordMark, |
| }); |
| |
| FlightClass.fromJson(core.Map json_) |
| : this( |
| allowMultipleUsersPerObject: |
| json_['allowMultipleUsersPerObject'] as core.bool?, |
| appLinkData: json_.containsKey('appLinkData') |
| ? AppLinkData.fromJson( |
| json_['appLinkData'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| boardingAndSeatingPolicy: json_.containsKey('boardingAndSeatingPolicy') |
| ? BoardingAndSeatingPolicy.fromJson( |
| json_['boardingAndSeatingPolicy'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| callbackOptions: json_.containsKey('callbackOptions') |
| ? CallbackOptions.fromJson( |
| json_['callbackOptions'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| classTemplateInfo: json_.containsKey('classTemplateInfo') |
| ? ClassTemplateInfo.fromJson( |
| json_['classTemplateInfo'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| countryCode: json_['countryCode'] as core.String?, |
| destination: json_.containsKey('destination') |
| ? AirportInfo.fromJson( |
| json_['destination'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| enableSmartTap: json_['enableSmartTap'] as core.bool?, |
| flightHeader: json_.containsKey('flightHeader') |
| ? FlightHeader.fromJson( |
| json_['flightHeader'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| flightStatus: json_['flightStatus'] as core.String?, |
| heroImage: json_.containsKey('heroImage') |
| ? Image.fromJson( |
| json_['heroImage'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| hexBackgroundColor: json_['hexBackgroundColor'] as core.String?, |
| homepageUri: json_.containsKey('homepageUri') |
| ? Uri.fromJson( |
| json_['homepageUri'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| id: json_['id'] as core.String?, |
| imageModulesData: (json_['imageModulesData'] as core.List?) |
| ?.map( |
| (value) => ImageModuleData.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| infoModuleData: json_.containsKey('infoModuleData') |
| ? InfoModuleData.fromJson( |
| json_['infoModuleData'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| issuerName: json_['issuerName'] as core.String?, |
| kind: json_['kind'] as core.String?, |
| languageOverride: json_['languageOverride'] as core.String?, |
| linksModuleData: json_.containsKey('linksModuleData') |
| ? LinksModuleData.fromJson( |
| json_['linksModuleData'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| localBoardingDateTime: json_['localBoardingDateTime'] as core.String?, |
| localEstimatedOrActualArrivalDateTime: |
| json_['localEstimatedOrActualArrivalDateTime'] as core.String?, |
| localEstimatedOrActualDepartureDateTime: |
| json_['localEstimatedOrActualDepartureDateTime'] as core.String?, |
| localGateClosingDateTime: |
| json_['localGateClosingDateTime'] as core.String?, |
| localScheduledArrivalDateTime: |
| json_['localScheduledArrivalDateTime'] as core.String?, |
| localScheduledDepartureDateTime: |
| json_['localScheduledDepartureDateTime'] as core.String?, |
| localizedIssuerName: json_.containsKey('localizedIssuerName') |
| ? LocalizedString.fromJson( |
| json_['localizedIssuerName'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| locations: (json_['locations'] as core.List?) |
| ?.map( |
| (value) => LatLongPoint.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| merchantLocations: (json_['merchantLocations'] as core.List?) |
| ?.map( |
| (value) => MerchantLocation.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| messages: (json_['messages'] as core.List?) |
| ?.map( |
| (value) => Message.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| multipleDevicesAndHoldersAllowedStatus: |
| json_['multipleDevicesAndHoldersAllowedStatus'] as core.String?, |
| notifyPreference: json_['notifyPreference'] as core.String?, |
| origin: json_.containsKey('origin') |
| ? AirportInfo.fromJson( |
| json_['origin'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| redemptionIssuers: (json_['redemptionIssuers'] as core.List?) |
| ?.map((value) => value as core.String) |
| .toList(), |
| review: json_.containsKey('review') |
| ? Review.fromJson( |
| json_['review'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| reviewStatus: json_['reviewStatus'] as core.String?, |
| securityAnimation: json_.containsKey('securityAnimation') |
| ? SecurityAnimation.fromJson( |
| json_['securityAnimation'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| textModulesData: (json_['textModulesData'] as core.List?) |
| ?.map( |
| (value) => TextModuleData.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| valueAddedModuleData: (json_['valueAddedModuleData'] as core.List?) |
| ?.map( |
| (value) => ValueAddedModuleData.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| version: json_['version'] as core.String?, |
| viewUnlockRequirement: json_['viewUnlockRequirement'] as core.String?, |
| wordMark: json_.containsKey('wordMark') |
| ? Image.fromJson( |
| json_['wordMark'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final allowMultipleUsersPerObject = this.allowMultipleUsersPerObject; |
| final appLinkData = this.appLinkData; |
| final boardingAndSeatingPolicy = this.boardingAndSeatingPolicy; |
| final callbackOptions = this.callbackOptions; |
| final classTemplateInfo = this.classTemplateInfo; |
| final countryCode = this.countryCode; |
| final destination = this.destination; |
| final enableSmartTap = this.enableSmartTap; |
| final flightHeader = this.flightHeader; |
| final flightStatus = this.flightStatus; |
| final heroImage = this.heroImage; |
| final hexBackgroundColor = this.hexBackgroundColor; |
| final homepageUri = this.homepageUri; |
| final id = this.id; |
| final imageModulesData = this.imageModulesData; |
| final infoModuleData = this.infoModuleData; |
| final issuerName = this.issuerName; |
| final kind = this.kind; |
| final languageOverride = this.languageOverride; |
| final linksModuleData = this.linksModuleData; |
| final localBoardingDateTime = this.localBoardingDateTime; |
| final localEstimatedOrActualArrivalDateTime = |
| this.localEstimatedOrActualArrivalDateTime; |
| final localEstimatedOrActualDepartureDateTime = |
| this.localEstimatedOrActualDepartureDateTime; |
| final localGateClosingDateTime = this.localGateClosingDateTime; |
| final localScheduledArrivalDateTime = this.localScheduledArrivalDateTime; |
| final localScheduledDepartureDateTime = |
| this.localScheduledDepartureDateTime; |
| final localizedIssuerName = this.localizedIssuerName; |
| final locations = this.locations; |
| final merchantLocations = this.merchantLocations; |
| final messages = this.messages; |
| final multipleDevicesAndHoldersAllowedStatus = |
| this.multipleDevicesAndHoldersAllowedStatus; |
| final notifyPreference = this.notifyPreference; |
| final origin = this.origin; |
| final redemptionIssuers = this.redemptionIssuers; |
| final review = this.review; |
| final reviewStatus = this.reviewStatus; |
| final securityAnimation = this.securityAnimation; |
| final textModulesData = this.textModulesData; |
| final valueAddedModuleData = this.valueAddedModuleData; |
| final version = this.version; |
| final viewUnlockRequirement = this.viewUnlockRequirement; |
| final wordMark = this.wordMark; |
| return { |
| 'allowMultipleUsersPerObject': ?allowMultipleUsersPerObject, |
| 'appLinkData': ?appLinkData, |
| 'boardingAndSeatingPolicy': ?boardingAndSeatingPolicy, |
| 'callbackOptions': ?callbackOptions, |
| 'classTemplateInfo': ?classTemplateInfo, |
| 'countryCode': ?countryCode, |
| 'destination': ?destination, |
| 'enableSmartTap': ?enableSmartTap, |
| 'flightHeader': ?flightHeader, |
| 'flightStatus': ?flightStatus, |
| 'heroImage': ?heroImage, |
| 'hexBackgroundColor': ?hexBackgroundColor, |
| 'homepageUri': ?homepageUri, |
| 'id': ?id, |
| 'imageModulesData': ?imageModulesData, |
| 'infoModuleData': ?infoModuleData, |
| 'issuerName': ?issuerName, |
| 'kind': ?kind, |
| 'languageOverride': ?languageOverride, |
| 'linksModuleData': ?linksModuleData, |
| 'localBoardingDateTime': ?localBoardingDateTime, |
| 'localEstimatedOrActualArrivalDateTime': |
| ?localEstimatedOrActualArrivalDateTime, |
| 'localEstimatedOrActualDepartureDateTime': |
| ?localEstimatedOrActualDepartureDateTime, |
| 'localGateClosingDateTime': ?localGateClosingDateTime, |
| 'localScheduledArrivalDateTime': ?localScheduledArrivalDateTime, |
| 'localScheduledDepartureDateTime': ?localScheduledDepartureDateTime, |
| 'localizedIssuerName': ?localizedIssuerName, |
| 'locations': ?locations, |
| 'merchantLocations': ?merchantLocations, |
| 'messages': ?messages, |
| 'multipleDevicesAndHoldersAllowedStatus': |
| ?multipleDevicesAndHoldersAllowedStatus, |
| 'notifyPreference': ?notifyPreference, |
| 'origin': ?origin, |
| 'redemptionIssuers': ?redemptionIssuers, |
| 'review': ?review, |
| 'reviewStatus': ?reviewStatus, |
| 'securityAnimation': ?securityAnimation, |
| 'textModulesData': ?textModulesData, |
| 'valueAddedModuleData': ?valueAddedModuleData, |
| 'version': ?version, |
| 'viewUnlockRequirement': ?viewUnlockRequirement, |
| 'wordMark': ?wordMark, |
| }; |
| } |
| } |
| |
| class FlightClassAddMessageResponse { |
| /// The updated FlightClass resource. |
| FlightClass? resource; |
| |
| FlightClassAddMessageResponse({this.resource}); |
| |
| FlightClassAddMessageResponse.fromJson(core.Map json_) |
| : this( |
| resource: json_.containsKey('resource') |
| ? FlightClass.fromJson( |
| json_['resource'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final resource = this.resource; |
| return {'resource': ?resource}; |
| } |
| } |
| |
| class FlightClassListResponse { |
| /// Pagination of the response. |
| Pagination? pagination; |
| |
| /// Resources corresponding to the list request. |
| core.List<FlightClass>? resources; |
| |
| FlightClassListResponse({this.pagination, this.resources}); |
| |
| FlightClassListResponse.fromJson(core.Map json_) |
| : this( |
| pagination: json_.containsKey('pagination') |
| ? Pagination.fromJson( |
| json_['pagination'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| resources: (json_['resources'] as core.List?) |
| ?.map( |
| (value) => FlightClass.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final pagination = this.pagination; |
| final resources = this.resources; |
| return {'pagination': ?pagination, 'resources': ?resources}; |
| } |
| } |
| |
| class FlightHeader { |
| /// Information about airline carrier. |
| /// |
| /// This is a required property of `flightHeader`. |
| FlightCarrier? carrier; |
| |
| /// The flight number without IATA carrier code. |
| /// |
| /// This field should contain only digits. This is a required property of |
| /// `flightHeader`. eg: "123" |
| core.String? flightNumber; |
| |
| /// 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" |
| core.String? flightNumberDisplayOverride; |
| |
| /// Identifies what kind of resource this is. |
| /// |
| /// Value: the fixed string `"walletobjects#flightHeader"`. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.String? kind; |
| |
| /// Information about operating airline carrier. |
| FlightCarrier? operatingCarrier; |
| |
| /// The flight number used by the operating carrier without IATA carrier code. |
| /// |
| /// This field should contain only digits. eg: "234" |
| core.String? operatingFlightNumber; |
| |
| FlightHeader({ |
| this.carrier, |
| this.flightNumber, |
| this.flightNumberDisplayOverride, |
| this.kind, |
| this.operatingCarrier, |
| this.operatingFlightNumber, |
| }); |
| |
| FlightHeader.fromJson(core.Map json_) |
| : this( |
| carrier: json_.containsKey('carrier') |
| ? FlightCarrier.fromJson( |
| json_['carrier'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| flightNumber: json_['flightNumber'] as core.String?, |
| flightNumberDisplayOverride: |
| json_['flightNumberDisplayOverride'] as core.String?, |
| kind: json_['kind'] as core.String?, |
| operatingCarrier: json_.containsKey('operatingCarrier') |
| ? FlightCarrier.fromJson( |
| json_['operatingCarrier'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| operatingFlightNumber: json_['operatingFlightNumber'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final carrier = this.carrier; |
| final flightNumber = this.flightNumber; |
| final flightNumberDisplayOverride = this.flightNumberDisplayOverride; |
| final kind = this.kind; |
| final operatingCarrier = this.operatingCarrier; |
| final operatingFlightNumber = this.operatingFlightNumber; |
| return { |
| 'carrier': ?carrier, |
| 'flightNumber': ?flightNumber, |
| 'flightNumberDisplayOverride': ?flightNumberDisplayOverride, |
| 'kind': ?kind, |
| 'operatingCarrier': ?operatingCarrier, |
| 'operatingFlightNumber': ?operatingFlightNumber, |
| }; |
| } |
| } |
| |
| class FlightObject { |
| /// 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. |
| AppLinkData? appLinkData; |
| |
| /// The barcode type and value. |
| Barcode? barcode; |
| |
| /// Passenger specific information about boarding and seating. |
| BoardingAndSeatingInfo? boardingAndSeatingInfo; |
| |
| /// 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. |
| /// |
| /// Required. |
| core.String? classId; |
| |
| /// A copy of the inherited fields of the parent class. |
| /// |
| /// These fields are retrieved during a GET. |
| FlightClass? classReference; |
| |
| /// 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. |
| core.bool? disableExpirationNotification; |
| |
| /// Information that controls how passes are grouped together. |
| GroupingInfo? groupingInfo; |
| |
| /// 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. |
| core.bool? hasLinkedDevice; |
| |
| /// Indicates if the object has users. |
| /// |
| /// This field is set by the platform. |
| core.bool? hasUsers; |
| |
| /// 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. |
| Image? heroImage; |
| |
| /// 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`. |
| core.String? hexBackgroundColor; |
| |
| /// 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 '-'. |
| /// |
| /// Required. |
| core.String? id; |
| |
| /// Image module data. |
| /// |
| /// The maximum number of these fields displayed is 1 from object level and 1 |
| /// for class object level. |
| core.List<ImageModuleData>? imageModulesData; |
| |
| /// Use textModulesData instead. |
| /// |
| /// Deprecated. |
| InfoModuleData? infoModuleData; |
| |
| /// Identifies what kind of resource this is. |
| /// |
| /// Value: the fixed string `"walletobjects#flightObject"`. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.String? kind; |
| |
| /// 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. |
| core.List<core.String>? linkedObjectIds; |
| |
| /// Links module data. |
| /// |
| /// If links module data is also defined on the class, both will be displayed. |
| LinksModuleData? linksModuleData; |
| |
| /// Note: This field is currently not supported to trigger geo notifications. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.List<LatLongPoint>? locations; |
| |
| /// 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. |
| core.List<MerchantLocation>? merchantLocations; |
| |
| /// 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. |
| core.List<Message>? messages; |
| |
| /// 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. |
| /// Possible string values are: |
| /// - "NOTIFICATION_SETTINGS_FOR_UPDATES_UNSPECIFIED" : Default behavior is no |
| /// notifications sent. |
| /// - "NOTIFY_ON_UPDATE" : This value will result in a notification being |
| /// sent, if the updated fields are part of an allowlist. |
| core.String? notifyPreference; |
| |
| /// Pass constraints for the object. |
| /// |
| /// Includes limiting NFC and screenshot behaviors. |
| PassConstraints? passConstraints; |
| |
| /// Passenger name as it would appear on the boarding pass. |
| /// |
| /// eg: "Dave M Gahan" or "Gahan/Dave" or "GAHAN/DAVEM" |
| /// |
| /// Required. |
| core.String? passengerName; |
| |
| /// Information about flight reservation. |
| /// |
| /// Required. |
| ReservationInfo? reservationInfo; |
| |
| /// The rotating barcode type and value. |
| RotatingBarcode? rotatingBarcode; |
| |
| /// 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. |
| SaveRestrictions? saveRestrictions; |
| |
| /// An image for the security program that applies to the passenger. |
| Image? securityProgramLogo; |
| |
| /// 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. |
| core.String? smartTapRedemptionValue; |
| |
| /// 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. |
| /// |
| /// Required. |
| /// Possible string values are: |
| /// - "STATE_UNSPECIFIED" : Default value. |
| /// - "ACTIVE" : Object is active and displayed to with other active objects. |
| /// - "active" : Legacy alias for `ACTIVE`. Deprecated. |
| /// - "COMPLETED" : Object has completed it's lifecycle. |
| /// - "completed" : Legacy alias for `COMPLETED`. Deprecated. |
| /// - "EXPIRED" : Object is no longer valid (`validTimeInterval` passed). |
| /// - "expired" : Legacy alias for `EXPIRED`. Deprecated. |
| /// - "INACTIVE" : Object is no longer valid |
| /// - "inactive" : Legacy alias for `INACTIVE`. Deprecated. |
| core.String? state; |
| |
| /// 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. |
| core.List<TextModuleData>? textModulesData; |
| |
| /// 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. |
| TimeInterval? validTimeInterval; |
| |
| /// Optional value added module data. |
| /// |
| /// Maximum of fifteen on the object. For a pass only fifteen will be |
| /// displayed. |
| core.List<ValueAddedModuleData>? valueAddedModuleData; |
| |
| /// Deprecated |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.String? version; |
| |
| FlightObject({ |
| this.appLinkData, |
| this.barcode, |
| this.boardingAndSeatingInfo, |
| this.classId, |
| this.classReference, |
| this.disableExpirationNotification, |
| this.groupingInfo, |
| this.hasLinkedDevice, |
| this.hasUsers, |
| this.heroImage, |
| this.hexBackgroundColor, |
| this.id, |
| this.imageModulesData, |
| this.infoModuleData, |
| this.kind, |
| this.linkedObjectIds, |
| this.linksModuleData, |
| this.locations, |
| this.merchantLocations, |
| this.messages, |
| this.notifyPreference, |
| this.passConstraints, |
| this.passengerName, |
| this.reservationInfo, |
| this.rotatingBarcode, |
| this.saveRestrictions, |
| this.securityProgramLogo, |
| this.smartTapRedemptionValue, |
| this.state, |
| this.textModulesData, |
| this.validTimeInterval, |
| this.valueAddedModuleData, |
| this.version, |
| }); |
| |
| FlightObject.fromJson(core.Map json_) |
| : this( |
| appLinkData: json_.containsKey('appLinkData') |
| ? AppLinkData.fromJson( |
| json_['appLinkData'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| barcode: json_.containsKey('barcode') |
| ? Barcode.fromJson( |
| json_['barcode'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| boardingAndSeatingInfo: json_.containsKey('boardingAndSeatingInfo') |
| ? BoardingAndSeatingInfo.fromJson( |
| json_['boardingAndSeatingInfo'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| classId: json_['classId'] as core.String?, |
| classReference: json_.containsKey('classReference') |
| ? FlightClass.fromJson( |
| json_['classReference'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| disableExpirationNotification: |
| json_['disableExpirationNotification'] as core.bool?, |
| groupingInfo: json_.containsKey('groupingInfo') |
| ? GroupingInfo.fromJson( |
| json_['groupingInfo'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| hasLinkedDevice: json_['hasLinkedDevice'] as core.bool?, |
| hasUsers: json_['hasUsers'] as core.bool?, |
| heroImage: json_.containsKey('heroImage') |
| ? Image.fromJson( |
| json_['heroImage'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| hexBackgroundColor: json_['hexBackgroundColor'] as core.String?, |
| id: json_['id'] as core.String?, |
| imageModulesData: (json_['imageModulesData'] as core.List?) |
| ?.map( |
| (value) => ImageModuleData.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| infoModuleData: json_.containsKey('infoModuleData') |
| ? InfoModuleData.fromJson( |
| json_['infoModuleData'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| kind: json_['kind'] as core.String?, |
| linkedObjectIds: (json_['linkedObjectIds'] as core.List?) |
| ?.map((value) => value as core.String) |
| .toList(), |
| linksModuleData: json_.containsKey('linksModuleData') |
| ? LinksModuleData.fromJson( |
| json_['linksModuleData'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| locations: (json_['locations'] as core.List?) |
| ?.map( |
| (value) => LatLongPoint.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| merchantLocations: (json_['merchantLocations'] as core.List?) |
| ?.map( |
| (value) => MerchantLocation.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| messages: (json_['messages'] as core.List?) |
| ?.map( |
| (value) => Message.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| notifyPreference: json_['notifyPreference'] as core.String?, |
| passConstraints: json_.containsKey('passConstraints') |
| ? PassConstraints.fromJson( |
| json_['passConstraints'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| passengerName: json_['passengerName'] as core.String?, |
| reservationInfo: json_.containsKey('reservationInfo') |
| ? ReservationInfo.fromJson( |
| json_['reservationInfo'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| rotatingBarcode: json_.containsKey('rotatingBarcode') |
| ? RotatingBarcode.fromJson( |
| json_['rotatingBarcode'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| saveRestrictions: json_.containsKey('saveRestrictions') |
| ? SaveRestrictions.fromJson( |
| json_['saveRestrictions'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| securityProgramLogo: json_.containsKey('securityProgramLogo') |
| ? Image.fromJson( |
| json_['securityProgramLogo'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| smartTapRedemptionValue: |
| json_['smartTapRedemptionValue'] as core.String?, |
| state: json_['state'] as core.String?, |
| textModulesData: (json_['textModulesData'] as core.List?) |
| ?.map( |
| (value) => TextModuleData.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| validTimeInterval: json_.containsKey('validTimeInterval') |
| ? TimeInterval.fromJson( |
| json_['validTimeInterval'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| valueAddedModuleData: (json_['valueAddedModuleData'] as core.List?) |
| ?.map( |
| (value) => ValueAddedModuleData.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| version: json_['version'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final appLinkData = this.appLinkData; |
| final barcode = this.barcode; |
| final boardingAndSeatingInfo = this.boardingAndSeatingInfo; |
| final classId = this.classId; |
| final classReference = this.classReference; |
| final disableExpirationNotification = this.disableExpirationNotification; |
| final groupingInfo = this.groupingInfo; |
| final hasLinkedDevice = this.hasLinkedDevice; |
| final hasUsers = this.hasUsers; |
| final heroImage = this.heroImage; |
| final hexBackgroundColor = this.hexBackgroundColor; |
| final id = this.id; |
| final imageModulesData = this.imageModulesData; |
| final infoModuleData = this.infoModuleData; |
| final kind = this.kind; |
| final linkedObjectIds = this.linkedObjectIds; |
| final linksModuleData = this.linksModuleData; |
| final locations = this.locations; |
| final merchantLocations = this.merchantLocations; |
| final messages = this.messages; |
| final notifyPreference = this.notifyPreference; |
| final passConstraints = this.passConstraints; |
| final passengerName = this.passengerName; |
| final reservationInfo = this.reservationInfo; |
| final rotatingBarcode = this.rotatingBarcode; |
| final saveRestrictions = this.saveRestrictions; |
| final securityProgramLogo = this.securityProgramLogo; |
| final smartTapRedemptionValue = this.smartTapRedemptionValue; |
| final state = this.state; |
| final textModulesData = this.textModulesData; |
| final validTimeInterval = this.validTimeInterval; |
| final valueAddedModuleData = this.valueAddedModuleData; |
| final version = this.version; |
| return { |
| 'appLinkData': ?appLinkData, |
| 'barcode': ?barcode, |
| 'boardingAndSeatingInfo': ?boardingAndSeatingInfo, |
| 'classId': ?classId, |
| 'classReference': ?classReference, |
| 'disableExpirationNotification': ?disableExpirationNotification, |
| 'groupingInfo': ?groupingInfo, |
| 'hasLinkedDevice': ?hasLinkedDevice, |
| 'hasUsers': ?hasUsers, |
| 'heroImage': ?heroImage, |
| 'hexBackgroundColor': ?hexBackgroundColor, |
| 'id': ?id, |
| 'imageModulesData': ?imageModulesData, |
| 'infoModuleData': ?infoModuleData, |
| 'kind': ?kind, |
| 'linkedObjectIds': ?linkedObjectIds, |
| 'linksModuleData': ?linksModuleData, |
| 'locations': ?locations, |
| 'merchantLocations': ?merchantLocations, |
| 'messages': ?messages, |
| 'notifyPreference': ?notifyPreference, |
| 'passConstraints': ?passConstraints, |
| 'passengerName': ?passengerName, |
| 'reservationInfo': ?reservationInfo, |
| 'rotatingBarcode': ?rotatingBarcode, |
| 'saveRestrictions': ?saveRestrictions, |
| 'securityProgramLogo': ?securityProgramLogo, |
| 'smartTapRedemptionValue': ?smartTapRedemptionValue, |
| 'state': ?state, |
| 'textModulesData': ?textModulesData, |
| 'validTimeInterval': ?validTimeInterval, |
| 'valueAddedModuleData': ?valueAddedModuleData, |
| 'version': ?version, |
| }; |
| } |
| } |
| |
| class FlightObjectAddMessageResponse { |
| /// The updated FlightObject resource. |
| FlightObject? resource; |
| |
| FlightObjectAddMessageResponse({this.resource}); |
| |
| FlightObjectAddMessageResponse.fromJson(core.Map json_) |
| : this( |
| resource: json_.containsKey('resource') |
| ? FlightObject.fromJson( |
| json_['resource'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final resource = this.resource; |
| return {'resource': ?resource}; |
| } |
| } |
| |
| class FlightObjectListResponse { |
| /// Pagination of the response. |
| Pagination? pagination; |
| |
| /// Resources corresponding to the list request. |
| core.List<FlightObject>? resources; |
| |
| FlightObjectListResponse({this.pagination, this.resources}); |
| |
| FlightObjectListResponse.fromJson(core.Map json_) |
| : this( |
| pagination: json_.containsKey('pagination') |
| ? Pagination.fromJson( |
| json_['pagination'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| resources: (json_['resources'] as core.List?) |
| ?.map( |
| (value) => FlightObject.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final pagination = this.pagination; |
| final resources = this.resources; |
| return {'pagination': ?pagination, 'resources': ?resources}; |
| } |
| } |
| |
| class FrequentFlyerInfo { |
| /// Frequent flyer number. |
| /// |
| /// Required for each nested object of kind `walletobjects#frequentFlyerInfo`. |
| core.String? frequentFlyerNumber; |
| |
| /// Frequent flyer program name. |
| /// |
| /// eg: "Lufthansa Miles & More" |
| LocalizedString? frequentFlyerProgramName; |
| |
| /// Identifies what kind of resource this is. |
| /// |
| /// Value: the fixed string `"walletobjects#frequentFlyerInfo"`. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.String? kind; |
| |
| FrequentFlyerInfo({ |
| this.frequentFlyerNumber, |
| this.frequentFlyerProgramName, |
| this.kind, |
| }); |
| |
| FrequentFlyerInfo.fromJson(core.Map json_) |
| : this( |
| frequentFlyerNumber: json_['frequentFlyerNumber'] as core.String?, |
| frequentFlyerProgramName: json_.containsKey('frequentFlyerProgramName') |
| ? LocalizedString.fromJson( |
| json_['frequentFlyerProgramName'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| kind: json_['kind'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final frequentFlyerNumber = this.frequentFlyerNumber; |
| final frequentFlyerProgramName = this.frequentFlyerProgramName; |
| final kind = this.kind; |
| return { |
| 'frequentFlyerNumber': ?frequentFlyerNumber, |
| 'frequentFlyerProgramName': ?frequentFlyerProgramName, |
| 'kind': ?kind, |
| }; |
| } |
| } |
| |
| /// Generic Class |
| class GenericClass { |
| /// 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. |
| AppLinkData? appLinkData; |
| |
| /// 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. |
| CallbackOptions? callbackOptions; |
| |
| /// Template information about how the class should be displayed. |
| /// |
| /// If unset, Google will fallback to a default set of fields to display. |
| ClassTemplateInfo? classTemplateInfo; |
| |
| /// Available only to Smart Tap enabled partners. |
| /// |
| /// Contact support for additional guidance. |
| core.bool? enableSmartTap; |
| |
| /// 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 `-`. |
| /// |
| /// Required. |
| core.String? id; |
| |
| /// 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. |
| core.List<ImageModuleData>? imageModulesData; |
| |
| /// 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. |
| LinksModuleData? linksModuleData; |
| |
| /// 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. |
| core.List<MerchantLocation>? merchantLocations; |
| |
| /// 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. |
| core.List<Message>? messages; |
| |
| /// Identifies whether multiple users and devices will save the same object |
| /// referencing this class. |
| /// Possible string values are: |
| /// - "STATUS_UNSPECIFIED" : Unspecified preference. |
| /// - "MULTIPLE_HOLDERS" : 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. |
| /// - "ONE_USER_ALL_DEVICES" : 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. |
| /// - "ONE_USER_ONE_DEVICE" : 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. |
| /// - "multipleHolders" : Legacy alias for `MULTIPLE_HOLDERS`. Deprecated. |
| /// - "oneUserAllDevices" : Legacy alias for `ONE_USER_ALL_DEVICES`. |
| /// Deprecated. |
| /// - "oneUserOneDevice" : Legacy alias for `ONE_USER_ONE_DEVICE`. Deprecated. |
| core.String? multipleDevicesAndHoldersAllowedStatus; |
| |
| /// 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. |
| core.List<core.String>? redemptionIssuers; |
| |
| /// Optional information about the security animation. |
| /// |
| /// If this is set a security animation will be rendered on pass details. |
| SecurityAnimation? securityAnimation; |
| |
| /// 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. |
| core.List<TextModuleData>? textModulesData; |
| |
| /// Optional value added module data. |
| /// |
| /// Maximum of fifteen on the class. For a pass only fifteen will be |
| /// displayed, prioritizing those from the object. |
| core.List<ValueAddedModuleData>? valueAddedModuleData; |
| |
| /// View Unlock Requirement options for the generic pass. |
| /// Possible string values are: |
| /// - "VIEW_UNLOCK_REQUIREMENT_UNSPECIFIED" : Default value, same as |
| /// UNLOCK_NOT_REQUIRED. |
| /// - "UNLOCK_NOT_REQUIRED" : Default behavior for all the existing Passes if |
| /// ViewUnlockRequirement is not set. |
| /// - "UNLOCK_REQUIRED_TO_VIEW" : 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. |
| core.String? viewUnlockRequirement; |
| |
| GenericClass({ |
| this.appLinkData, |
| this.callbackOptions, |
| this.classTemplateInfo, |
| this.enableSmartTap, |
| this.id, |
| this.imageModulesData, |
| this.linksModuleData, |
| this.merchantLocations, |
| this.messages, |
| this.multipleDevicesAndHoldersAllowedStatus, |
| this.redemptionIssuers, |
| this.securityAnimation, |
| this.textModulesData, |
| this.valueAddedModuleData, |
| this.viewUnlockRequirement, |
| }); |
| |
| GenericClass.fromJson(core.Map json_) |
| : this( |
| appLinkData: json_.containsKey('appLinkData') |
| ? AppLinkData.fromJson( |
| json_['appLinkData'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| callbackOptions: json_.containsKey('callbackOptions') |
| ? CallbackOptions.fromJson( |
| json_['callbackOptions'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| classTemplateInfo: json_.containsKey('classTemplateInfo') |
| ? ClassTemplateInfo.fromJson( |
| json_['classTemplateInfo'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| enableSmartTap: json_['enableSmartTap'] as core.bool?, |
| id: json_['id'] as core.String?, |
| imageModulesData: (json_['imageModulesData'] as core.List?) |
| ?.map( |
| (value) => ImageModuleData.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| linksModuleData: json_.containsKey('linksModuleData') |
| ? LinksModuleData.fromJson( |
| json_['linksModuleData'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| merchantLocations: (json_['merchantLocations'] as core.List?) |
| ?.map( |
| (value) => MerchantLocation.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| messages: (json_['messages'] as core.List?) |
| ?.map( |
| (value) => Message.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| multipleDevicesAndHoldersAllowedStatus: |
| json_['multipleDevicesAndHoldersAllowedStatus'] as core.String?, |
| redemptionIssuers: (json_['redemptionIssuers'] as core.List?) |
| ?.map((value) => value as core.String) |
| .toList(), |
| securityAnimation: json_.containsKey('securityAnimation') |
| ? SecurityAnimation.fromJson( |
| json_['securityAnimation'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| textModulesData: (json_['textModulesData'] as core.List?) |
| ?.map( |
| (value) => TextModuleData.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| valueAddedModuleData: (json_['valueAddedModuleData'] as core.List?) |
| ?.map( |
| (value) => ValueAddedModuleData.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| viewUnlockRequirement: json_['viewUnlockRequirement'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final appLinkData = this.appLinkData; |
| final callbackOptions = this.callbackOptions; |
| final classTemplateInfo = this.classTemplateInfo; |
| final enableSmartTap = this.enableSmartTap; |
| final id = this.id; |
| final imageModulesData = this.imageModulesData; |
| final linksModuleData = this.linksModuleData; |
| final merchantLocations = this.merchantLocations; |
| final messages = this.messages; |
| final multipleDevicesAndHoldersAllowedStatus = |
| this.multipleDevicesAndHoldersAllowedStatus; |
| final redemptionIssuers = this.redemptionIssuers; |
| final securityAnimation = this.securityAnimation; |
| final textModulesData = this.textModulesData; |
| final valueAddedModuleData = this.valueAddedModuleData; |
| final viewUnlockRequirement = this.viewUnlockRequirement; |
| return { |
| 'appLinkData': ?appLinkData, |
| 'callbackOptions': ?callbackOptions, |
| 'classTemplateInfo': ?classTemplateInfo, |
| 'enableSmartTap': ?enableSmartTap, |
| 'id': ?id, |
| 'imageModulesData': ?imageModulesData, |
| 'linksModuleData': ?linksModuleData, |
| 'merchantLocations': ?merchantLocations, |
| 'messages': ?messages, |
| 'multipleDevicesAndHoldersAllowedStatus': |
| ?multipleDevicesAndHoldersAllowedStatus, |
| 'redemptionIssuers': ?redemptionIssuers, |
| 'securityAnimation': ?securityAnimation, |
| 'textModulesData': ?textModulesData, |
| 'valueAddedModuleData': ?valueAddedModuleData, |
| 'viewUnlockRequirement': ?viewUnlockRequirement, |
| }; |
| } |
| } |
| |
| /// Response to adding a new issuer message to the class. |
| /// |
| /// This contains the entire updated GenericClass. |
| class GenericClassAddMessageResponse { |
| /// The updated EventTicketClass resource. |
| GenericClass? resource; |
| |
| GenericClassAddMessageResponse({this.resource}); |
| |
| GenericClassAddMessageResponse.fromJson(core.Map json_) |
| : this( |
| resource: json_.containsKey('resource') |
| ? GenericClass.fromJson( |
| json_['resource'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final resource = this.resource; |
| return {'resource': ?resource}; |
| } |
| } |
| |
| /// List response which contains the list of all generic classes for a given |
| /// issuer ID. |
| class GenericClassListResponse { |
| /// Pagination of the response. |
| Pagination? pagination; |
| |
| /// Resources corresponding to the list request. |
| core.List<GenericClass>? resources; |
| |
| GenericClassListResponse({this.pagination, this.resources}); |
| |
| GenericClassListResponse.fromJson(core.Map json_) |
| : this( |
| pagination: json_.containsKey('pagination') |
| ? Pagination.fromJson( |
| json_['pagination'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| resources: (json_['resources'] as core.List?) |
| ?.map( |
| (value) => GenericClass.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final pagination = this.pagination; |
| final resources = this.resources; |
| return {'pagination': ?pagination, 'resources': ?resources}; |
| } |
| } |
| |
| /// Generic Object |
| class GenericObject { |
| /// 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. |
| AppLinkData? appLinkData; |
| |
| /// 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. |
| Barcode? barcode; |
| |
| /// 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. |
| /// |
| /// Required. |
| LocalizedString? cardTitle; |
| |
| /// 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. |
| /// |
| /// Required. |
| core.String? classId; |
| |
| /// Specify which `GenericType` the card belongs to. |
| /// Possible string values are: |
| /// - "GENERIC_TYPE_UNSPECIFIED" : Unspecified generic type. |
| /// - "GENERIC_SEASON_PASS" : Represents a season pass. |
| /// - "GENERIC_UTILITY_BILLS" : Represents a utility bill. |
| /// - "GENERIC_PARKING_PASS" : Represents a parking pass. |
| /// - "GENERIC_VOUCHER" : Represents a voucher. |
| /// - "GENERIC_GYM_MEMBERSHIP" : Represents a gym membership card. |
| /// - "GENERIC_LIBRARY_MEMBERSHIP" : Represents a library card. |
| /// - "GENERIC_RESERVATIONS" : Represents a reservation. |
| /// - "GENERIC_AUTO_INSURANCE" : Represents an auto-insurance card. |
| /// - "GENERIC_HOME_INSURANCE" : Represents a home-insurance card. |
| /// - "GENERIC_ENTRY_TICKET" : Represents an entry ticket. |
| /// - "GENERIC_RECEIPT" : Represents a receipt. |
| /// - "GENERIC_LOYALTY_CARD" : 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. |
| /// - "GENERIC_BUSINESS_CARD" : Represents a business card. |
| /// - "GENERIC_BARCODE_PASS" : Represents a barcode pass. |
| /// - "GENERIC_MEMBERSHIP_CARD" : Represents a membership card. |
| /// - "GENERIC_STUDENT_CARD" : Represents a student card. |
| /// - "GENERIC_TRANSIT_PASS" : Represents a transit pass. |
| /// - "GENERIC_VEHICLE_REGISTRATION" : Represents a vehicle registration. |
| /// - "GENERIC_OTHER" : Represents another type of generic pass. |
| core.String? genericType; |
| |
| /// Information that controls how passes are grouped together. |
| GroupingInfo? groupingInfo; |
| |
| /// Indicates if the object has users. |
| /// |
| /// This field is set by the platform. |
| core.bool? hasUsers; |
| |
| /// 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. |
| /// |
| /// Required. |
| LocalizedString? header; |
| |
| /// Banner image displayed on the front of the card if present. |
| /// |
| /// The image will be displayed at 100% width. |
| Image? heroImage; |
| |
| /// 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. |
| core.String? hexBackgroundColor; |
| |
| /// 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 `-`. |
| /// |
| /// Required. |
| core.String? id; |
| |
| /// Image module data. |
| /// |
| /// Only one of the image from class and one from object level will be |
| /// rendered when both set. |
| core.List<ImageModuleData>? imageModulesData; |
| |
| /// 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. |
| core.List<core.String>? linkedObjectIds; |
| |
| /// 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. |
| LinksModuleData? linksModuleData; |
| |
| /// 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. |
| Image? logo; |
| |
| /// 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. |
| core.List<MerchantLocation>? merchantLocations; |
| |
| /// 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. |
| core.List<Message>? messages; |
| |
| /// The notification settings that are enabled for this object. |
| Notifications? notifications; |
| |
| /// Pass constraints for the object. |
| /// |
| /// Includes limiting NFC and screenshot behaviors. |
| PassConstraints? passConstraints; |
| |
| /// The rotating barcode settings/details. |
| RotatingBarcode? rotatingBarcode; |
| |
| /// 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. |
| SaveRestrictions? saveRestrictions; |
| |
| /// 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. |
| core.String? smartTapRedemptionValue; |
| |
| /// 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`. |
| /// Possible string values are: |
| /// - "STATE_UNSPECIFIED" : Default value. |
| /// - "ACTIVE" : Object is active and displayed to with other active objects. |
| /// - "active" : Legacy alias for `ACTIVE`. Deprecated. |
| /// - "COMPLETED" : Object has completed it's lifecycle. |
| /// - "completed" : Legacy alias for `COMPLETED`. Deprecated. |
| /// - "EXPIRED" : Object is no longer valid (`validTimeInterval` passed). |
| /// - "expired" : Legacy alias for `EXPIRED`. Deprecated. |
| /// - "INACTIVE" : Object is no longer valid |
| /// - "inactive" : Legacy alias for `INACTIVE`. Deprecated. |
| core.String? state; |
| |
| /// 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. |
| LocalizedString? subheader; |
| |
| /// 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. |
| core.List<TextModuleData>? textModulesData; |
| |
| /// 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. |
| TimeInterval? validTimeInterval; |
| |
| /// Optional value added module data. |
| /// |
| /// Maximum of fifteen on the object. For a pass only fifteen will be |
| /// displayed. |
| core.List<ValueAddedModuleData>? valueAddedModuleData; |
| |
| /// 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. |
| Image? wideLogo; |
| |
| GenericObject({ |
| this.appLinkData, |
| this.barcode, |
| this.cardTitle, |
| this.classId, |
| this.genericType, |
| this.groupingInfo, |
| this.hasUsers, |
| this.header, |
| this.heroImage, |
| this.hexBackgroundColor, |
| this.id, |
| this.imageModulesData, |
| this.linkedObjectIds, |
| this.linksModuleData, |
| this.logo, |
| this.merchantLocations, |
| this.messages, |
| this.notifications, |
| this.passConstraints, |
| this.rotatingBarcode, |
| this.saveRestrictions, |
| this.smartTapRedemptionValue, |
| this.state, |
| this.subheader, |
| this.textModulesData, |
| this.validTimeInterval, |
| this.valueAddedModuleData, |
| this.wideLogo, |
| }); |
| |
| GenericObject.fromJson(core.Map json_) |
| : this( |
| appLinkData: json_.containsKey('appLinkData') |
| ? AppLinkData.fromJson( |
| json_['appLinkData'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| barcode: json_.containsKey('barcode') |
| ? Barcode.fromJson( |
| json_['barcode'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| cardTitle: json_.containsKey('cardTitle') |
| ? LocalizedString.fromJson( |
| json_['cardTitle'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| classId: json_['classId'] as core.String?, |
| genericType: json_['genericType'] as core.String?, |
| groupingInfo: json_.containsKey('groupingInfo') |
| ? GroupingInfo.fromJson( |
| json_['groupingInfo'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| hasUsers: json_['hasUsers'] as core.bool?, |
| header: json_.containsKey('header') |
| ? LocalizedString.fromJson( |
| json_['header'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| heroImage: json_.containsKey('heroImage') |
| ? Image.fromJson( |
| json_['heroImage'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| hexBackgroundColor: json_['hexBackgroundColor'] as core.String?, |
| id: json_['id'] as core.String?, |
| imageModulesData: (json_['imageModulesData'] as core.List?) |
| ?.map( |
| (value) => ImageModuleData.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| linkedObjectIds: (json_['linkedObjectIds'] as core.List?) |
| ?.map((value) => value as core.String) |
| .toList(), |
| linksModuleData: json_.containsKey('linksModuleData') |
| ? LinksModuleData.fromJson( |
| json_['linksModuleData'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| logo: json_.containsKey('logo') |
| ? Image.fromJson( |
| json_['logo'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| merchantLocations: (json_['merchantLocations'] as core.List?) |
| ?.map( |
| (value) => MerchantLocation.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| messages: (json_['messages'] as core.List?) |
| ?.map( |
| (value) => Message.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| notifications: json_.containsKey('notifications') |
| ? Notifications.fromJson( |
| json_['notifications'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| passConstraints: json_.containsKey('passConstraints') |
| ? PassConstraints.fromJson( |
| json_['passConstraints'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| rotatingBarcode: json_.containsKey('rotatingBarcode') |
| ? RotatingBarcode.fromJson( |
| json_['rotatingBarcode'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| saveRestrictions: json_.containsKey('saveRestrictions') |
| ? SaveRestrictions.fromJson( |
| json_['saveRestrictions'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| smartTapRedemptionValue: |
| json_['smartTapRedemptionValue'] as core.String?, |
| state: json_['state'] as core.String?, |
| subheader: json_.containsKey('subheader') |
| ? LocalizedString.fromJson( |
| json_['subheader'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| textModulesData: (json_['textModulesData'] as core.List?) |
| ?.map( |
| (value) => TextModuleData.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| validTimeInterval: json_.containsKey('validTimeInterval') |
| ? TimeInterval.fromJson( |
| json_['validTimeInterval'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| valueAddedModuleData: (json_['valueAddedModuleData'] as core.List?) |
| ?.map( |
| (value) => ValueAddedModuleData.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| wideLogo: json_.containsKey('wideLogo') |
| ? Image.fromJson( |
| json_['wideLogo'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final appLinkData = this.appLinkData; |
| final barcode = this.barcode; |
| final cardTitle = this.cardTitle; |
| final classId = this.classId; |
| final genericType = this.genericType; |
| final groupingInfo = this.groupingInfo; |
| final hasUsers = this.hasUsers; |
| final header = this.header; |
| final heroImage = this.heroImage; |
| final hexBackgroundColor = this.hexBackgroundColor; |
| final id = this.id; |
| final imageModulesData = this.imageModulesData; |
| final linkedObjectIds = this.linkedObjectIds; |
| final linksModuleData = this.linksModuleData; |
| final logo = this.logo; |
| final merchantLocations = this.merchantLocations; |
| final messages = this.messages; |
| final notifications = this.notifications; |
| final passConstraints = this.passConstraints; |
| final rotatingBarcode = this.rotatingBarcode; |
| final saveRestrictions = this.saveRestrictions; |
| final smartTapRedemptionValue = this.smartTapRedemptionValue; |
| final state = this.state; |
| final subheader = this.subheader; |
| final textModulesData = this.textModulesData; |
| final validTimeInterval = this.validTimeInterval; |
| final valueAddedModuleData = this.valueAddedModuleData; |
| final wideLogo = this.wideLogo; |
| return { |
| 'appLinkData': ?appLinkData, |
| 'barcode': ?barcode, |
| 'cardTitle': ?cardTitle, |
| 'classId': ?classId, |
| 'genericType': ?genericType, |
| 'groupingInfo': ?groupingInfo, |
| 'hasUsers': ?hasUsers, |
| 'header': ?header, |
| 'heroImage': ?heroImage, |
| 'hexBackgroundColor': ?hexBackgroundColor, |
| 'id': ?id, |
| 'imageModulesData': ?imageModulesData, |
| 'linkedObjectIds': ?linkedObjectIds, |
| 'linksModuleData': ?linksModuleData, |
| 'logo': ?logo, |
| 'merchantLocations': ?merchantLocations, |
| 'messages': ?messages, |
| 'notifications': ?notifications, |
| 'passConstraints': ?passConstraints, |
| 'rotatingBarcode': ?rotatingBarcode, |
| 'saveRestrictions': ?saveRestrictions, |
| 'smartTapRedemptionValue': ?smartTapRedemptionValue, |
| 'state': ?state, |
| 'subheader': ?subheader, |
| 'textModulesData': ?textModulesData, |
| 'validTimeInterval': ?validTimeInterval, |
| 'valueAddedModuleData': ?valueAddedModuleData, |
| 'wideLogo': ?wideLogo, |
| }; |
| } |
| } |
| |
| /// Response to adding a new issuer message to the object. |
| /// |
| /// This contains the entire updated GenericObject. |
| class GenericObjectAddMessageResponse { |
| /// The updated GenericObject resource. |
| GenericObject? resource; |
| |
| GenericObjectAddMessageResponse({this.resource}); |
| |
| GenericObjectAddMessageResponse.fromJson(core.Map json_) |
| : this( |
| resource: json_.containsKey('resource') |
| ? GenericObject.fromJson( |
| json_['resource'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final resource = this.resource; |
| return {'resource': ?resource}; |
| } |
| } |
| |
| /// List response which contains the list of all generic objects for a given |
| /// issuer ID. |
| class GenericObjectListResponse { |
| /// Pagination of the response. |
| Pagination? pagination; |
| |
| /// Resources corresponding to the list request. |
| core.List<GenericObject>? resources; |
| |
| GenericObjectListResponse({this.pagination, this.resources}); |
| |
| GenericObjectListResponse.fromJson(core.Map json_) |
| : this( |
| pagination: json_.containsKey('pagination') |
| ? Pagination.fromJson( |
| json_['pagination'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| resources: (json_['resources'] as core.List?) |
| ?.map( |
| (value) => GenericObject.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final pagination = this.pagination; |
| final resources = this.resources; |
| return {'pagination': ?pagination, 'resources': ?resources}; |
| } |
| } |
| |
| class GiftCardClass { |
| /// 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. |
| core.bool? allowBarcodeRedemption; |
| |
| /// Use `multipleDevicesAndHoldersAllowedStatus` instead. |
| /// |
| /// Deprecated. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.bool? allowMultipleUsersPerObject; |
| |
| /// 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. |
| AppLinkData? appLinkData; |
| |
| /// 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. |
| CallbackOptions? callbackOptions; |
| |
| /// The label to display for the card number, such as "Card Number". |
| core.String? cardNumberLabel; |
| |
| /// Template information about how the class should be displayed. |
| /// |
| /// If unset, Google will fallback to a default set of fields to display. |
| ClassTemplateInfo? classTemplateInfo; |
| |
| /// 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. |
| core.String? countryCode; |
| |
| /// 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. |
| core.bool? enableSmartTap; |
| |
| /// The label to display for event number, such as "Target Event #". |
| core.String? eventNumberLabel; |
| |
| /// 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. |
| Image? heroImage; |
| |
| /// 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`. |
| core.String? hexBackgroundColor; |
| |
| /// 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). |
| Uri? homepageUri; |
| |
| /// 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 '-'. |
| /// |
| /// Required. |
| core.String? id; |
| |
| /// Image module data. |
| /// |
| /// The maximum number of these fields displayed is 1 from object level and 1 |
| /// for class object level. |
| core.List<ImageModuleData>? imageModulesData; |
| |
| /// Use textModulesData instead. |
| /// |
| /// Deprecated. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| InfoModuleData? infoModuleData; |
| |
| /// The issuer name. |
| /// |
| /// Recommended maximum length is 20 characters to ensure full string is |
| /// displayed on smaller screens. |
| /// |
| /// Required. |
| core.String? issuerName; |
| |
| /// Identifies what kind of resource this is. |
| /// |
| /// Value: the fixed string `"walletobjects#giftCardClass"`. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.String? kind; |
| |
| /// Links module data. |
| /// |
| /// If links module data is also defined on the object, both will be |
| /// displayed. |
| LinksModuleData? linksModuleData; |
| |
| /// Translated strings for the card_number_label. |
| LocalizedString? localizedCardNumberLabel; |
| |
| /// Translated strings for the event_number_label. |
| LocalizedString? localizedEventNumberLabel; |
| |
| /// Translated strings for the issuer_name. |
| /// |
| /// Recommended maximum length is 20 characters to ensure full string is |
| /// displayed on smaller screens. |
| LocalizedString? localizedIssuerName; |
| |
| /// 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. |
| LocalizedString? localizedMerchantName; |
| |
| /// Translated strings for the pin_label. |
| LocalizedString? localizedPinLabel; |
| |
| /// Note: This field is currently not supported to trigger geo notifications. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.List<LatLongPoint>? locations; |
| |
| /// 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. |
| core.List<MerchantLocation>? merchantLocations; |
| |
| /// 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. |
| core.String? merchantName; |
| |
| /// 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. |
| core.List<Message>? messages; |
| |
| /// Identifies whether multiple users and devices will save the same object |
| /// referencing this class. |
| /// Possible string values are: |
| /// - "STATUS_UNSPECIFIED" : Unspecified preference. |
| /// - "MULTIPLE_HOLDERS" : 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. |
| /// - "ONE_USER_ALL_DEVICES" : 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. |
| /// - "ONE_USER_ONE_DEVICE" : 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. |
| /// - "multipleHolders" : Legacy alias for `MULTIPLE_HOLDERS`. Deprecated. |
| /// - "oneUserAllDevices" : Legacy alias for `ONE_USER_ALL_DEVICES`. |
| /// Deprecated. |
| /// - "oneUserOneDevice" : Legacy alias for `ONE_USER_ONE_DEVICE`. Deprecated. |
| core.String? multipleDevicesAndHoldersAllowedStatus; |
| |
| /// 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. |
| /// Possible string values are: |
| /// - "NOTIFICATION_SETTINGS_FOR_UPDATES_UNSPECIFIED" : Default behavior is no |
| /// notifications sent. |
| /// - "NOTIFY_ON_UPDATE" : This value will result in a notification being |
| /// sent, if the updated fields are part of an allowlist. |
| core.String? notifyPreference; |
| |
| /// The label to display for the PIN, such as "4-digit PIN". |
| core.String? pinLabel; |
| |
| /// The logo of the gift card program or company. |
| /// |
| /// This logo is displayed in both the details and list views of the app. |
| Image? programLogo; |
| |
| /// 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. |
| core.List<core.String>? redemptionIssuers; |
| |
| /// The review comments set by the platform when a class is marked `approved` |
| /// or `rejected`. |
| Review? review; |
| |
| /// 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`. |
| /// |
| /// Required. |
| /// Possible string values are: |
| /// - "REVIEW_STATUS_UNSPECIFIED" |
| /// - "UNDER_REVIEW" |
| /// - "underReview" : Legacy alias for `UNDER_REVIEW`. Deprecated. |
| /// - "APPROVED" |
| /// - "approved" : Legacy alias for `APPROVED`. Deprecated. |
| /// - "REJECTED" |
| /// - "rejected" : Legacy alias for `REJECTED`. Deprecated. |
| /// - "DRAFT" |
| /// - "draft" : Legacy alias for `DRAFT`. Deprecated. |
| core.String? reviewStatus; |
| |
| /// Optional information about the security animation. |
| /// |
| /// If this is set a security animation will be rendered on pass details. |
| SecurityAnimation? securityAnimation; |
| |
| /// 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. |
| core.List<TextModuleData>? textModulesData; |
| |
| /// Optional value added module data. |
| /// |
| /// Maximum of fifteen on the class. For a pass only fifteen will be |
| /// displayed, prioritizing those from the object. |
| core.List<ValueAddedModuleData>? valueAddedModuleData; |
| |
| /// Deprecated |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.String? version; |
| |
| /// View Unlock Requirement options for the gift card. |
| /// Possible string values are: |
| /// - "VIEW_UNLOCK_REQUIREMENT_UNSPECIFIED" : Default value, same as |
| /// UNLOCK_NOT_REQUIRED. |
| /// - "UNLOCK_NOT_REQUIRED" : Default behavior for all the existing Passes if |
| /// ViewUnlockRequirement is not set. |
| /// - "UNLOCK_REQUIRED_TO_VIEW" : 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. |
| core.String? viewUnlockRequirement; |
| |
| /// 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. |
| Image? wideProgramLogo; |
| |
| /// Deprecated. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| Image? wordMark; |
| |
| GiftCardClass({ |
| this.allowBarcodeRedemption, |
| this.allowMultipleUsersPerObject, |
| this.appLinkData, |
| this.callbackOptions, |
| this.cardNumberLabel, |
| this.classTemplateInfo, |
| this.countryCode, |
| this.enableSmartTap, |
| this.eventNumberLabel, |
| this.heroImage, |
| this.hexBackgroundColor, |
| this.homepageUri, |
| this.id, |
| this.imageModulesData, |
| this.infoModuleData, |
| this.issuerName, |
| this.kind, |
| this.linksModuleData, |
| this.localizedCardNumberLabel, |
| this.localizedEventNumberLabel, |
| this.localizedIssuerName, |
| this.localizedMerchantName, |
| this.localizedPinLabel, |
| this.locations, |
| this.merchantLocations, |
| this.merchantName, |
| this.messages, |
| this.multipleDevicesAndHoldersAllowedStatus, |
| this.notifyPreference, |
| this.pinLabel, |
| this.programLogo, |
| this.redemptionIssuers, |
| this.review, |
| this.reviewStatus, |
| this.securityAnimation, |
| this.textModulesData, |
| this.valueAddedModuleData, |
| this.version, |
| this.viewUnlockRequirement, |
| this.wideProgramLogo, |
| this.wordMark, |
| }); |
| |
| GiftCardClass.fromJson(core.Map json_) |
| : this( |
| allowBarcodeRedemption: json_['allowBarcodeRedemption'] as core.bool?, |
| allowMultipleUsersPerObject: |
| json_['allowMultipleUsersPerObject'] as core.bool?, |
| appLinkData: json_.containsKey('appLinkData') |
| ? AppLinkData.fromJson( |
| json_['appLinkData'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| callbackOptions: json_.containsKey('callbackOptions') |
| ? CallbackOptions.fromJson( |
| json_['callbackOptions'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| cardNumberLabel: json_['cardNumberLabel'] as core.String?, |
| classTemplateInfo: json_.containsKey('classTemplateInfo') |
| ? ClassTemplateInfo.fromJson( |
| json_['classTemplateInfo'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| countryCode: json_['countryCode'] as core.String?, |
| enableSmartTap: json_['enableSmartTap'] as core.bool?, |
| eventNumberLabel: json_['eventNumberLabel'] as core.String?, |
| heroImage: json_.containsKey('heroImage') |
| ? Image.fromJson( |
| json_['heroImage'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| hexBackgroundColor: json_['hexBackgroundColor'] as core.String?, |
| homepageUri: json_.containsKey('homepageUri') |
| ? Uri.fromJson( |
| json_['homepageUri'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| id: json_['id'] as core.String?, |
| imageModulesData: (json_['imageModulesData'] as core.List?) |
| ?.map( |
| (value) => ImageModuleData.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| infoModuleData: json_.containsKey('infoModuleData') |
| ? InfoModuleData.fromJson( |
| json_['infoModuleData'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| issuerName: json_['issuerName'] as core.String?, |
| kind: json_['kind'] as core.String?, |
| linksModuleData: json_.containsKey('linksModuleData') |
| ? LinksModuleData.fromJson( |
| json_['linksModuleData'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| localizedCardNumberLabel: json_.containsKey('localizedCardNumberLabel') |
| ? LocalizedString.fromJson( |
| json_['localizedCardNumberLabel'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| localizedEventNumberLabel: |
| json_.containsKey('localizedEventNumberLabel') |
| ? LocalizedString.fromJson( |
| json_['localizedEventNumberLabel'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| localizedIssuerName: json_.containsKey('localizedIssuerName') |
| ? LocalizedString.fromJson( |
| json_['localizedIssuerName'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| localizedMerchantName: json_.containsKey('localizedMerchantName') |
| ? LocalizedString.fromJson( |
| json_['localizedMerchantName'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| localizedPinLabel: json_.containsKey('localizedPinLabel') |
| ? LocalizedString.fromJson( |
| json_['localizedPinLabel'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| locations: (json_['locations'] as core.List?) |
| ?.map( |
| (value) => LatLongPoint.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| merchantLocations: (json_['merchantLocations'] as core.List?) |
| ?.map( |
| (value) => MerchantLocation.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| merchantName: json_['merchantName'] as core.String?, |
| messages: (json_['messages'] as core.List?) |
| ?.map( |
| (value) => Message.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| multipleDevicesAndHoldersAllowedStatus: |
| json_['multipleDevicesAndHoldersAllowedStatus'] as core.String?, |
| notifyPreference: json_['notifyPreference'] as core.String?, |
| pinLabel: json_['pinLabel'] as core.String?, |
| programLogo: json_.containsKey('programLogo') |
| ? Image.fromJson( |
| json_['programLogo'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| redemptionIssuers: (json_['redemptionIssuers'] as core.List?) |
| ?.map((value) => value as core.String) |
| .toList(), |
| review: json_.containsKey('review') |
| ? Review.fromJson( |
| json_['review'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| reviewStatus: json_['reviewStatus'] as core.String?, |
| securityAnimation: json_.containsKey('securityAnimation') |
| ? SecurityAnimation.fromJson( |
| json_['securityAnimation'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| textModulesData: (json_['textModulesData'] as core.List?) |
| ?.map( |
| (value) => TextModuleData.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| valueAddedModuleData: (json_['valueAddedModuleData'] as core.List?) |
| ?.map( |
| (value) => ValueAddedModuleData.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| version: json_['version'] as core.String?, |
| viewUnlockRequirement: json_['viewUnlockRequirement'] as core.String?, |
| wideProgramLogo: json_.containsKey('wideProgramLogo') |
| ? Image.fromJson( |
| json_['wideProgramLogo'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| wordMark: json_.containsKey('wordMark') |
| ? Image.fromJson( |
| json_['wordMark'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final allowBarcodeRedemption = this.allowBarcodeRedemption; |
| final allowMultipleUsersPerObject = this.allowMultipleUsersPerObject; |
| final appLinkData = this.appLinkData; |
| final callbackOptions = this.callbackOptions; |
| final cardNumberLabel = this.cardNumberLabel; |
| final classTemplateInfo = this.classTemplateInfo; |
| final countryCode = this.countryCode; |
| final enableSmartTap = this.enableSmartTap; |
| final eventNumberLabel = this.eventNumberLabel; |
| final heroImage = this.heroImage; |
| final hexBackgroundColor = this.hexBackgroundColor; |
| final homepageUri = this.homepageUri; |
| final id = this.id; |
| final imageModulesData = this.imageModulesData; |
| final infoModuleData = this.infoModuleData; |
| final issuerName = this.issuerName; |
| final kind = this.kind; |
| final linksModuleData = this.linksModuleData; |
| final localizedCardNumberLabel = this.localizedCardNumberLabel; |
| final localizedEventNumberLabel = this.localizedEventNumberLabel; |
| final localizedIssuerName = this.localizedIssuerName; |
| final localizedMerchantName = this.localizedMerchantName; |
| final localizedPinLabel = this.localizedPinLabel; |
| final locations = this.locations; |
| final merchantLocations = this.merchantLocations; |
| final merchantName = this.merchantName; |
| final messages = this.messages; |
| final multipleDevicesAndHoldersAllowedStatus = |
| this.multipleDevicesAndHoldersAllowedStatus; |
| final notifyPreference = this.notifyPreference; |
| final pinLabel = this.pinLabel; |
| final programLogo = this.programLogo; |
| final redemptionIssuers = this.redemptionIssuers; |
| final review = this.review; |
| final reviewStatus = this.reviewStatus; |
| final securityAnimation = this.securityAnimation; |
| final textModulesData = this.textModulesData; |
| final valueAddedModuleData = this.valueAddedModuleData; |
| final version = this.version; |
| final viewUnlockRequirement = this.viewUnlockRequirement; |
| final wideProgramLogo = this.wideProgramLogo; |
| final wordMark = this.wordMark; |
| return { |
| 'allowBarcodeRedemption': ?allowBarcodeRedemption, |
| 'allowMultipleUsersPerObject': ?allowMultipleUsersPerObject, |
| 'appLinkData': ?appLinkData, |
| 'callbackOptions': ?callbackOptions, |
| 'cardNumberLabel': ?cardNumberLabel, |
| 'classTemplateInfo': ?classTemplateInfo, |
| 'countryCode': ?countryCode, |
| 'enableSmartTap': ?enableSmartTap, |
| 'eventNumberLabel': ?eventNumberLabel, |
| 'heroImage': ?heroImage, |
| 'hexBackgroundColor': ?hexBackgroundColor, |
| 'homepageUri': ?homepageUri, |
| 'id': ?id, |
| 'imageModulesData': ?imageModulesData, |
| 'infoModuleData': ?infoModuleData, |
| 'issuerName': ?issuerName, |
| 'kind': ?kind, |
| 'linksModuleData': ?linksModuleData, |
| 'localizedCardNumberLabel': ?localizedCardNumberLabel, |
| 'localizedEventNumberLabel': ?localizedEventNumberLabel, |
| 'localizedIssuerName': ?localizedIssuerName, |
| 'localizedMerchantName': ?localizedMerchantName, |
| 'localizedPinLabel': ?localizedPinLabel, |
| 'locations': ?locations, |
| 'merchantLocations': ?merchantLocations, |
| 'merchantName': ?merchantName, |
| 'messages': ?messages, |
| 'multipleDevicesAndHoldersAllowedStatus': |
| ?multipleDevicesAndHoldersAllowedStatus, |
| 'notifyPreference': ?notifyPreference, |
| 'pinLabel': ?pinLabel, |
| 'programLogo': ?programLogo, |
| 'redemptionIssuers': ?redemptionIssuers, |
| 'review': ?review, |
| 'reviewStatus': ?reviewStatus, |
| 'securityAnimation': ?securityAnimation, |
| 'textModulesData': ?textModulesData, |
| 'valueAddedModuleData': ?valueAddedModuleData, |
| 'version': ?version, |
| 'viewUnlockRequirement': ?viewUnlockRequirement, |
| 'wideProgramLogo': ?wideProgramLogo, |
| 'wordMark': ?wordMark, |
| }; |
| } |
| } |
| |
| class GiftCardClassAddMessageResponse { |
| /// The updated GiftCardClass resource. |
| GiftCardClass? resource; |
| |
| GiftCardClassAddMessageResponse({this.resource}); |
| |
| GiftCardClassAddMessageResponse.fromJson(core.Map json_) |
| : this( |
| resource: json_.containsKey('resource') |
| ? GiftCardClass.fromJson( |
| json_['resource'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final resource = this.resource; |
| return {'resource': ?resource}; |
| } |
| } |
| |
| class GiftCardClassListResponse { |
| /// Pagination of the response. |
| Pagination? pagination; |
| |
| /// Resources corresponding to the list request. |
| core.List<GiftCardClass>? resources; |
| |
| GiftCardClassListResponse({this.pagination, this.resources}); |
| |
| GiftCardClassListResponse.fromJson(core.Map json_) |
| : this( |
| pagination: json_.containsKey('pagination') |
| ? Pagination.fromJson( |
| json_['pagination'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| resources: (json_['resources'] as core.List?) |
| ?.map( |
| (value) => GiftCardClass.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final pagination = this.pagination; |
| final resources = this.resources; |
| return {'pagination': ?pagination, 'resources': ?resources}; |
| } |
| } |
| |
| class GiftCardObject { |
| /// 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. |
| AppLinkData? appLinkData; |
| |
| /// The card's monetary balance. |
| Money? balance; |
| |
| /// 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. |
| DateTime? balanceUpdateTime; |
| |
| /// The barcode type and value. |
| Barcode? barcode; |
| |
| /// The card's number. |
| /// |
| /// Required. |
| core.String? cardNumber; |
| |
| /// 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. |
| /// |
| /// Required. |
| core.String? classId; |
| |
| /// A copy of the inherited fields of the parent class. |
| /// |
| /// These fields are retrieved during a GET. |
| GiftCardClass? classReference; |
| |
| /// 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. |
| core.bool? disableExpirationNotification; |
| |
| /// The card's event number, an optional field used by some gift cards. |
| core.String? eventNumber; |
| |
| /// Information that controls how passes are grouped together. |
| GroupingInfo? groupingInfo; |
| |
| /// 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. |
| core.bool? hasLinkedDevice; |
| |
| /// Indicates if the object has users. |
| /// |
| /// This field is set by the platform. |
| core.bool? hasUsers; |
| |
| /// 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. |
| Image? heroImage; |
| |
| /// 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 '-'. |
| /// |
| /// Required. |
| core.String? id; |
| |
| /// Image module data. |
| /// |
| /// The maximum number of these fields displayed is 1 from object level and 1 |
| /// for class object level. |
| core.List<ImageModuleData>? imageModulesData; |
| |
| /// Use textModulesData instead. |
| /// |
| /// Deprecated. |
| InfoModuleData? infoModuleData; |
| |
| /// Identifies what kind of resource this is. |
| /// |
| /// Value: the fixed string `"walletobjects#giftCardObject"`. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.String? kind; |
| |
| /// 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. |
| core.List<core.String>? linkedObjectIds; |
| |
| /// Links module data. |
| /// |
| /// If links module data is also defined on the class, both will be displayed. |
| LinksModuleData? linksModuleData; |
| |
| /// Note: This field is currently not supported to trigger geo notifications. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.List<LatLongPoint>? locations; |
| |
| /// 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. |
| core.List<MerchantLocation>? merchantLocations; |
| |
| /// 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. |
| core.List<Message>? messages; |
| |
| /// 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. |
| /// Possible string values are: |
| /// - "NOTIFICATION_SETTINGS_FOR_UPDATES_UNSPECIFIED" : Default behavior is no |
| /// notifications sent. |
| /// - "NOTIFY_ON_UPDATE" : This value will result in a notification being |
| /// sent, if the updated fields are part of an allowlist. |
| core.String? notifyPreference; |
| |
| /// Pass constraints for the object. |
| /// |
| /// Includes limiting NFC and screenshot behaviors. |
| PassConstraints? passConstraints; |
| |
| /// The card's PIN. |
| core.String? pin; |
| |
| /// The rotating barcode type and value. |
| RotatingBarcode? rotatingBarcode; |
| |
| /// 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. |
| SaveRestrictions? saveRestrictions; |
| |
| /// 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. |
| core.String? smartTapRedemptionValue; |
| |
| /// 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. |
| /// |
| /// Required. |
| /// Possible string values are: |
| /// - "STATE_UNSPECIFIED" : Default value. |
| /// - "ACTIVE" : Object is active and displayed to with other active objects. |
| /// - "active" : Legacy alias for `ACTIVE`. Deprecated. |
| /// - "COMPLETED" : Object has completed it's lifecycle. |
| /// - "completed" : Legacy alias for `COMPLETED`. Deprecated. |
| /// - "EXPIRED" : Object is no longer valid (`validTimeInterval` passed). |
| /// - "expired" : Legacy alias for `EXPIRED`. Deprecated. |
| /// - "INACTIVE" : Object is no longer valid |
| /// - "inactive" : Legacy alias for `INACTIVE`. Deprecated. |
| core.String? state; |
| |
| /// 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. |
| core.List<TextModuleData>? textModulesData; |
| |
| /// 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. |
| TimeInterval? validTimeInterval; |
| |
| /// Optional value added module data. |
| /// |
| /// Maximum of fifteen on the object. For a pass only fifteen will be |
| /// displayed. |
| core.List<ValueAddedModuleData>? valueAddedModuleData; |
| |
| /// Deprecated |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.String? version; |
| |
| GiftCardObject({ |
| this.appLinkData, |
| this.balance, |
| this.balanceUpdateTime, |
| this.barcode, |
| this.cardNumber, |
| this.classId, |
| this.classReference, |
| this.disableExpirationNotification, |
| this.eventNumber, |
| this.groupingInfo, |
| this.hasLinkedDevice, |
| this.hasUsers, |
| this.heroImage, |
| this.id, |
| this.imageModulesData, |
| this.infoModuleData, |
| this.kind, |
| this.linkedObjectIds, |
| this.linksModuleData, |
| this.locations, |
| this.merchantLocations, |
| this.messages, |
| this.notifyPreference, |
| this.passConstraints, |
| this.pin, |
| this.rotatingBarcode, |
| this.saveRestrictions, |
| this.smartTapRedemptionValue, |
| this.state, |
| this.textModulesData, |
| this.validTimeInterval, |
| this.valueAddedModuleData, |
| this.version, |
| }); |
| |
| GiftCardObject.fromJson(core.Map json_) |
| : this( |
| appLinkData: json_.containsKey('appLinkData') |
| ? AppLinkData.fromJson( |
| json_['appLinkData'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| balance: json_.containsKey('balance') |
| ? Money.fromJson( |
| json_['balance'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| balanceUpdateTime: json_.containsKey('balanceUpdateTime') |
| ? DateTime.fromJson( |
| json_['balanceUpdateTime'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| barcode: json_.containsKey('barcode') |
| ? Barcode.fromJson( |
| json_['barcode'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| cardNumber: json_['cardNumber'] as core.String?, |
| classId: json_['classId'] as core.String?, |
| classReference: json_.containsKey('classReference') |
| ? GiftCardClass.fromJson( |
| json_['classReference'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| disableExpirationNotification: |
| json_['disableExpirationNotification'] as core.bool?, |
| eventNumber: json_['eventNumber'] as core.String?, |
| groupingInfo: json_.containsKey('groupingInfo') |
| ? GroupingInfo.fromJson( |
| json_['groupingInfo'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| hasLinkedDevice: json_['hasLinkedDevice'] as core.bool?, |
| hasUsers: json_['hasUsers'] as core.bool?, |
| heroImage: json_.containsKey('heroImage') |
| ? Image.fromJson( |
| json_['heroImage'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| id: json_['id'] as core.String?, |
| imageModulesData: (json_['imageModulesData'] as core.List?) |
| ?.map( |
| (value) => ImageModuleData.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| infoModuleData: json_.containsKey('infoModuleData') |
| ? InfoModuleData.fromJson( |
| json_['infoModuleData'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| kind: json_['kind'] as core.String?, |
| linkedObjectIds: (json_['linkedObjectIds'] as core.List?) |
| ?.map((value) => value as core.String) |
| .toList(), |
| linksModuleData: json_.containsKey('linksModuleData') |
| ? LinksModuleData.fromJson( |
| json_['linksModuleData'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| locations: (json_['locations'] as core.List?) |
| ?.map( |
| (value) => LatLongPoint.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| merchantLocations: (json_['merchantLocations'] as core.List?) |
| ?.map( |
| (value) => MerchantLocation.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| messages: (json_['messages'] as core.List?) |
| ?.map( |
| (value) => Message.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| notifyPreference: json_['notifyPreference'] as core.String?, |
| passConstraints: json_.containsKey('passConstraints') |
| ? PassConstraints.fromJson( |
| json_['passConstraints'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| pin: json_['pin'] as core.String?, |
| rotatingBarcode: json_.containsKey('rotatingBarcode') |
| ? RotatingBarcode.fromJson( |
| json_['rotatingBarcode'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| saveRestrictions: json_.containsKey('saveRestrictions') |
| ? SaveRestrictions.fromJson( |
| json_['saveRestrictions'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| smartTapRedemptionValue: |
| json_['smartTapRedemptionValue'] as core.String?, |
| state: json_['state'] as core.String?, |
| textModulesData: (json_['textModulesData'] as core.List?) |
| ?.map( |
| (value) => TextModuleData.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| validTimeInterval: json_.containsKey('validTimeInterval') |
| ? TimeInterval.fromJson( |
| json_['validTimeInterval'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| valueAddedModuleData: (json_['valueAddedModuleData'] as core.List?) |
| ?.map( |
| (value) => ValueAddedModuleData.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| version: json_['version'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final appLinkData = this.appLinkData; |
| final balance = this.balance; |
| final balanceUpdateTime = this.balanceUpdateTime; |
| final barcode = this.barcode; |
| final cardNumber = this.cardNumber; |
| final classId = this.classId; |
| final classReference = this.classReference; |
| final disableExpirationNotification = this.disableExpirationNotification; |
| final eventNumber = this.eventNumber; |
| final groupingInfo = this.groupingInfo; |
| final hasLinkedDevice = this.hasLinkedDevice; |
| final hasUsers = this.hasUsers; |
| final heroImage = this.heroImage; |
| final id = this.id; |
| final imageModulesData = this.imageModulesData; |
| final infoModuleData = this.infoModuleData; |
| final kind = this.kind; |
| final linkedObjectIds = this.linkedObjectIds; |
| final linksModuleData = this.linksModuleData; |
| final locations = this.locations; |
| final merchantLocations = this.merchantLocations; |
| final messages = this.messages; |
| final notifyPreference = this.notifyPreference; |
| final passConstraints = this.passConstraints; |
| final pin = this.pin; |
| final rotatingBarcode = this.rotatingBarcode; |
| final saveRestrictions = this.saveRestrictions; |
| final smartTapRedemptionValue = this.smartTapRedemptionValue; |
| final state = this.state; |
| final textModulesData = this.textModulesData; |
| final validTimeInterval = this.validTimeInterval; |
| final valueAddedModuleData = this.valueAddedModuleData; |
| final version = this.version; |
| return { |
| 'appLinkData': ?appLinkData, |
| 'balance': ?balance, |
| 'balanceUpdateTime': ?balanceUpdateTime, |
| 'barcode': ?barcode, |
| 'cardNumber': ?cardNumber, |
| 'classId': ?classId, |
| 'classReference': ?classReference, |
| 'disableExpirationNotification': ?disableExpirationNotification, |
| 'eventNumber': ?eventNumber, |
| 'groupingInfo': ?groupingInfo, |
| 'hasLinkedDevice': ?hasLinkedDevice, |
| 'hasUsers': ?hasUsers, |
| 'heroImage': ?heroImage, |
| 'id': ?id, |
| 'imageModulesData': ?imageModulesData, |
| 'infoModuleData': ?infoModuleData, |
| 'kind': ?kind, |
| 'linkedObjectIds': ?linkedObjectIds, |
| 'linksModuleData': ?linksModuleData, |
| 'locations': ?locations, |
| 'merchantLocations': ?merchantLocations, |
| 'messages': ?messages, |
| 'notifyPreference': ?notifyPreference, |
| 'passConstraints': ?passConstraints, |
| 'pin': ?pin, |
| 'rotatingBarcode': ?rotatingBarcode, |
| 'saveRestrictions': ?saveRestrictions, |
| 'smartTapRedemptionValue': ?smartTapRedemptionValue, |
| 'state': ?state, |
| 'textModulesData': ?textModulesData, |
| 'validTimeInterval': ?validTimeInterval, |
| 'valueAddedModuleData': ?valueAddedModuleData, |
| 'version': ?version, |
| }; |
| } |
| } |
| |
| class GiftCardObjectAddMessageResponse { |
| /// The updated GiftCardObject resource. |
| GiftCardObject? resource; |
| |
| GiftCardObjectAddMessageResponse({this.resource}); |
| |
| GiftCardObjectAddMessageResponse.fromJson(core.Map json_) |
| : this( |
| resource: json_.containsKey('resource') |
| ? GiftCardObject.fromJson( |
| json_['resource'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final resource = this.resource; |
| return {'resource': ?resource}; |
| } |
| } |
| |
| class GiftCardObjectListResponse { |
| /// Pagination of the response. |
| Pagination? pagination; |
| |
| /// Resources corresponding to the list request. |
| core.List<GiftCardObject>? resources; |
| |
| GiftCardObjectListResponse({this.pagination, this.resources}); |
| |
| GiftCardObjectListResponse.fromJson(core.Map json_) |
| : this( |
| pagination: json_.containsKey('pagination') |
| ? Pagination.fromJson( |
| json_['pagination'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| resources: (json_['resources'] as core.List?) |
| ?.map( |
| (value) => GiftCardObject.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final pagination = this.pagination; |
| final resources = this.resources; |
| return {'pagination': ?pagination, 'resources': ?resources}; |
| } |
| } |
| |
| class GroupingInfo { |
| /// Optional grouping ID for grouping the passes with the same ID visually |
| /// together. |
| /// |
| /// Grouping with different types of passes is allowed. |
| core.String? groupingId; |
| |
| /// 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. |
| core.int? sortIndex; |
| |
| GroupingInfo({this.groupingId, this.sortIndex}); |
| |
| GroupingInfo.fromJson(core.Map json_) |
| : this( |
| groupingId: json_['groupingId'] as core.String?, |
| sortIndex: json_['sortIndex'] as core.int?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final groupingId = this.groupingId; |
| final sortIndex = this.sortIndex; |
| return {'groupingId': ?groupingId, 'sortIndex': ?sortIndex}; |
| } |
| } |
| |
| /// Wrapping type for Google hosted images. |
| class Image { |
| /// Description of the image used for accessibility. |
| LocalizedString? contentDescription; |
| |
| /// Identifies what kind of resource this is. |
| /// |
| /// Value: the fixed string `"walletobjects#image"`. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.String? kind; |
| |
| /// 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. |
| core.String? privateImageId; |
| |
| /// A URI for the image. |
| /// |
| /// Either this or private_image_id should be set. Requests setting both or |
| /// neither will be rejected. |
| ImageUri? sourceUri; |
| |
| Image({ |
| this.contentDescription, |
| this.kind, |
| this.privateImageId, |
| this.sourceUri, |
| }); |
| |
| Image.fromJson(core.Map json_) |
| : this( |
| contentDescription: json_.containsKey('contentDescription') |
| ? LocalizedString.fromJson( |
| json_['contentDescription'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| kind: json_['kind'] as core.String?, |
| privateImageId: json_['privateImageId'] as core.String?, |
| sourceUri: json_.containsKey('sourceUri') |
| ? ImageUri.fromJson( |
| json_['sourceUri'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final contentDescription = this.contentDescription; |
| final kind = this.kind; |
| final privateImageId = this.privateImageId; |
| final sourceUri = this.sourceUri; |
| return { |
| 'contentDescription': ?contentDescription, |
| 'kind': ?kind, |
| 'privateImageId': ?privateImageId, |
| 'sourceUri': ?sourceUri, |
| }; |
| } |
| } |
| |
| class ImageModuleData { |
| /// The ID associated with an image module. |
| /// |
| /// This field is here to enable ease of management of image modules. |
| core.String? id; |
| |
| /// A 100% width image. |
| Image? mainImage; |
| |
| ImageModuleData({this.id, this.mainImage}); |
| |
| ImageModuleData.fromJson(core.Map json_) |
| : this( |
| id: json_['id'] as core.String?, |
| mainImage: json_.containsKey('mainImage') |
| ? Image.fromJson( |
| json_['mainImage'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final id = this.id; |
| final mainImage = this.mainImage; |
| return {'id': ?id, 'mainImage': ?mainImage}; |
| } |
| } |
| |
| class ImageUri { |
| /// Additional information about the image, which is unused and retained only |
| /// for backward compatibility. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.String? description; |
| |
| /// Translated strings for the description, which are unused and retained only |
| /// for backward compatibility. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| LocalizedString? localizedDescription; |
| |
| /// The location of the image. |
| /// |
| /// URIs must have a scheme. |
| core.String? uri; |
| |
| ImageUri({this.description, this.localizedDescription, this.uri}); |
| |
| ImageUri.fromJson(core.Map json_) |
| : this( |
| description: json_['description'] as core.String?, |
| localizedDescription: json_.containsKey('localizedDescription') |
| ? LocalizedString.fromJson( |
| json_['localizedDescription'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| uri: json_['uri'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final description = this.description; |
| final localizedDescription = this.localizedDescription; |
| final uri = this.uri; |
| return { |
| 'description': ?description, |
| 'localizedDescription': ?localizedDescription, |
| 'uri': ?uri, |
| }; |
| } |
| } |
| |
| class InfoModuleData { |
| /// A list of collections of labels and values. |
| /// |
| /// These will be displayed one after the other in a singular column. |
| core.List<LabelValueRow>? labelValueRows; |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.bool? showLastUpdateTime; |
| |
| InfoModuleData({this.labelValueRows, this.showLastUpdateTime}); |
| |
| InfoModuleData.fromJson(core.Map json_) |
| : this( |
| labelValueRows: (json_['labelValueRows'] as core.List?) |
| ?.map( |
| (value) => LabelValueRow.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| showLastUpdateTime: json_['showLastUpdateTime'] as core.bool?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final labelValueRows = this.labelValueRows; |
| final showLastUpdateTime = this.showLastUpdateTime; |
| return { |
| 'labelValueRows': ?labelValueRows, |
| 'showLastUpdateTime': ?showLastUpdateTime, |
| }; |
| } |
| } |
| |
| class Issuer { |
| /// Allows the issuer to provide their callback settings. |
| CallbackOptions? callbackOptions; |
| |
| /// Issuer contact information. |
| IssuerContactInfo? contactInfo; |
| |
| /// URL for the issuer's home page. |
| core.String? homepageUrl; |
| |
| /// The unique identifier for an issuer account. |
| /// |
| /// This is automatically generated when the issuer is inserted. |
| core.String? issuerId; |
| |
| /// The account name of the issuer. |
| core.String? name; |
| |
| /// Available only to Smart Tap enabled partners. |
| /// |
| /// Contact support for additional guidance. |
| SmartTapMerchantData? smartTapMerchantData; |
| |
| Issuer({ |
| this.callbackOptions, |
| this.contactInfo, |
| this.homepageUrl, |
| this.issuerId, |
| this.name, |
| this.smartTapMerchantData, |
| }); |
| |
| Issuer.fromJson(core.Map json_) |
| : this( |
| callbackOptions: json_.containsKey('callbackOptions') |
| ? CallbackOptions.fromJson( |
| json_['callbackOptions'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| contactInfo: json_.containsKey('contactInfo') |
| ? IssuerContactInfo.fromJson( |
| json_['contactInfo'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| homepageUrl: json_['homepageUrl'] as core.String?, |
| issuerId: json_['issuerId'] as core.String?, |
| name: json_['name'] as core.String?, |
| smartTapMerchantData: json_.containsKey('smartTapMerchantData') |
| ? SmartTapMerchantData.fromJson( |
| json_['smartTapMerchantData'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final callbackOptions = this.callbackOptions; |
| final contactInfo = this.contactInfo; |
| final homepageUrl = this.homepageUrl; |
| final issuerId = this.issuerId; |
| final name = this.name; |
| final smartTapMerchantData = this.smartTapMerchantData; |
| return { |
| 'callbackOptions': ?callbackOptions, |
| 'contactInfo': ?contactInfo, |
| 'homepageUrl': ?homepageUrl, |
| 'issuerId': ?issuerId, |
| 'name': ?name, |
| 'smartTapMerchantData': ?smartTapMerchantData, |
| }; |
| } |
| } |
| |
| class IssuerContactInfo { |
| /// Email addresses which will receive alerts. |
| core.List<core.String>? alertsEmails; |
| |
| /// The primary contact email address. |
| core.String? email; |
| |
| /// The primary contact name. |
| core.String? name; |
| |
| /// The primary contact phone number. |
| core.String? phone; |
| |
| IssuerContactInfo({this.alertsEmails, this.email, this.name, this.phone}); |
| |
| IssuerContactInfo.fromJson(core.Map json_) |
| : this( |
| alertsEmails: (json_['alertsEmails'] as core.List?) |
| ?.map((value) => value as core.String) |
| .toList(), |
| email: json_['email'] as core.String?, |
| name: json_['name'] as core.String?, |
| phone: json_['phone'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final alertsEmails = this.alertsEmails; |
| final email = this.email; |
| final name = this.name; |
| final phone = this.phone; |
| return { |
| 'alertsEmails': ?alertsEmails, |
| 'email': ?email, |
| 'name': ?name, |
| 'phone': ?phone, |
| }; |
| } |
| } |
| |
| class IssuerListResponse { |
| /// Resources corresponding to the list request. |
| core.List<Issuer>? resources; |
| |
| IssuerListResponse({this.resources}); |
| |
| IssuerListResponse.fromJson(core.Map json_) |
| : this( |
| resources: (json_['resources'] as core.List?) |
| ?.map( |
| (value) => |
| Issuer.fromJson(value as core.Map<core.String, core.dynamic>), |
| ) |
| .toList(), |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final resources = this.resources; |
| return {'resources': ?resources}; |
| } |
| } |
| |
| class IssuerToUserInfo { |
| /// |
| /// Possible string values are: |
| /// - "ACTION_UNSPECIFIED" |
| /// - "S2AP" |
| /// - "s2ap" : Legacy alias for `S2AP`. Deprecated. |
| /// - "SIGN_UP" |
| /// - "signUp" : Legacy alias for `SIGN_UP`. Deprecated. |
| core.String? action; |
| SignUpInfo? signUpInfo; |
| |
| /// Currently not used, consider deprecating. |
| core.String? url; |
| |
| /// JSON web token for action S2AP. |
| core.String? value; |
| |
| IssuerToUserInfo({this.action, this.signUpInfo, this.url, this.value}); |
| |
| IssuerToUserInfo.fromJson(core.Map json_) |
| : this( |
| action: json_['action'] as core.String?, |
| signUpInfo: json_.containsKey('signUpInfo') |
| ? SignUpInfo.fromJson( |
| json_['signUpInfo'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| url: json_['url'] as core.String?, |
| value: json_['value'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final action = this.action; |
| final signUpInfo = this.signUpInfo; |
| final url = this.url; |
| final value = this.value; |
| return { |
| 'action': ?action, |
| 'signUpInfo': ?signUpInfo, |
| 'url': ?url, |
| 'value': ?value, |
| }; |
| } |
| } |
| |
| class JwtInsertResponse { |
| /// 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). |
| Resources? resources; |
| |
| /// A URI that, when opened, will allow the end user to save the object(s) |
| /// identified in the JWT to their Google account. |
| core.String? saveUri; |
| |
| JwtInsertResponse({this.resources, this.saveUri}); |
| |
| JwtInsertResponse.fromJson(core.Map json_) |
| : this( |
| resources: json_.containsKey('resources') |
| ? Resources.fromJson( |
| json_['resources'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| saveUri: json_['saveUri'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final resources = this.resources; |
| final saveUri = this.saveUri; |
| return {'resources': ?resources, 'saveUri': ?saveUri}; |
| } |
| } |
| |
| /// A JWT representation of a pass. |
| class JwtResource { |
| /// A string representing a JWT of the format described at |
| /// https://developers.google.com/wallet/reference/rest/v1/Jwt |
| /// |
| /// Required. |
| core.String? jwt; |
| |
| JwtResource({this.jwt}); |
| |
| JwtResource.fromJson(core.Map json_) |
| : this(jwt: json_['jwt'] as core.String?); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final jwt = this.jwt; |
| return {'jwt': ?jwt}; |
| } |
| } |
| |
| /// 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. |
| class LabelValue { |
| /// 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. |
| core.String? label; |
| |
| /// Translated strings for the label. |
| /// |
| /// Recommended maximum is 15 characters for a two-column layout and 30 |
| /// characters for a one-column layout. |
| LocalizedString? localizedLabel; |
| |
| /// Translated strings for the value. |
| /// |
| /// Recommended maximum is 15 characters for a two-column layout and 30 |
| /// characters for a one-column layout. |
| LocalizedString? localizedValue; |
| |
| /// 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. |
| core.String? value; |
| |
| LabelValue({ |
| this.label, |
| this.localizedLabel, |
| this.localizedValue, |
| this.value, |
| }); |
| |
| LabelValue.fromJson(core.Map json_) |
| : this( |
| label: json_['label'] as core.String?, |
| localizedLabel: json_.containsKey('localizedLabel') |
| ? LocalizedString.fromJson( |
| json_['localizedLabel'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| localizedValue: json_.containsKey('localizedValue') |
| ? LocalizedString.fromJson( |
| json_['localizedValue'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| value: json_['value'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final label = this.label; |
| final localizedLabel = this.localizedLabel; |
| final localizedValue = this.localizedValue; |
| final value = this.value; |
| return { |
| 'label': ?label, |
| 'localizedLabel': ?localizedLabel, |
| 'localizedValue': ?localizedValue, |
| 'value': ?value, |
| }; |
| } |
| } |
| |
| class LabelValueRow { |
| /// 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. |
| core.List<LabelValue>? columns; |
| |
| LabelValueRow({this.columns}); |
| |
| LabelValueRow.fromJson(core.Map json_) |
| : this( |
| columns: (json_['columns'] as core.List?) |
| ?.map( |
| (value) => LabelValue.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final columns = this.columns; |
| return {'columns': ?columns}; |
| } |
| } |
| |
| class LatLongPoint { |
| /// Identifies what kind of resource this is. |
| /// |
| /// Value: the fixed string `"walletobjects#latLongPoint"`. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.String? kind; |
| |
| /// The latitude specified as any value in the range of -90.0 through +90.0, |
| /// both inclusive. |
| /// |
| /// Values outside these bounds will be rejected. |
| core.double? latitude; |
| |
| /// The longitude specified in the range -180.0 through +180.0, both |
| /// inclusive. |
| /// |
| /// Values outside these bounds will be rejected. |
| core.double? longitude; |
| |
| LatLongPoint({this.kind, this.latitude, this.longitude}); |
| |
| LatLongPoint.fromJson(core.Map json_) |
| : this( |
| kind: json_['kind'] as core.String?, |
| latitude: (json_['latitude'] as core.num?)?.toDouble(), |
| longitude: (json_['longitude'] as core.num?)?.toDouble(), |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final kind = this.kind; |
| final latitude = this.latitude; |
| final longitude = this.longitude; |
| return {'kind': ?kind, 'latitude': ?latitude, 'longitude': ?longitude}; |
| } |
| } |
| |
| class LinksModuleData { |
| /// The list of URIs. |
| core.List<Uri>? uris; |
| |
| LinksModuleData({this.uris}); |
| |
| LinksModuleData.fromJson(core.Map json_) |
| : this( |
| uris: (json_['uris'] as core.List?) |
| ?.map( |
| (value) => |
| Uri.fromJson(value as core.Map<core.String, core.dynamic>), |
| ) |
| .toList(), |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final uris = this.uris; |
| return {'uris': ?uris}; |
| } |
| } |
| |
| class ListTemplateOverride { |
| /// 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. |
| FirstRowOption? firstRowOption; |
| |
| /// 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. |
| FieldSelector? secondRowOption; |
| |
| /// An unused/deprecated field. |
| /// |
| /// Setting it will have no effect on what the user sees. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| FieldSelector? thirdRowOption; |
| |
| ListTemplateOverride({ |
| this.firstRowOption, |
| this.secondRowOption, |
| this.thirdRowOption, |
| }); |
| |
| ListTemplateOverride.fromJson(core.Map json_) |
| : this( |
| firstRowOption: json_.containsKey('firstRowOption') |
| ? FirstRowOption.fromJson( |
| json_['firstRowOption'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| secondRowOption: json_.containsKey('secondRowOption') |
| ? FieldSelector.fromJson( |
| json_['secondRowOption'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| thirdRowOption: json_.containsKey('thirdRowOption') |
| ? FieldSelector.fromJson( |
| json_['thirdRowOption'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final firstRowOption = this.firstRowOption; |
| final secondRowOption = this.secondRowOption; |
| final thirdRowOption = this.thirdRowOption; |
| return { |
| 'firstRowOption': ?firstRowOption, |
| 'secondRowOption': ?secondRowOption, |
| 'thirdRowOption': ?thirdRowOption, |
| }; |
| } |
| } |
| |
| class LocalizedString { |
| /// Contains the string to be displayed if no appropriate translation is |
| /// available. |
| TranslatedString? defaultValue; |
| |
| /// Identifies what kind of resource this is. |
| /// |
| /// Value: the fixed string `"walletobjects#localizedString"`. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.String? kind; |
| |
| /// Contains the translations for the string. |
| core.List<TranslatedString>? translatedValues; |
| |
| LocalizedString({this.defaultValue, this.kind, this.translatedValues}); |
| |
| LocalizedString.fromJson(core.Map json_) |
| : this( |
| defaultValue: json_.containsKey('defaultValue') |
| ? TranslatedString.fromJson( |
| json_['defaultValue'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| kind: json_['kind'] as core.String?, |
| translatedValues: (json_['translatedValues'] as core.List?) |
| ?.map( |
| (value) => TranslatedString.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final defaultValue = this.defaultValue; |
| final kind = this.kind; |
| final translatedValues = this.translatedValues; |
| return { |
| 'defaultValue': ?defaultValue, |
| 'kind': ?kind, |
| 'translatedValues': ?translatedValues, |
| }; |
| } |
| } |
| |
| class LoyaltyClass { |
| /// The account ID label, such as "Member ID." Recommended maximum length is |
| /// 15 characters to ensure full string is displayed on smaller screens. |
| core.String? accountIdLabel; |
| |
| /// The account name label, such as "Member Name." Recommended maximum length |
| /// is 15 characters to ensure full string is displayed on smaller screens. |
| core.String? accountNameLabel; |
| |
| /// Use `multipleDevicesAndHoldersAllowedStatus` instead. |
| /// |
| /// Deprecated. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.bool? allowMultipleUsersPerObject; |
| |
| /// 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. |
| AppLinkData? appLinkData; |
| |
| /// 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. |
| CallbackOptions? callbackOptions; |
| |
| /// Template information about how the class should be displayed. |
| /// |
| /// If unset, Google will fallback to a default set of fields to display. |
| ClassTemplateInfo? classTemplateInfo; |
| |
| /// 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. |
| core.String? countryCode; |
| |
| /// Information about how the class may be discovered and instantiated from |
| /// within the Google Pay app. |
| DiscoverableProgram? discoverableProgram; |
| |
| /// 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. |
| core.bool? enableSmartTap; |
| |
| /// 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. |
| Image? heroImage; |
| |
| /// 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`. |
| core.String? hexBackgroundColor; |
| |
| /// 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). |
| Uri? homepageUri; |
| |
| /// 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 '-'. |
| /// |
| /// Required. |
| core.String? id; |
| |
| /// Image module data. |
| /// |
| /// The maximum number of these fields displayed is 1 from object level and 1 |
| /// for class object level. |
| core.List<ImageModuleData>? imageModulesData; |
| |
| /// Use textModulesData instead. |
| /// |
| /// Deprecated. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| InfoModuleData? infoModuleData; |
| |
| /// The issuer name. |
| /// |
| /// Recommended maximum length is 20 characters to ensure full string is |
| /// displayed on smaller screens. |
| /// |
| /// Required. |
| core.String? issuerName; |
| |
| /// Identifies what kind of resource this is. |
| /// |
| /// Value: the fixed string `"walletobjects#loyaltyClass"`. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.String? kind; |
| |
| /// Links module data. |
| /// |
| /// If links module data is also defined on the object, both will be |
| /// displayed. |
| LinksModuleData? linksModuleData; |
| |
| /// Translated strings for the account_id_label. |
| /// |
| /// Recommended maximum length is 15 characters to ensure full string is |
| /// displayed on smaller screens. |
| LocalizedString? localizedAccountIdLabel; |
| |
| /// Translated strings for the account_name_label. |
| /// |
| /// Recommended maximum length is 15 characters to ensure full string is |
| /// displayed on smaller screens. |
| LocalizedString? localizedAccountNameLabel; |
| |
| /// Translated strings for the issuer_name. |
| /// |
| /// Recommended maximum length is 20 characters to ensure full string is |
| /// displayed on smaller screens. |
| LocalizedString? localizedIssuerName; |
| |
| /// 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. |
| LocalizedString? localizedProgramName; |
| |
| /// Translated strings for the rewards_tier. |
| /// |
| /// Recommended maximum length is 7 characters to ensure full string is |
| /// displayed on smaller screens. |
| LocalizedString? localizedRewardsTier; |
| |
| /// Translated strings for the rewards_tier_label. |
| /// |
| /// Recommended maximum length is 9 characters to ensure full string is |
| /// displayed on smaller screens. |
| LocalizedString? localizedRewardsTierLabel; |
| |
| /// Translated strings for the secondary_rewards_tier. |
| LocalizedString? localizedSecondaryRewardsTier; |
| |
| /// Translated strings for the secondary_rewards_tier_label. |
| LocalizedString? localizedSecondaryRewardsTierLabel; |
| |
| /// Note: This field is currently not supported to trigger geo notifications. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.List<LatLongPoint>? locations; |
| |
| /// 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. |
| core.List<MerchantLocation>? merchantLocations; |
| |
| /// 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. |
| core.List<Message>? messages; |
| |
| /// Identifies whether multiple users and devices will save the same object |
| /// referencing this class. |
| /// Possible string values are: |
| /// - "STATUS_UNSPECIFIED" : Unspecified preference. |
| /// - "MULTIPLE_HOLDERS" : 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. |
| /// - "ONE_USER_ALL_DEVICES" : 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. |
| /// - "ONE_USER_ONE_DEVICE" : 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. |
| /// - "multipleHolders" : Legacy alias for `MULTIPLE_HOLDERS`. Deprecated. |
| /// - "oneUserAllDevices" : Legacy alias for `ONE_USER_ALL_DEVICES`. |
| /// Deprecated. |
| /// - "oneUserOneDevice" : Legacy alias for `ONE_USER_ONE_DEVICE`. Deprecated. |
| core.String? multipleDevicesAndHoldersAllowedStatus; |
| |
| /// 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. |
| /// Possible string values are: |
| /// - "NOTIFICATION_SETTINGS_FOR_UPDATES_UNSPECIFIED" : Default behavior is no |
| /// notifications sent. |
| /// - "NOTIFY_ON_UPDATE" : This value will result in a notification being |
| /// sent, if the updated fields are part of an allowlist. |
| core.String? notifyPreference; |
| |
| /// The logo of the loyalty program or company. |
| /// |
| /// This logo is displayed in both the details and list views of the app. |
| /// |
| /// Required. |
| Image? programLogo; |
| |
| /// 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. |
| /// |
| /// Required. |
| core.String? programName; |
| |
| /// 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. |
| core.List<core.String>? redemptionIssuers; |
| |
| /// The review comments set by the platform when a class is marked `approved` |
| /// or `rejected`. |
| Review? review; |
| |
| /// 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`. |
| /// |
| /// Required. |
| /// Possible string values are: |
| /// - "REVIEW_STATUS_UNSPECIFIED" |
| /// - "UNDER_REVIEW" |
| /// - "underReview" : Legacy alias for `UNDER_REVIEW`. Deprecated. |
| /// - "APPROVED" |
| /// - "approved" : Legacy alias for `APPROVED`. Deprecated. |
| /// - "REJECTED" |
| /// - "rejected" : Legacy alias for `REJECTED`. Deprecated. |
| /// - "DRAFT" |
| /// - "draft" : Legacy alias for `DRAFT`. Deprecated. |
| core.String? reviewStatus; |
| |
| /// The rewards tier, such as "Gold" or "Platinum." Recommended maximum length |
| /// is 7 characters to ensure full string is displayed on smaller screens. |
| core.String? rewardsTier; |
| |
| /// The rewards tier label, such as "Rewards Tier." Recommended maximum length |
| /// is 9 characters to ensure full string is displayed on smaller screens. |
| core.String? rewardsTierLabel; |
| |
| /// The secondary rewards tier, such as "Gold" or "Platinum." |
| core.String? secondaryRewardsTier; |
| |
| /// The secondary rewards tier label, such as "Rewards Tier." |
| core.String? secondaryRewardsTierLabel; |
| |
| /// Optional information about the security animation. |
| /// |
| /// If this is set a security animation will be rendered on pass details. |
| SecurityAnimation? securityAnimation; |
| |
| /// 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. |
| core.List<TextModuleData>? textModulesData; |
| |
| /// Optional value added module data. |
| /// |
| /// Maximum of fifteen on the class. For a pass only fifteen will be |
| /// displayed, prioritizing those from the object. |
| core.List<ValueAddedModuleData>? valueAddedModuleData; |
| |
| /// Deprecated |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.String? version; |
| |
| /// View Unlock Requirement options for the loyalty card. |
| /// Possible string values are: |
| /// - "VIEW_UNLOCK_REQUIREMENT_UNSPECIFIED" : Default value, same as |
| /// UNLOCK_NOT_REQUIRED. |
| /// - "UNLOCK_NOT_REQUIRED" : Default behavior for all the existing Passes if |
| /// ViewUnlockRequirement is not set. |
| /// - "UNLOCK_REQUIRED_TO_VIEW" : 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. |
| core.String? viewUnlockRequirement; |
| |
| /// 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. |
| Image? wideProgramLogo; |
| |
| /// Deprecated. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| Image? wordMark; |
| |
| LoyaltyClass({ |
| this.accountIdLabel, |
| this.accountNameLabel, |
| this.allowMultipleUsersPerObject, |
| this.appLinkData, |
| this.callbackOptions, |
| this.classTemplateInfo, |
| this.countryCode, |
| this.discoverableProgram, |
| this.enableSmartTap, |
| this.heroImage, |
| this.hexBackgroundColor, |
| this.homepageUri, |
| this.id, |
| this.imageModulesData, |
| this.infoModuleData, |
| this.issuerName, |
| this.kind, |
| this.linksModuleData, |
| this.localizedAccountIdLabel, |
| this.localizedAccountNameLabel, |
| this.localizedIssuerName, |
| this.localizedProgramName, |
| this.localizedRewardsTier, |
| this.localizedRewardsTierLabel, |
| this.localizedSecondaryRewardsTier, |
| this.localizedSecondaryRewardsTierLabel, |
| this.locations, |
| this.merchantLocations, |
| this.messages, |
| this.multipleDevicesAndHoldersAllowedStatus, |
| this.notifyPreference, |
| this.programLogo, |
| this.programName, |
| this.redemptionIssuers, |
| this.review, |
| this.reviewStatus, |
| this.rewardsTier, |
| this.rewardsTierLabel, |
| this.secondaryRewardsTier, |
| this.secondaryRewardsTierLabel, |
| this.securityAnimation, |
| this.textModulesData, |
| this.valueAddedModuleData, |
| this.version, |
| this.viewUnlockRequirement, |
| this.wideProgramLogo, |
| this.wordMark, |
| }); |
| |
| LoyaltyClass.fromJson(core.Map json_) |
| : this( |
| accountIdLabel: json_['accountIdLabel'] as core.String?, |
| accountNameLabel: json_['accountNameLabel'] as core.String?, |
| allowMultipleUsersPerObject: |
| json_['allowMultipleUsersPerObject'] as core.bool?, |
| appLinkData: json_.containsKey('appLinkData') |
| ? AppLinkData.fromJson( |
| json_['appLinkData'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| callbackOptions: json_.containsKey('callbackOptions') |
| ? CallbackOptions.fromJson( |
| json_['callbackOptions'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| classTemplateInfo: json_.containsKey('classTemplateInfo') |
| ? ClassTemplateInfo.fromJson( |
| json_['classTemplateInfo'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| countryCode: json_['countryCode'] as core.String?, |
| discoverableProgram: json_.containsKey('discoverableProgram') |
| ? DiscoverableProgram.fromJson( |
| json_['discoverableProgram'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| enableSmartTap: json_['enableSmartTap'] as core.bool?, |
| heroImage: json_.containsKey('heroImage') |
| ? Image.fromJson( |
| json_['heroImage'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| hexBackgroundColor: json_['hexBackgroundColor'] as core.String?, |
| homepageUri: json_.containsKey('homepageUri') |
| ? Uri.fromJson( |
| json_['homepageUri'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| id: json_['id'] as core.String?, |
| imageModulesData: (json_['imageModulesData'] as core.List?) |
| ?.map( |
| (value) => ImageModuleData.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| infoModuleData: json_.containsKey('infoModuleData') |
| ? InfoModuleData.fromJson( |
| json_['infoModuleData'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| issuerName: json_['issuerName'] as core.String?, |
| kind: json_['kind'] as core.String?, |
| linksModuleData: json_.containsKey('linksModuleData') |
| ? LinksModuleData.fromJson( |
| json_['linksModuleData'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| localizedAccountIdLabel: json_.containsKey('localizedAccountIdLabel') |
| ? LocalizedString.fromJson( |
| json_['localizedAccountIdLabel'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| localizedAccountNameLabel: |
| json_.containsKey('localizedAccountNameLabel') |
| ? LocalizedString.fromJson( |
| json_['localizedAccountNameLabel'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| localizedIssuerName: json_.containsKey('localizedIssuerName') |
| ? LocalizedString.fromJson( |
| json_['localizedIssuerName'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| localizedProgramName: json_.containsKey('localizedProgramName') |
| ? LocalizedString.fromJson( |
| json_['localizedProgramName'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| localizedRewardsTier: json_.containsKey('localizedRewardsTier') |
| ? LocalizedString.fromJson( |
| json_['localizedRewardsTier'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| localizedRewardsTierLabel: |
| json_.containsKey('localizedRewardsTierLabel') |
| ? LocalizedString.fromJson( |
| json_['localizedRewardsTierLabel'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| localizedSecondaryRewardsTier: |
| json_.containsKey('localizedSecondaryRewardsTier') |
| ? LocalizedString.fromJson( |
| json_['localizedSecondaryRewardsTier'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| localizedSecondaryRewardsTierLabel: |
| json_.containsKey('localizedSecondaryRewardsTierLabel') |
| ? LocalizedString.fromJson( |
| json_['localizedSecondaryRewardsTierLabel'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| locations: (json_['locations'] as core.List?) |
| ?.map( |
| (value) => LatLongPoint.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| merchantLocations: (json_['merchantLocations'] as core.List?) |
| ?.map( |
| (value) => MerchantLocation.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| messages: (json_['messages'] as core.List?) |
| ?.map( |
| (value) => Message.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| multipleDevicesAndHoldersAllowedStatus: |
| json_['multipleDevicesAndHoldersAllowedStatus'] as core.String?, |
| notifyPreference: json_['notifyPreference'] as core.String?, |
| programLogo: json_.containsKey('programLogo') |
| ? Image.fromJson( |
| json_['programLogo'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| programName: json_['programName'] as core.String?, |
| redemptionIssuers: (json_['redemptionIssuers'] as core.List?) |
| ?.map((value) => value as core.String) |
| .toList(), |
| review: json_.containsKey('review') |
| ? Review.fromJson( |
| json_['review'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| reviewStatus: json_['reviewStatus'] as core.String?, |
| rewardsTier: json_['rewardsTier'] as core.String?, |
| rewardsTierLabel: json_['rewardsTierLabel'] as core.String?, |
| secondaryRewardsTier: json_['secondaryRewardsTier'] as core.String?, |
| secondaryRewardsTierLabel: |
| json_['secondaryRewardsTierLabel'] as core.String?, |
| securityAnimation: json_.containsKey('securityAnimation') |
| ? SecurityAnimation.fromJson( |
| json_['securityAnimation'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| textModulesData: (json_['textModulesData'] as core.List?) |
| ?.map( |
| (value) => TextModuleData.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| valueAddedModuleData: (json_['valueAddedModuleData'] as core.List?) |
| ?.map( |
| (value) => ValueAddedModuleData.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| version: json_['version'] as core.String?, |
| viewUnlockRequirement: json_['viewUnlockRequirement'] as core.String?, |
| wideProgramLogo: json_.containsKey('wideProgramLogo') |
| ? Image.fromJson( |
| json_['wideProgramLogo'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| wordMark: json_.containsKey('wordMark') |
| ? Image.fromJson( |
| json_['wordMark'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final accountIdLabel = this.accountIdLabel; |
| final accountNameLabel = this.accountNameLabel; |
| final allowMultipleUsersPerObject = this.allowMultipleUsersPerObject; |
| final appLinkData = this.appLinkData; |
| final callbackOptions = this.callbackOptions; |
| final classTemplateInfo = this.classTemplateInfo; |
| final countryCode = this.countryCode; |
| final discoverableProgram = this.discoverableProgram; |
| final enableSmartTap = this.enableSmartTap; |
| final heroImage = this.heroImage; |
| final hexBackgroundColor = this.hexBackgroundColor; |
| final homepageUri = this.homepageUri; |
| final id = this.id; |
| final imageModulesData = this.imageModulesData; |
| final infoModuleData = this.infoModuleData; |
| final issuerName = this.issuerName; |
| final kind = this.kind; |
| final linksModuleData = this.linksModuleData; |
| final localizedAccountIdLabel = this.localizedAccountIdLabel; |
| final localizedAccountNameLabel = this.localizedAccountNameLabel; |
| final localizedIssuerName = this.localizedIssuerName; |
| final localizedProgramName = this.localizedProgramName; |
| final localizedRewardsTier = this.localizedRewardsTier; |
| final localizedRewardsTierLabel = this.localizedRewardsTierLabel; |
| final localizedSecondaryRewardsTier = this.localizedSecondaryRewardsTier; |
| final localizedSecondaryRewardsTierLabel = |
| this.localizedSecondaryRewardsTierLabel; |
| final locations = this.locations; |
| final merchantLocations = this.merchantLocations; |
| final messages = this.messages; |
| final multipleDevicesAndHoldersAllowedStatus = |
| this.multipleDevicesAndHoldersAllowedStatus; |
| final notifyPreference = this.notifyPreference; |
| final programLogo = this.programLogo; |
| final programName = this.programName; |
| final redemptionIssuers = this.redemptionIssuers; |
| final review = this.review; |
| final reviewStatus = this.reviewStatus; |
| final rewardsTier = this.rewardsTier; |
| final rewardsTierLabel = this.rewardsTierLabel; |
| final secondaryRewardsTier = this.secondaryRewardsTier; |
| final secondaryRewardsTierLabel = this.secondaryRewardsTierLabel; |
| final securityAnimation = this.securityAnimation; |
| final textModulesData = this.textModulesData; |
| final valueAddedModuleData = this.valueAddedModuleData; |
| final version = this.version; |
| final viewUnlockRequirement = this.viewUnlockRequirement; |
| final wideProgramLogo = this.wideProgramLogo; |
| final wordMark = this.wordMark; |
| return { |
| 'accountIdLabel': ?accountIdLabel, |
| 'accountNameLabel': ?accountNameLabel, |
| 'allowMultipleUsersPerObject': ?allowMultipleUsersPerObject, |
| 'appLinkData': ?appLinkData, |
| 'callbackOptions': ?callbackOptions, |
| 'classTemplateInfo': ?classTemplateInfo, |
| 'countryCode': ?countryCode, |
| 'discoverableProgram': ?discoverableProgram, |
| 'enableSmartTap': ?enableSmartTap, |
| 'heroImage': ?heroImage, |
| 'hexBackgroundColor': ?hexBackgroundColor, |
| 'homepageUri': ?homepageUri, |
| 'id': ?id, |
| 'imageModulesData': ?imageModulesData, |
| 'infoModuleData': ?infoModuleData, |
| 'issuerName': ?issuerName, |
| 'kind': ?kind, |
| 'linksModuleData': ?linksModuleData, |
| 'localizedAccountIdLabel': ?localizedAccountIdLabel, |
| 'localizedAccountNameLabel': ?localizedAccountNameLabel, |
| 'localizedIssuerName': ?localizedIssuerName, |
| 'localizedProgramName': ?localizedProgramName, |
| 'localizedRewardsTier': ?localizedRewardsTier, |
| 'localizedRewardsTierLabel': ?localizedRewardsTierLabel, |
| 'localizedSecondaryRewardsTier': ?localizedSecondaryRewardsTier, |
| 'localizedSecondaryRewardsTierLabel': ?localizedSecondaryRewardsTierLabel, |
| 'locations': ?locations, |
| 'merchantLocations': ?merchantLocations, |
| 'messages': ?messages, |
| 'multipleDevicesAndHoldersAllowedStatus': |
| ?multipleDevicesAndHoldersAllowedStatus, |
| 'notifyPreference': ?notifyPreference, |
| 'programLogo': ?programLogo, |
| 'programName': ?programName, |
| 'redemptionIssuers': ?redemptionIssuers, |
| 'review': ?review, |
| 'reviewStatus': ?reviewStatus, |
| 'rewardsTier': ?rewardsTier, |
| 'rewardsTierLabel': ?rewardsTierLabel, |
| 'secondaryRewardsTier': ?secondaryRewardsTier, |
| 'secondaryRewardsTierLabel': ?secondaryRewardsTierLabel, |
| 'securityAnimation': ?securityAnimation, |
| 'textModulesData': ?textModulesData, |
| 'valueAddedModuleData': ?valueAddedModuleData, |
| 'version': ?version, |
| 'viewUnlockRequirement': ?viewUnlockRequirement, |
| 'wideProgramLogo': ?wideProgramLogo, |
| 'wordMark': ?wordMark, |
| }; |
| } |
| } |
| |
| class LoyaltyClassAddMessageResponse { |
| /// The updated LoyaltyClass resource. |
| LoyaltyClass? resource; |
| |
| LoyaltyClassAddMessageResponse({this.resource}); |
| |
| LoyaltyClassAddMessageResponse.fromJson(core.Map json_) |
| : this( |
| resource: json_.containsKey('resource') |
| ? LoyaltyClass.fromJson( |
| json_['resource'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final resource = this.resource; |
| return {'resource': ?resource}; |
| } |
| } |
| |
| class LoyaltyClassListResponse { |
| /// Pagination of the response. |
| Pagination? pagination; |
| |
| /// Resources corresponding to the list request. |
| core.List<LoyaltyClass>? resources; |
| |
| LoyaltyClassListResponse({this.pagination, this.resources}); |
| |
| LoyaltyClassListResponse.fromJson(core.Map json_) |
| : this( |
| pagination: json_.containsKey('pagination') |
| ? Pagination.fromJson( |
| json_['pagination'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| resources: (json_['resources'] as core.List?) |
| ?.map( |
| (value) => LoyaltyClass.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final pagination = this.pagination; |
| final resources = this.resources; |
| return {'pagination': ?pagination, 'resources': ?resources}; |
| } |
| } |
| |
| class LoyaltyObject { |
| /// The loyalty account identifier. |
| /// |
| /// Recommended maximum length is 20 characters. |
| core.String? accountId; |
| |
| /// The loyalty account holder name, such as "John Smith." Recommended maximum |
| /// length is 20 characters to ensure full string is displayed on smaller |
| /// screens. |
| core.String? accountName; |
| |
| /// 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. |
| AppLinkData? appLinkData; |
| |
| /// The barcode type and value. |
| Barcode? barcode; |
| |
| /// 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. |
| /// |
| /// Required. |
| core.String? classId; |
| |
| /// A copy of the inherited fields of the parent class. |
| /// |
| /// These fields are retrieved during a GET. |
| LoyaltyClass? classReference; |
| |
| /// 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. |
| core.bool? disableExpirationNotification; |
| |
| /// Information that controls how passes are grouped together. |
| GroupingInfo? groupingInfo; |
| |
| /// 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. |
| core.bool? hasLinkedDevice; |
| |
| /// Indicates if the object has users. |
| /// |
| /// This field is set by the platform. |
| core.bool? hasUsers; |
| |
| /// 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. |
| Image? heroImage; |
| |
| /// 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 '-'. |
| /// |
| /// Required. |
| core.String? id; |
| |
| /// Image module data. |
| /// |
| /// The maximum number of these fields displayed is 1 from object level and 1 |
| /// for class object level. |
| core.List<ImageModuleData>? imageModulesData; |
| |
| /// Use textModulesData instead. |
| /// |
| /// Deprecated. |
| InfoModuleData? infoModuleData; |
| |
| /// Identifies what kind of resource this is. |
| /// |
| /// Value: the fixed string `"walletobjects#loyaltyObject"`. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.String? kind; |
| |
| /// 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. |
| core.List<core.String>? linkedObjectIds; |
| |
| /// 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. |
| core.List<core.String>? linkedOfferIds; |
| |
| /// Links module data. |
| /// |
| /// If links module data is also defined on the class, both will be displayed. |
| LinksModuleData? linksModuleData; |
| |
| /// Note: This field is currently not supported to trigger geo notifications. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.List<LatLongPoint>? locations; |
| |
| /// The loyalty reward points label, balance, and type. |
| LoyaltyPoints? loyaltyPoints; |
| |
| /// 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. |
| core.List<MerchantLocation>? merchantLocations; |
| |
| /// 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. |
| core.List<Message>? messages; |
| |
| /// 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. |
| /// Possible string values are: |
| /// - "NOTIFICATION_SETTINGS_FOR_UPDATES_UNSPECIFIED" : Default behavior is no |
| /// notifications sent. |
| /// - "NOTIFY_ON_UPDATE" : This value will result in a notification being |
| /// sent, if the updated fields are part of an allowlist. |
| core.String? notifyPreference; |
| |
| /// Pass constraints for the object. |
| /// |
| /// Includes limiting NFC and screenshot behaviors. |
| PassConstraints? passConstraints; |
| |
| /// The rotating barcode type and value. |
| RotatingBarcode? rotatingBarcode; |
| |
| /// 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. |
| SaveRestrictions? saveRestrictions; |
| |
| /// The secondary loyalty reward points label, balance, and type. |
| /// |
| /// Shown in addition to the primary loyalty points. |
| LoyaltyPoints? secondaryLoyaltyPoints; |
| |
| /// 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. |
| core.String? smartTapRedemptionValue; |
| |
| /// 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. |
| /// |
| /// Required. |
| /// Possible string values are: |
| /// - "STATE_UNSPECIFIED" : Default value. |
| /// - "ACTIVE" : Object is active and displayed to with other active objects. |
| /// - "active" : Legacy alias for `ACTIVE`. Deprecated. |
| /// - "COMPLETED" : Object has completed it's lifecycle. |
| /// - "completed" : Legacy alias for `COMPLETED`. Deprecated. |
| /// - "EXPIRED" : Object is no longer valid (`validTimeInterval` passed). |
| /// - "expired" : Legacy alias for `EXPIRED`. Deprecated. |
| /// - "INACTIVE" : Object is no longer valid |
| /// - "inactive" : Legacy alias for `INACTIVE`. Deprecated. |
| core.String? state; |
| |
| /// 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. |
| core.List<TextModuleData>? textModulesData; |
| |
| /// 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. |
| TimeInterval? validTimeInterval; |
| |
| /// Optional value added module data. |
| /// |
| /// Maximum of fifteen on the object. For a pass only fifteen will be |
| /// displayed. |
| core.List<ValueAddedModuleData>? valueAddedModuleData; |
| |
| /// Deprecated |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.String? version; |
| |
| LoyaltyObject({ |
| this.accountId, |
| this.accountName, |
| this.appLinkData, |
| this.barcode, |
| this.classId, |
| this.classReference, |
| this.disableExpirationNotification, |
| this.groupingInfo, |
| this.hasLinkedDevice, |
| this.hasUsers, |
| this.heroImage, |
| this.id, |
| this.imageModulesData, |
| this.infoModuleData, |
| this.kind, |
| this.linkedObjectIds, |
| this.linkedOfferIds, |
| this.linksModuleData, |
| this.locations, |
| this.loyaltyPoints, |
| this.merchantLocations, |
| this.messages, |
| this.notifyPreference, |
| this.passConstraints, |
| this.rotatingBarcode, |
| this.saveRestrictions, |
| this.secondaryLoyaltyPoints, |
| this.smartTapRedemptionValue, |
| this.state, |
| this.textModulesData, |
| this.validTimeInterval, |
| this.valueAddedModuleData, |
| this.version, |
| }); |
| |
| LoyaltyObject.fromJson(core.Map json_) |
| : this( |
| accountId: json_['accountId'] as core.String?, |
| accountName: json_['accountName'] as core.String?, |
| appLinkData: json_.containsKey('appLinkData') |
| ? AppLinkData.fromJson( |
| json_['appLinkData'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| barcode: json_.containsKey('barcode') |
| ? Barcode.fromJson( |
| json_['barcode'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| classId: json_['classId'] as core.String?, |
| classReference: json_.containsKey('classReference') |
| ? LoyaltyClass.fromJson( |
| json_['classReference'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| disableExpirationNotification: |
| json_['disableExpirationNotification'] as core.bool?, |
| groupingInfo: json_.containsKey('groupingInfo') |
| ? GroupingInfo.fromJson( |
| json_['groupingInfo'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| hasLinkedDevice: json_['hasLinkedDevice'] as core.bool?, |
| hasUsers: json_['hasUsers'] as core.bool?, |
| heroImage: json_.containsKey('heroImage') |
| ? Image.fromJson( |
| json_['heroImage'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| id: json_['id'] as core.String?, |
| imageModulesData: (json_['imageModulesData'] as core.List?) |
| ?.map( |
| (value) => ImageModuleData.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| infoModuleData: json_.containsKey('infoModuleData') |
| ? InfoModuleData.fromJson( |
| json_['infoModuleData'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| kind: json_['kind'] as core.String?, |
| linkedObjectIds: (json_['linkedObjectIds'] as core.List?) |
| ?.map((value) => value as core.String) |
| .toList(), |
| linkedOfferIds: (json_['linkedOfferIds'] as core.List?) |
| ?.map((value) => value as core.String) |
| .toList(), |
| linksModuleData: json_.containsKey('linksModuleData') |
| ? LinksModuleData.fromJson( |
| json_['linksModuleData'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| locations: (json_['locations'] as core.List?) |
| ?.map( |
| (value) => LatLongPoint.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| loyaltyPoints: json_.containsKey('loyaltyPoints') |
| ? LoyaltyPoints.fromJson( |
| json_['loyaltyPoints'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| merchantLocations: (json_['merchantLocations'] as core.List?) |
| ?.map( |
| (value) => MerchantLocation.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| messages: (json_['messages'] as core.List?) |
| ?.map( |
| (value) => Message.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| notifyPreference: json_['notifyPreference'] as core.String?, |
| passConstraints: json_.containsKey('passConstraints') |
| ? PassConstraints.fromJson( |
| json_['passConstraints'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| rotatingBarcode: json_.containsKey('rotatingBarcode') |
| ? RotatingBarcode.fromJson( |
| json_['rotatingBarcode'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| saveRestrictions: json_.containsKey('saveRestrictions') |
| ? SaveRestrictions.fromJson( |
| json_['saveRestrictions'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| secondaryLoyaltyPoints: json_.containsKey('secondaryLoyaltyPoints') |
| ? LoyaltyPoints.fromJson( |
| json_['secondaryLoyaltyPoints'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| smartTapRedemptionValue: |
| json_['smartTapRedemptionValue'] as core.String?, |
| state: json_['state'] as core.String?, |
| textModulesData: (json_['textModulesData'] as core.List?) |
| ?.map( |
| (value) => TextModuleData.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| validTimeInterval: json_.containsKey('validTimeInterval') |
| ? TimeInterval.fromJson( |
| json_['validTimeInterval'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| valueAddedModuleData: (json_['valueAddedModuleData'] as core.List?) |
| ?.map( |
| (value) => ValueAddedModuleData.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| version: json_['version'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final accountId = this.accountId; |
| final accountName = this.accountName; |
| final appLinkData = this.appLinkData; |
| final barcode = this.barcode; |
| final classId = this.classId; |
| final classReference = this.classReference; |
| final disableExpirationNotification = this.disableExpirationNotification; |
| final groupingInfo = this.groupingInfo; |
| final hasLinkedDevice = this.hasLinkedDevice; |
| final hasUsers = this.hasUsers; |
| final heroImage = this.heroImage; |
| final id = this.id; |
| final imageModulesData = this.imageModulesData; |
| final infoModuleData = this.infoModuleData; |
| final kind = this.kind; |
| final linkedObjectIds = this.linkedObjectIds; |
| final linkedOfferIds = this.linkedOfferIds; |
| final linksModuleData = this.linksModuleData; |
| final locations = this.locations; |
| final loyaltyPoints = this.loyaltyPoints; |
| final merchantLocations = this.merchantLocations; |
| final messages = this.messages; |
| final notifyPreference = this.notifyPreference; |
| final passConstraints = this.passConstraints; |
| final rotatingBarcode = this.rotatingBarcode; |
| final saveRestrictions = this.saveRestrictions; |
| final secondaryLoyaltyPoints = this.secondaryLoyaltyPoints; |
| final smartTapRedemptionValue = this.smartTapRedemptionValue; |
| final state = this.state; |
| final textModulesData = this.textModulesData; |
| final validTimeInterval = this.validTimeInterval; |
| final valueAddedModuleData = this.valueAddedModuleData; |
| final version = this.version; |
| return { |
| 'accountId': ?accountId, |
| 'accountName': ?accountName, |
| 'appLinkData': ?appLinkData, |
| 'barcode': ?barcode, |
| 'classId': ?classId, |
| 'classReference': ?classReference, |
| 'disableExpirationNotification': ?disableExpirationNotification, |
| 'groupingInfo': ?groupingInfo, |
| 'hasLinkedDevice': ?hasLinkedDevice, |
| 'hasUsers': ?hasUsers, |
| 'heroImage': ?heroImage, |
| 'id': ?id, |
| 'imageModulesData': ?imageModulesData, |
| 'infoModuleData': ?infoModuleData, |
| 'kind': ?kind, |
| 'linkedObjectIds': ?linkedObjectIds, |
| 'linkedOfferIds': ?linkedOfferIds, |
| 'linksModuleData': ?linksModuleData, |
| 'locations': ?locations, |
| 'loyaltyPoints': ?loyaltyPoints, |
| 'merchantLocations': ?merchantLocations, |
| 'messages': ?messages, |
| 'notifyPreference': ?notifyPreference, |
| 'passConstraints': ?passConstraints, |
| 'rotatingBarcode': ?rotatingBarcode, |
| 'saveRestrictions': ?saveRestrictions, |
| 'secondaryLoyaltyPoints': ?secondaryLoyaltyPoints, |
| 'smartTapRedemptionValue': ?smartTapRedemptionValue, |
| 'state': ?state, |
| 'textModulesData': ?textModulesData, |
| 'validTimeInterval': ?validTimeInterval, |
| 'valueAddedModuleData': ?valueAddedModuleData, |
| 'version': ?version, |
| }; |
| } |
| } |
| |
| class LoyaltyObjectAddMessageResponse { |
| /// The updated LoyaltyObject resource. |
| LoyaltyObject? resource; |
| |
| LoyaltyObjectAddMessageResponse({this.resource}); |
| |
| LoyaltyObjectAddMessageResponse.fromJson(core.Map json_) |
| : this( |
| resource: json_.containsKey('resource') |
| ? LoyaltyObject.fromJson( |
| json_['resource'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final resource = this.resource; |
| return {'resource': ?resource}; |
| } |
| } |
| |
| class LoyaltyObjectListResponse { |
| /// Pagination of the response. |
| Pagination? pagination; |
| |
| /// Resources corresponding to the list request. |
| core.List<LoyaltyObject>? resources; |
| |
| LoyaltyObjectListResponse({this.pagination, this.resources}); |
| |
| LoyaltyObjectListResponse.fromJson(core.Map json_) |
| : this( |
| pagination: json_.containsKey('pagination') |
| ? Pagination.fromJson( |
| json_['pagination'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| resources: (json_['resources'] as core.List?) |
| ?.map( |
| (value) => LoyaltyObject.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final pagination = this.pagination; |
| final resources = this.resources; |
| return {'pagination': ?pagination, 'resources': ?resources}; |
| } |
| } |
| |
| class LoyaltyPoints { |
| /// 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`. |
| LoyaltyPointsBalance? balance; |
| |
| /// The loyalty points label, such as "Points". |
| /// |
| /// Recommended maximum length is 9 characters. |
| core.String? label; |
| |
| /// Translated strings for the label. |
| /// |
| /// Recommended maximum length is 9 characters. |
| LocalizedString? localizedLabel; |
| |
| LoyaltyPoints({this.balance, this.label, this.localizedLabel}); |
| |
| LoyaltyPoints.fromJson(core.Map json_) |
| : this( |
| balance: json_.containsKey('balance') |
| ? LoyaltyPointsBalance.fromJson( |
| json_['balance'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| label: json_['label'] as core.String?, |
| localizedLabel: json_.containsKey('localizedLabel') |
| ? LocalizedString.fromJson( |
| json_['localizedLabel'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final balance = this.balance; |
| final label = this.label; |
| final localizedLabel = this.localizedLabel; |
| return { |
| 'balance': ?balance, |
| 'label': ?label, |
| 'localizedLabel': ?localizedLabel, |
| }; |
| } |
| } |
| |
| class LoyaltyPointsBalance { |
| /// The double form of a balance. |
| /// |
| /// Only one of these subtypes (string, int, double, money) should be |
| /// populated. |
| core.double? double; |
| |
| /// The integer form of a balance. |
| /// |
| /// Only one of these subtypes (string, int, double, money) should be |
| /// populated. |
| core.int? int; |
| |
| /// The money form of a balance. |
| /// |
| /// Only one of these subtypes (string, int, double, money) should be |
| /// populated. |
| Money? money; |
| |
| /// The string form of a balance. |
| /// |
| /// Only one of these subtypes (string, int, double, money) should be |
| /// populated. |
| core.String? string; |
| |
| LoyaltyPointsBalance({this.double, this.int, this.money, this.string}); |
| |
| LoyaltyPointsBalance.fromJson(core.Map json_) |
| : this( |
| double: (json_['double'] as core.num?)?.toDouble(), |
| int: json_['int'] as core.int?, |
| money: json_.containsKey('money') |
| ? Money.fromJson( |
| json_['money'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| string: json_['string'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final double = this.double; |
| final int = this.int; |
| final money = this.money; |
| final string = this.string; |
| return {'double': ?double, 'int': ?int, 'money': ?money, 'string': ?string}; |
| } |
| } |
| |
| /// A reference to data stored on the filesystem, on GFS or in blobstore. |
| class Media { |
| /// 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. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.String? algorithm; |
| |
| /// Use object_id instead. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.String? bigstoreObjectRef; |
| core.List<core.int> get bigstoreObjectRefAsBytes => |
| convert.base64.decode(bigstoreObjectRef!); |
| |
| set bigstoreObjectRefAsBytes(core.List<core.int> bytes_) { |
| bigstoreObjectRef = convert.base64 |
| .encode(bytes_) |
| .replaceAll('/', '_') |
| .replaceAll('+', '-'); |
| } |
| |
| /// 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. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.String? blobRef; |
| core.List<core.int> get blobRefAsBytes => convert.base64.decode(blobRef!); |
| |
| set blobRefAsBytes(core.List<core.int> bytes_) { |
| blobRef = convert.base64 |
| .encode(bytes_) |
| .replaceAll('/', '_') |
| .replaceAll('+', '-'); |
| } |
| |
| /// Blobstore v2 info, set if reference_type is BLOBSTORE_REF and it refers to |
| /// a v2 blob. |
| Blobstore2Info? blobstore2Info; |
| |
| /// 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. |
| core.List<CompositeMedia>? compositeMedia; |
| |
| /// MIME type of the data |
| core.String? contentType; |
| |
| /// Extended content type information provided for Scotty uploads. |
| ContentTypeInfo? contentTypeInfo; |
| |
| /// 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. |
| core.String? cosmoBinaryReference; |
| core.List<core.int> get cosmoBinaryReferenceAsBytes => |
| convert.base64.decode(cosmoBinaryReference!); |
| |
| set cosmoBinaryReferenceAsBytes(core.List<core.int> bytes_) { |
| cosmoBinaryReference = convert.base64 |
| .encode(bytes_) |
| .replaceAll('/', '_') |
| .replaceAll('+', '-'); |
| } |
| |
| /// 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. |
| core.int? crc32cHash; |
| |
| /// Set if reference_type is DIFF_CHECKSUMS_RESPONSE. |
| DiffChecksumsResponse? diffChecksumsResponse; |
| |
| /// Set if reference_type is DIFF_DOWNLOAD_RESPONSE. |
| DiffDownloadResponse? diffDownloadResponse; |
| |
| /// Set if reference_type is DIFF_UPLOAD_REQUEST. |
| DiffUploadRequest? diffUploadRequest; |
| |
| /// Set if reference_type is DIFF_UPLOAD_RESPONSE. |
| DiffUploadResponse? diffUploadResponse; |
| |
| /// Set if reference_type is DIFF_VERSION_RESPONSE. |
| DiffVersionResponse? diffVersionResponse; |
| |
| /// Parameters for a media download. |
| DownloadParameters? downloadParameters; |
| |
| /// Original file name |
| core.String? filename; |
| |
| /// 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. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.String? hash; |
| |
| /// 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. |
| core.bool? hashVerified; |
| |
| /// Media data, set if reference_type is INLINE |
| core.String? inline; |
| core.List<core.int> get inlineAsBytes => convert.base64.decode(inline!); |
| |
| set inlineAsBytes(core.List<core.int> bytes_) { |
| inline = convert.base64 |
| .encode(bytes_) |
| .replaceAll('/', '_') |
| .replaceAll('+', '-'); |
| } |
| |
| /// |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. |
| core.bool? isPotentialRetry; |
| |
| /// Size of the data, in bytes |
| core.String? length; |
| |
| /// Scotty-provided MD5 hash for an upload. |
| core.String? md5Hash; |
| core.List<core.int> get md5HashAsBytes => convert.base64.decode(md5Hash!); |
| |
| set md5HashAsBytes(core.List<core.int> bytes_) { |
| md5Hash = convert.base64 |
| .encode(bytes_) |
| .replaceAll('/', '_') |
| .replaceAll('+', '-'); |
| } |
| |
| /// Media id to forward to the operation GetMedia. |
| /// |
| /// Can be set if reference_type is GET_MEDIA. |
| core.String? mediaId; |
| core.List<core.int> get mediaIdAsBytes => convert.base64.decode(mediaId!); |
| |
| set mediaIdAsBytes(core.List<core.int> bytes_) { |
| mediaId = convert.base64 |
| .encode(bytes_) |
| .replaceAll('/', '_') |
| .replaceAll('+', '-'); |
| } |
| |
| /// Reference to a TI Blob, set if reference_type is BIGSTORE_REF. |
| ObjectId? objectId; |
| |
| /// Path to the data, set if reference_type is PATH |
| core.String? path; |
| |
| /// Describes what the field reference contains. |
| /// Possible string values are: |
| /// - "PATH" : Reference contains a GFS path or a local path. |
| /// - "BLOB_REF" : 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. |
| /// - "INLINE" : Data is included into this proto buffer |
| /// - "GET_MEDIA" : Data should be accessed from the current service using the |
| /// operation GetMedia. |
| /// - "COMPOSITE_MEDIA" : The content for this media object is stored across |
| /// multiple partial media objects under the composite_media field. |
| /// - "BIGSTORE_REF" : Reference points to a bigstore object |
| /// - "DIFF_VERSION_RESPONSE" : Indicates the data is stored in |
| /// diff_version_response. |
| /// - "DIFF_CHECKSUMS_RESPONSE" : Indicates the data is stored in |
| /// diff_checksums_response. |
| /// - "DIFF_DOWNLOAD_RESPONSE" : Indicates the data is stored in |
| /// diff_download_response. |
| /// - "DIFF_UPLOAD_REQUEST" : Indicates the data is stored in |
| /// diff_upload_request. |
| /// - "DIFF_UPLOAD_RESPONSE" : Indicates the data is stored in |
| /// diff_upload_response. |
| /// - "COSMO_BINARY_REFERENCE" : Indicates the data is stored in |
| /// cosmo_binary_reference. |
| /// - "ARBITRARY_BYTES" : 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. |
| core.String? referenceType; |
| |
| /// Scotty-provided SHA1 hash for an upload. |
| core.String? sha1Hash; |
| core.List<core.int> get sha1HashAsBytes => convert.base64.decode(sha1Hash!); |
| |
| set sha1HashAsBytes(core.List<core.int> bytes_) { |
| sha1Hash = convert.base64 |
| .encode(bytes_) |
| .replaceAll('/', '_') |
| .replaceAll('+', '-'); |
| } |
| |
| /// Scotty-provided SHA256 hash for an upload. |
| core.String? sha256Hash; |
| core.List<core.int> get sha256HashAsBytes => |
| convert.base64.decode(sha256Hash!); |
| |
| set sha256HashAsBytes(core.List<core.int> bytes_) { |
| sha256Hash = convert.base64 |
| .encode(bytes_) |
| .replaceAll('/', '_') |
| .replaceAll('+', '-'); |
| } |
| |
| /// Time at which the media data was last updated, in milliseconds since UNIX |
| /// epoch |
| core.String? timestamp; |
| |
| /// A unique fingerprint/version id for the media data |
| core.String? token; |
| |
| Media({ |
| this.algorithm, |
| this.bigstoreObjectRef, |
| this.blobRef, |
| this.blobstore2Info, |
| this.compositeMedia, |
| this.contentType, |
| this.contentTypeInfo, |
| this.cosmoBinaryReference, |
| this.crc32cHash, |
| this.diffChecksumsResponse, |
| this.diffDownloadResponse, |
| this.diffUploadRequest, |
| this.diffUploadResponse, |
| this.diffVersionResponse, |
| this.downloadParameters, |
| this.filename, |
| this.hash, |
| this.hashVerified, |
| this.inline, |
| this.isPotentialRetry, |
| this.length, |
| this.md5Hash, |
| this.mediaId, |
| this.objectId, |
| this.path, |
| this.referenceType, |
| this.sha1Hash, |
| this.sha256Hash, |
| this.timestamp, |
| this.token, |
| }); |
| |
| Media.fromJson(core.Map json_) |
| : this( |
| algorithm: json_['algorithm'] as core.String?, |
| bigstoreObjectRef: json_['bigstoreObjectRef'] as core.String?, |
| blobRef: json_['blobRef'] as core.String?, |
| blobstore2Info: json_.containsKey('blobstore2Info') |
| ? Blobstore2Info.fromJson( |
| json_['blobstore2Info'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| compositeMedia: (json_['compositeMedia'] as core.List?) |
| ?.map( |
| (value) => CompositeMedia.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| contentType: json_['contentType'] as core.String?, |
| contentTypeInfo: json_.containsKey('contentTypeInfo') |
| ? ContentTypeInfo.fromJson( |
| json_['contentTypeInfo'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| cosmoBinaryReference: json_['cosmoBinaryReference'] as core.String?, |
| crc32cHash: json_['crc32cHash'] as core.int?, |
| diffChecksumsResponse: json_.containsKey('diffChecksumsResponse') |
| ? DiffChecksumsResponse.fromJson( |
| json_['diffChecksumsResponse'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| diffDownloadResponse: json_.containsKey('diffDownloadResponse') |
| ? DiffDownloadResponse.fromJson( |
| json_['diffDownloadResponse'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| diffUploadRequest: json_.containsKey('diffUploadRequest') |
| ? DiffUploadRequest.fromJson( |
| json_['diffUploadRequest'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| diffUploadResponse: json_.containsKey('diffUploadResponse') |
| ? DiffUploadResponse.fromJson( |
| json_['diffUploadResponse'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| diffVersionResponse: json_.containsKey('diffVersionResponse') |
| ? DiffVersionResponse.fromJson( |
| json_['diffVersionResponse'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| downloadParameters: json_.containsKey('downloadParameters') |
| ? DownloadParameters.fromJson( |
| json_['downloadParameters'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| filename: json_['filename'] as core.String?, |
| hash: json_['hash'] as core.String?, |
| hashVerified: json_['hashVerified'] as core.bool?, |
| inline: json_['inline'] as core.String?, |
| isPotentialRetry: json_['isPotentialRetry'] as core.bool?, |
| length: json_['length'] as core.String?, |
| md5Hash: json_['md5Hash'] as core.String?, |
| mediaId: json_['mediaId'] as core.String?, |
| objectId: json_.containsKey('objectId') |
| ? ObjectId.fromJson( |
| json_['objectId'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| path: json_['path'] as core.String?, |
| referenceType: json_['referenceType'] as core.String?, |
| sha1Hash: json_['sha1Hash'] as core.String?, |
| sha256Hash: json_['sha256Hash'] as core.String?, |
| timestamp: json_['timestamp'] as core.String?, |
| token: json_['token'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final algorithm = this.algorithm; |
| final bigstoreObjectRef = this.bigstoreObjectRef; |
| final blobRef = this.blobRef; |
| final blobstore2Info = this.blobstore2Info; |
| final compositeMedia = this.compositeMedia; |
| final contentType = this.contentType; |
| final contentTypeInfo = this.contentTypeInfo; |
| final cosmoBinaryReference = this.cosmoBinaryReference; |
| final crc32cHash = this.crc32cHash; |
| final diffChecksumsResponse = this.diffChecksumsResponse; |
| final diffDownloadResponse = this.diffDownloadResponse; |
| final diffUploadRequest = this.diffUploadRequest; |
| final diffUploadResponse = this.diffUploadResponse; |
| final diffVersionResponse = this.diffVersionResponse; |
| final downloadParameters = this.downloadParameters; |
| final filename = this.filename; |
| final hash = this.hash; |
| final hashVerified = this.hashVerified; |
| final inline = this.inline; |
| final isPotentialRetry = this.isPotentialRetry; |
| final length = this.length; |
| final md5Hash = this.md5Hash; |
| final mediaId = this.mediaId; |
| final objectId = this.objectId; |
| final path = this.path; |
| final referenceType = this.referenceType; |
| final sha1Hash = this.sha1Hash; |
| final sha256Hash = this.sha256Hash; |
| final timestamp = this.timestamp; |
| final token = this.token; |
| return { |
| 'algorithm': ?algorithm, |
| 'bigstoreObjectRef': ?bigstoreObjectRef, |
| 'blobRef': ?blobRef, |
| 'blobstore2Info': ?blobstore2Info, |
| 'compositeMedia': ?compositeMedia, |
| 'contentType': ?contentType, |
| 'contentTypeInfo': ?contentTypeInfo, |
| 'cosmoBinaryReference': ?cosmoBinaryReference, |
| 'crc32cHash': ?crc32cHash, |
| 'diffChecksumsResponse': ?diffChecksumsResponse, |
| 'diffDownloadResponse': ?diffDownloadResponse, |
| 'diffUploadRequest': ?diffUploadRequest, |
| 'diffUploadResponse': ?diffUploadResponse, |
| 'diffVersionResponse': ?diffVersionResponse, |
| 'downloadParameters': ?downloadParameters, |
| 'filename': ?filename, |
| 'hash': ?hash, |
| 'hashVerified': ?hashVerified, |
| 'inline': ?inline, |
| 'isPotentialRetry': ?isPotentialRetry, |
| 'length': ?length, |
| 'md5Hash': ?md5Hash, |
| 'mediaId': ?mediaId, |
| 'objectId': ?objectId, |
| 'path': ?path, |
| 'referenceType': ?referenceType, |
| 'sha1Hash': ?sha1Hash, |
| 'sha256Hash': ?sha256Hash, |
| 'timestamp': ?timestamp, |
| 'token': ?token, |
| }; |
| } |
| } |
| |
| /// Extra information added to operations that support Scotty media requests. |
| class MediaRequestInfo { |
| /// The number of current bytes uploaded or downloaded. |
| core.String? currentBytes; |
| |
| /// 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. |
| core.String? customData; |
| |
| /// 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. |
| core.String? diffObjectVersion; |
| |
| /// 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 |
| core.int? finalStatus; |
| |
| /// The type of notification received from Scotty. |
| /// Possible string values are: |
| /// - "START" : 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. |
| /// - "PROGRESS" : 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. |
| /// - "END" : 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. |
| /// - "RESPONSE_SENT" : 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. |
| /// - "ERROR" : 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. |
| core.String? notificationType; |
| |
| /// The physical headers provided by RequestReceivedParameters in Scotty |
| /// request. |
| /// |
| /// type is uploader_service.KeyValuePairs. |
| core.String? physicalHeaders; |
| core.List<core.int> get physicalHeadersAsBytes => |
| convert.base64.decode(physicalHeaders!); |
| |
| set physicalHeadersAsBytes(core.List<core.int> bytes_) { |
| physicalHeaders = convert.base64 |
| .encode(bytes_) |
| .replaceAll('/', '_') |
| .replaceAll('+', '-'); |
| } |
| |
| /// The Scotty request ID. |
| core.String? requestId; |
| |
| /// The partition of the Scotty server handling this request. |
| /// |
| /// type is uploader_service.RequestReceivedParamsServingInfo |
| /// LINT.IfChange(request_received_params_serving_info_annotations) |
| /// LINT.ThenChange() |
| core.String? requestReceivedParamsServingInfo; |
| core.List<core.int> get requestReceivedParamsServingInfoAsBytes => |
| convert.base64.decode(requestReceivedParamsServingInfo!); |
| |
| set requestReceivedParamsServingInfoAsBytes(core.List<core.int> bytes_) { |
| requestReceivedParamsServingInfo = convert.base64 |
| .encode(bytes_) |
| .replaceAll('/', '_') |
| .replaceAll('+', '-'); |
| } |
| |
| /// The total size of the file. |
| core.String? totalBytes; |
| |
| /// Whether the total bytes field contains an estimated data. |
| core.bool? totalBytesIsEstimated; |
| |
| MediaRequestInfo({ |
| this.currentBytes, |
| this.customData, |
| this.diffObjectVersion, |
| this.finalStatus, |
| this.notificationType, |
| this.physicalHeaders, |
| this.requestId, |
| this.requestReceivedParamsServingInfo, |
| this.totalBytes, |
| this.totalBytesIsEstimated, |
| }); |
| |
| MediaRequestInfo.fromJson(core.Map json_) |
| : this( |
| currentBytes: json_['currentBytes'] as core.String?, |
| customData: json_['customData'] as core.String?, |
| diffObjectVersion: json_['diffObjectVersion'] as core.String?, |
| finalStatus: json_['finalStatus'] as core.int?, |
| notificationType: json_['notificationType'] as core.String?, |
| physicalHeaders: json_['physicalHeaders'] as core.String?, |
| requestId: json_['requestId'] as core.String?, |
| requestReceivedParamsServingInfo: |
| json_['requestReceivedParamsServingInfo'] as core.String?, |
| totalBytes: json_['totalBytes'] as core.String?, |
| totalBytesIsEstimated: json_['totalBytesIsEstimated'] as core.bool?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final currentBytes = this.currentBytes; |
| final customData = this.customData; |
| final diffObjectVersion = this.diffObjectVersion; |
| final finalStatus = this.finalStatus; |
| final notificationType = this.notificationType; |
| final physicalHeaders = this.physicalHeaders; |
| final requestId = this.requestId; |
| final requestReceivedParamsServingInfo = |
| this.requestReceivedParamsServingInfo; |
| final totalBytes = this.totalBytes; |
| final totalBytesIsEstimated = this.totalBytesIsEstimated; |
| return { |
| 'currentBytes': ?currentBytes, |
| 'customData': ?customData, |
| 'diffObjectVersion': ?diffObjectVersion, |
| 'finalStatus': ?finalStatus, |
| 'notificationType': ?notificationType, |
| 'physicalHeaders': ?physicalHeaders, |
| 'requestId': ?requestId, |
| 'requestReceivedParamsServingInfo': ?requestReceivedParamsServingInfo, |
| 'totalBytes': ?totalBytes, |
| 'totalBytesIsEstimated': ?totalBytesIsEstimated, |
| }; |
| } |
| } |
| |
| /// 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. |
| class MerchantLocation { |
| /// The latitude specified as any value in the range of -90.0 through +90.0, |
| /// both inclusive. |
| /// |
| /// Values outside these bounds will be rejected. |
| core.double? latitude; |
| |
| /// The longitude specified in the range -180.0 through +180.0, both |
| /// inclusive. |
| /// |
| /// Values outside these bounds will be rejected. |
| core.double? longitude; |
| |
| MerchantLocation({this.latitude, this.longitude}); |
| |
| MerchantLocation.fromJson(core.Map json_) |
| : this( |
| latitude: (json_['latitude'] as core.num?)?.toDouble(), |
| longitude: (json_['longitude'] as core.num?)?.toDouble(), |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final latitude = this.latitude; |
| final longitude = this.longitude; |
| return {'latitude': ?latitude, 'longitude': ?longitude}; |
| } |
| } |
| |
| /// A message that will be displayed with a Valuable |
| class Message { |
| /// The message body. |
| core.String? body; |
| |
| /// 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. |
| TimeInterval? displayInterval; |
| |
| /// The message header. |
| core.String? header; |
| |
| /// 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. |
| core.String? id; |
| |
| /// Identifies what kind of resource this is. |
| /// |
| /// Value: the fixed string `"walletobjects#walletObjectMessage"`. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.String? kind; |
| |
| /// Translated strings for the message body. |
| LocalizedString? localizedBody; |
| |
| /// Translated strings for the message header. |
| LocalizedString? localizedHeader; |
| |
| /// The message type. |
| /// Possible string values are: |
| /// - "MESSAGE_TYPE_UNSPECIFIED" |
| /// - "TEXT" : Renders the message as text on the card details screen. This is |
| /// the default message type. |
| /// - "text" : Legacy alias for `TEXT`. Deprecated. |
| /// - "EXPIRATION_NOTIFICATION" : Note: This enum is currently not supported. |
| /// - "expirationNotification" : Legacy alias for `EXPIRATION_NOTIFICATION`. |
| /// Deprecated. |
| /// - "TEXT_AND_NOTIFY" : Renders the message as text on the card details |
| /// screen and as an Android notification. |
| core.String? messageType; |
| |
| Message({ |
| this.body, |
| this.displayInterval, |
| this.header, |
| this.id, |
| this.kind, |
| this.localizedBody, |
| this.localizedHeader, |
| this.messageType, |
| }); |
| |
| Message.fromJson(core.Map json_) |
| : this( |
| body: json_['body'] as core.String?, |
| displayInterval: json_.containsKey('displayInterval') |
| ? TimeInterval.fromJson( |
| json_['displayInterval'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| header: json_['header'] as core.String?, |
| id: json_['id'] as core.String?, |
| kind: json_['kind'] as core.String?, |
| localizedBody: json_.containsKey('localizedBody') |
| ? LocalizedString.fromJson( |
| json_['localizedBody'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| localizedHeader: json_.containsKey('localizedHeader') |
| ? LocalizedString.fromJson( |
| json_['localizedHeader'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| messageType: json_['messageType'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final body = this.body; |
| final displayInterval = this.displayInterval; |
| final header = this.header; |
| final id = this.id; |
| final kind = this.kind; |
| final localizedBody = this.localizedBody; |
| final localizedHeader = this.localizedHeader; |
| final messageType = this.messageType; |
| return { |
| 'body': ?body, |
| 'displayInterval': ?displayInterval, |
| 'header': ?header, |
| 'id': ?id, |
| 'kind': ?kind, |
| 'localizedBody': ?localizedBody, |
| 'localizedHeader': ?localizedHeader, |
| 'messageType': ?messageType, |
| }; |
| } |
| } |
| |
| class ModifyLinkedOfferObjects { |
| /// The linked offer object ids to add to the object. |
| core.List<core.String>? addLinkedOfferObjectIds; |
| |
| /// The linked offer object ids to remove from the object. |
| core.List<core.String>? removeLinkedOfferObjectIds; |
| |
| ModifyLinkedOfferObjects({ |
| this.addLinkedOfferObjectIds, |
| this.removeLinkedOfferObjectIds, |
| }); |
| |
| ModifyLinkedOfferObjects.fromJson(core.Map json_) |
| : this( |
| addLinkedOfferObjectIds: |
| (json_['addLinkedOfferObjectIds'] as core.List?) |
| ?.map((value) => value as core.String) |
| .toList(), |
| removeLinkedOfferObjectIds: |
| (json_['removeLinkedOfferObjectIds'] as core.List?) |
| ?.map((value) => value as core.String) |
| .toList(), |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final addLinkedOfferObjectIds = this.addLinkedOfferObjectIds; |
| final removeLinkedOfferObjectIds = this.removeLinkedOfferObjectIds; |
| return { |
| 'addLinkedOfferObjectIds': ?addLinkedOfferObjectIds, |
| 'removeLinkedOfferObjectIds': ?removeLinkedOfferObjectIds, |
| }; |
| } |
| } |
| |
| class ModifyLinkedOfferObjectsRequest { |
| /// The linked offer object ids to add or remove from the object. |
| ModifyLinkedOfferObjects? linkedOfferObjectIds; |
| |
| ModifyLinkedOfferObjectsRequest({this.linkedOfferObjectIds}); |
| |
| ModifyLinkedOfferObjectsRequest.fromJson(core.Map json_) |
| : this( |
| linkedOfferObjectIds: json_.containsKey('linkedOfferObjectIds') |
| ? ModifyLinkedOfferObjects.fromJson( |
| json_['linkedOfferObjectIds'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final linkedOfferObjectIds = this.linkedOfferObjectIds; |
| return {'linkedOfferObjectIds': ?linkedOfferObjectIds}; |
| } |
| } |
| |
| /// Constraints that all must be met for the module to be shown. |
| class ModuleViewConstraints { |
| /// 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. |
| TimeInterval? displayInterval; |
| |
| ModuleViewConstraints({this.displayInterval}); |
| |
| ModuleViewConstraints.fromJson(core.Map json_) |
| : this( |
| displayInterval: json_.containsKey('displayInterval') |
| ? TimeInterval.fromJson( |
| json_['displayInterval'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final displayInterval = this.displayInterval; |
| return {'displayInterval': ?displayInterval}; |
| } |
| } |
| |
| class Money { |
| /// The currency code, such as "USD" or "EUR." |
| core.String? currencyCode; |
| |
| /// Identifies what kind of resource this is. |
| /// |
| /// Value: the fixed string `"walletobjects#money"`. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.String? kind; |
| |
| /// The unit of money amount in micros. |
| /// |
| /// For example, $1 USD would be represented as 1000000 micros. |
| core.String? micros; |
| |
| Money({this.currencyCode, this.kind, this.micros}); |
| |
| Money.fromJson(core.Map json_) |
| : this( |
| currencyCode: json_['currencyCode'] as core.String?, |
| kind: json_['kind'] as core.String?, |
| micros: json_['micros'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final currencyCode = this.currencyCode; |
| final kind = this.kind; |
| final micros = this.micros; |
| return {'currencyCode': ?currencyCode, 'kind': ?kind, 'micros': ?micros}; |
| } |
| } |
| |
| /// 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. |
| class Notifications { |
| /// A notification would be triggered at a specific time before the card |
| /// expires. |
| ExpiryNotification? expiryNotification; |
| |
| /// A notification would be triggered at a specific time before the card |
| /// becomes usable. |
| UpcomingNotification? upcomingNotification; |
| |
| Notifications({this.expiryNotification, this.upcomingNotification}); |
| |
| Notifications.fromJson(core.Map json_) |
| : this( |
| expiryNotification: json_.containsKey('expiryNotification') |
| ? ExpiryNotification.fromJson( |
| json_['expiryNotification'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| upcomingNotification: json_.containsKey('upcomingNotification') |
| ? UpcomingNotification.fromJson( |
| json_['upcomingNotification'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final expiryNotification = this.expiryNotification; |
| final upcomingNotification = this.upcomingNotification; |
| return { |
| 'expiryNotification': ?expiryNotification, |
| 'upcomingNotification': ?upcomingNotification, |
| }; |
| } |
| } |
| |
| /// 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. |
| typedef ObjectId = $ObjectId; |
| |
| class OfferClass { |
| /// Use `multipleDevicesAndHoldersAllowedStatus` instead. |
| /// |
| /// Deprecated. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.bool? allowMultipleUsersPerObject; |
| |
| /// 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. |
| AppLinkData? appLinkData; |
| |
| /// 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. |
| CallbackOptions? callbackOptions; |
| |
| /// Template information about how the class should be displayed. |
| /// |
| /// If unset, Google will fallback to a default set of fields to display. |
| ClassTemplateInfo? classTemplateInfo; |
| |
| /// 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. |
| core.String? countryCode; |
| |
| /// The details of the offer. |
| core.String? details; |
| |
| /// 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. |
| core.bool? enableSmartTap; |
| |
| /// The fine print or terms of the offer, such as "20% off any t-shirt at |
| /// Adam's Apparel." |
| core.String? finePrint; |
| |
| /// The help link for the offer, such as `http://myownpersonaldomain.com/help` |
| Uri? helpUri; |
| |
| /// 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. |
| Image? heroImage; |
| |
| /// 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`. |
| core.String? hexBackgroundColor; |
| |
| /// 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). |
| Uri? homepageUri; |
| |
| /// 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 '-'. |
| /// |
| /// Required. |
| core.String? id; |
| |
| /// Image module data. |
| /// |
| /// The maximum number of these fields displayed is 1 from object level and 1 |
| /// for class object level. |
| core.List<ImageModuleData>? imageModulesData; |
| |
| /// Use textModulesData instead. |
| /// |
| /// Deprecated. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| InfoModuleData? infoModuleData; |
| |
| /// The issuer name. |
| /// |
| /// Recommended maximum length is 20 characters to ensure full string is |
| /// displayed on smaller screens. |
| /// |
| /// Required. |
| core.String? issuerName; |
| |
| /// Identifies what kind of resource this is. |
| /// |
| /// Value: the fixed string `"walletobjects#offerClass"`. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.String? kind; |
| |
| /// Links module data. |
| /// |
| /// If links module data is also defined on the object, both will be |
| /// displayed. |
| LinksModuleData? linksModuleData; |
| |
| /// Translated strings for the details. |
| LocalizedString? localizedDetails; |
| |
| /// Translated strings for the fine_print. |
| LocalizedString? localizedFinePrint; |
| |
| /// Translated strings for the issuer_name. |
| /// |
| /// Recommended maximum length is 20 characters to ensure full string is |
| /// displayed on smaller screens. |
| LocalizedString? localizedIssuerName; |
| |
| /// Translated strings for the provider. |
| /// |
| /// Recommended maximum length is 12 characters to ensure full string is |
| /// displayed on smaller screens. |
| LocalizedString? localizedProvider; |
| |
| /// Translated strings for the short title. |
| /// |
| /// Recommended maximum length is 20 characters. |
| LocalizedString? localizedShortTitle; |
| |
| /// Translated strings for the title. |
| /// |
| /// Recommended maximum length is 60 characters to ensure full string is |
| /// displayed on smaller screens. |
| LocalizedString? localizedTitle; |
| |
| /// Note: This field is currently not supported to trigger geo notifications. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.List<LatLongPoint>? locations; |
| |
| /// 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. |
| core.List<MerchantLocation>? merchantLocations; |
| |
| /// 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. |
| core.List<Message>? messages; |
| |
| /// Identifies whether multiple users and devices will save the same object |
| /// referencing this class. |
| /// Possible string values are: |
| /// - "STATUS_UNSPECIFIED" : Unspecified preference. |
| /// - "MULTIPLE_HOLDERS" : 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. |
| /// - "ONE_USER_ALL_DEVICES" : 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. |
| /// - "ONE_USER_ONE_DEVICE" : 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. |
| /// - "multipleHolders" : Legacy alias for `MULTIPLE_HOLDERS`. Deprecated. |
| /// - "oneUserAllDevices" : Legacy alias for `ONE_USER_ALL_DEVICES`. |
| /// Deprecated. |
| /// - "oneUserOneDevice" : Legacy alias for `ONE_USER_ONE_DEVICE`. Deprecated. |
| core.String? multipleDevicesAndHoldersAllowedStatus; |
| |
| /// 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. |
| /// Possible string values are: |
| /// - "NOTIFICATION_SETTINGS_FOR_UPDATES_UNSPECIFIED" : Default behavior is no |
| /// notifications sent. |
| /// - "NOTIFY_ON_UPDATE" : This value will result in a notification being |
| /// sent, if the updated fields are part of an allowlist. |
| core.String? notifyPreference; |
| |
| /// 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. |
| /// |
| /// Required. |
| core.String? provider; |
| |
| /// The redemption channels applicable to this offer. |
| /// |
| /// Required. |
| /// Possible string values are: |
| /// - "REDEMPTION_CHANNEL_UNSPECIFIED" |
| /// - "INSTORE" |
| /// - "instore" : Legacy alias for `INSTORE`. Deprecated. |
| /// - "ONLINE" |
| /// - "online" : Legacy alias for `ONLINE`. Deprecated. |
| /// - "BOTH" |
| /// - "both" : Legacy alias for `BOTH`. Deprecated. |
| /// - "TEMPORARY_PRICE_REDUCTION" |
| /// - "temporaryPriceReduction" : Legacy alias for |
| /// `TEMPORARY_PRICE_REDUCTION`. Deprecated. |
| core.String? redemptionChannel; |
| |
| /// 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. |
| core.List<core.String>? redemptionIssuers; |
| |
| /// The review comments set by the platform when a class is marked `approved` |
| /// or `rejected`. |
| Review? review; |
| |
| /// 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`. |
| /// |
| /// Required. |
| /// Possible string values are: |
| /// - "REVIEW_STATUS_UNSPECIFIED" |
| /// - "UNDER_REVIEW" |
| /// - "underReview" : Legacy alias for `UNDER_REVIEW`. Deprecated. |
| /// - "APPROVED" |
| /// - "approved" : Legacy alias for `APPROVED`. Deprecated. |
| /// - "REJECTED" |
| /// - "rejected" : Legacy alias for `REJECTED`. Deprecated. |
| /// - "DRAFT" |
| /// - "draft" : Legacy alias for `DRAFT`. Deprecated. |
| core.String? reviewStatus; |
| |
| /// Optional information about the security animation. |
| /// |
| /// If this is set a security animation will be rendered on pass details. |
| SecurityAnimation? securityAnimation; |
| |
| /// 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. |
| core.String? shortTitle; |
| |
| /// 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. |
| core.List<TextModuleData>? textModulesData; |
| |
| /// 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. |
| /// |
| /// Required. |
| core.String? title; |
| |
| /// The title image of the offer. |
| /// |
| /// This image is displayed in both the details and list views of the app. |
| Image? titleImage; |
| |
| /// Optional value added module data. |
| /// |
| /// Maximum of fifteen on the class. For a pass only fifteen will be |
| /// displayed, prioritizing those from the object. |
| core.List<ValueAddedModuleData>? valueAddedModuleData; |
| |
| /// Deprecated |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.String? version; |
| |
| /// View Unlock Requirement options for the offer. |
| /// Possible string values are: |
| /// - "VIEW_UNLOCK_REQUIREMENT_UNSPECIFIED" : Default value, same as |
| /// UNLOCK_NOT_REQUIRED. |
| /// - "UNLOCK_NOT_REQUIRED" : Default behavior for all the existing Passes if |
| /// ViewUnlockRequirement is not set. |
| /// - "UNLOCK_REQUIRED_TO_VIEW" : 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. |
| core.String? viewUnlockRequirement; |
| |
| /// 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. |
| Image? wideTitleImage; |
| |
| /// Deprecated. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| Image? wordMark; |
| |
| OfferClass({ |
| this.allowMultipleUsersPerObject, |
| this.appLinkData, |
| this.callbackOptions, |
| this.classTemplateInfo, |
| this.countryCode, |
| this.details, |
| this.enableSmartTap, |
| this.finePrint, |
| this.helpUri, |
| this.heroImage, |
| this.hexBackgroundColor, |
| this.homepageUri, |
| this.id, |
| this.imageModulesData, |
| this.infoModuleData, |
| this.issuerName, |
| this.kind, |
| this.linksModuleData, |
| this.localizedDetails, |
| this.localizedFinePrint, |
| this.localizedIssuerName, |
| this.localizedProvider, |
| this.localizedShortTitle, |
| this.localizedTitle, |
| this.locations, |
| this.merchantLocations, |
| this.messages, |
| this.multipleDevicesAndHoldersAllowedStatus, |
| this.notifyPreference, |
| this.provider, |
| this.redemptionChannel, |
| this.redemptionIssuers, |
| this.review, |
| this.reviewStatus, |
| this.securityAnimation, |
| this.shortTitle, |
| this.textModulesData, |
| this.title, |
| this.titleImage, |
| this.valueAddedModuleData, |
| this.version, |
| this.viewUnlockRequirement, |
| this.wideTitleImage, |
| this.wordMark, |
| }); |
| |
| OfferClass.fromJson(core.Map json_) |
| : this( |
| allowMultipleUsersPerObject: |
| json_['allowMultipleUsersPerObject'] as core.bool?, |
| appLinkData: json_.containsKey('appLinkData') |
| ? AppLinkData.fromJson( |
| json_['appLinkData'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| callbackOptions: json_.containsKey('callbackOptions') |
| ? CallbackOptions.fromJson( |
| json_['callbackOptions'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| classTemplateInfo: json_.containsKey('classTemplateInfo') |
| ? ClassTemplateInfo.fromJson( |
| json_['classTemplateInfo'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| countryCode: json_['countryCode'] as core.String?, |
| details: json_['details'] as core.String?, |
| enableSmartTap: json_['enableSmartTap'] as core.bool?, |
| finePrint: json_['finePrint'] as core.String?, |
| helpUri: json_.containsKey('helpUri') |
| ? Uri.fromJson( |
| json_['helpUri'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| heroImage: json_.containsKey('heroImage') |
| ? Image.fromJson( |
| json_['heroImage'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| hexBackgroundColor: json_['hexBackgroundColor'] as core.String?, |
| homepageUri: json_.containsKey('homepageUri') |
| ? Uri.fromJson( |
| json_['homepageUri'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| id: json_['id'] as core.String?, |
| imageModulesData: (json_['imageModulesData'] as core.List?) |
| ?.map( |
| (value) => ImageModuleData.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| infoModuleData: json_.containsKey('infoModuleData') |
| ? InfoModuleData.fromJson( |
| json_['infoModuleData'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| issuerName: json_['issuerName'] as core.String?, |
| kind: json_['kind'] as core.String?, |
| linksModuleData: json_.containsKey('linksModuleData') |
| ? LinksModuleData.fromJson( |
| json_['linksModuleData'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| localizedDetails: json_.containsKey('localizedDetails') |
| ? LocalizedString.fromJson( |
| json_['localizedDetails'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| localizedFinePrint: json_.containsKey('localizedFinePrint') |
| ? LocalizedString.fromJson( |
| json_['localizedFinePrint'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| localizedIssuerName: json_.containsKey('localizedIssuerName') |
| ? LocalizedString.fromJson( |
| json_['localizedIssuerName'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| localizedProvider: json_.containsKey('localizedProvider') |
| ? LocalizedString.fromJson( |
| json_['localizedProvider'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| localizedShortTitle: json_.containsKey('localizedShortTitle') |
| ? LocalizedString.fromJson( |
| json_['localizedShortTitle'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| localizedTitle: json_.containsKey('localizedTitle') |
| ? LocalizedString.fromJson( |
| json_['localizedTitle'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| locations: (json_['locations'] as core.List?) |
| ?.map( |
| (value) => LatLongPoint.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| merchantLocations: (json_['merchantLocations'] as core.List?) |
| ?.map( |
| (value) => MerchantLocation.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| messages: (json_['messages'] as core.List?) |
| ?.map( |
| (value) => Message.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| multipleDevicesAndHoldersAllowedStatus: |
| json_['multipleDevicesAndHoldersAllowedStatus'] as core.String?, |
| notifyPreference: json_['notifyPreference'] as core.String?, |
| provider: json_['provider'] as core.String?, |
| redemptionChannel: json_['redemptionChannel'] as core.String?, |
| redemptionIssuers: (json_['redemptionIssuers'] as core.List?) |
| ?.map((value) => value as core.String) |
| .toList(), |
| review: json_.containsKey('review') |
| ? Review.fromJson( |
| json_['review'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| reviewStatus: json_['reviewStatus'] as core.String?, |
| securityAnimation: json_.containsKey('securityAnimation') |
| ? SecurityAnimation.fromJson( |
| json_['securityAnimation'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| shortTitle: json_['shortTitle'] as core.String?, |
| textModulesData: (json_['textModulesData'] as core.List?) |
| ?.map( |
| (value) => TextModuleData.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| title: json_['title'] as core.String?, |
| titleImage: json_.containsKey('titleImage') |
| ? Image.fromJson( |
| json_['titleImage'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| valueAddedModuleData: (json_['valueAddedModuleData'] as core.List?) |
| ?.map( |
| (value) => ValueAddedModuleData.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| version: json_['version'] as core.String?, |
| viewUnlockRequirement: json_['viewUnlockRequirement'] as core.String?, |
| wideTitleImage: json_.containsKey('wideTitleImage') |
| ? Image.fromJson( |
| json_['wideTitleImage'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| wordMark: json_.containsKey('wordMark') |
| ? Image.fromJson( |
| json_['wordMark'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final allowMultipleUsersPerObject = this.allowMultipleUsersPerObject; |
| final appLinkData = this.appLinkData; |
| final callbackOptions = this.callbackOptions; |
| final classTemplateInfo = this.classTemplateInfo; |
| final countryCode = this.countryCode; |
| final details = this.details; |
| final enableSmartTap = this.enableSmartTap; |
| final finePrint = this.finePrint; |
| final helpUri = this.helpUri; |
| final heroImage = this.heroImage; |
| final hexBackgroundColor = this.hexBackgroundColor; |
| final homepageUri = this.homepageUri; |
| final id = this.id; |
| final imageModulesData = this.imageModulesData; |
| final infoModuleData = this.infoModuleData; |
| final issuerName = this.issuerName; |
| final kind = this.kind; |
| final linksModuleData = this.linksModuleData; |
| final localizedDetails = this.localizedDetails; |
| final localizedFinePrint = this.localizedFinePrint; |
| final localizedIssuerName = this.localizedIssuerName; |
| final localizedProvider = this.localizedProvider; |
| final localizedShortTitle = this.localizedShortTitle; |
| final localizedTitle = this.localizedTitle; |
| final locations = this.locations; |
| final merchantLocations = this.merchantLocations; |
| final messages = this.messages; |
| final multipleDevicesAndHoldersAllowedStatus = |
| this.multipleDevicesAndHoldersAllowedStatus; |
| final notifyPreference = this.notifyPreference; |
| final provider = this.provider; |
| final redemptionChannel = this.redemptionChannel; |
| final redemptionIssuers = this.redemptionIssuers; |
| final review = this.review; |
| final reviewStatus = this.reviewStatus; |
| final securityAnimation = this.securityAnimation; |
| final shortTitle = this.shortTitle; |
| final textModulesData = this.textModulesData; |
| final title = this.title; |
| final titleImage = this.titleImage; |
| final valueAddedModuleData = this.valueAddedModuleData; |
| final version = this.version; |
| final viewUnlockRequirement = this.viewUnlockRequirement; |
| final wideTitleImage = this.wideTitleImage; |
| final wordMark = this.wordMark; |
| return { |
| 'allowMultipleUsersPerObject': ?allowMultipleUsersPerObject, |
| 'appLinkData': ?appLinkData, |
| 'callbackOptions': ?callbackOptions, |
| 'classTemplateInfo': ?classTemplateInfo, |
| 'countryCode': ?countryCode, |
| 'details': ?details, |
| 'enableSmartTap': ?enableSmartTap, |
| 'finePrint': ?finePrint, |
| 'helpUri': ?helpUri, |
| 'heroImage': ?heroImage, |
| 'hexBackgroundColor': ?hexBackgroundColor, |
| 'homepageUri': ?homepageUri, |
| 'id': ?id, |
| 'imageModulesData': ?imageModulesData, |
| 'infoModuleData': ?infoModuleData, |
| 'issuerName': ?issuerName, |
| 'kind': ?kind, |
| 'linksModuleData': ?linksModuleData, |
| 'localizedDetails': ?localizedDetails, |
| 'localizedFinePrint': ?localizedFinePrint, |
| 'localizedIssuerName': ?localizedIssuerName, |
| 'localizedProvider': ?localizedProvider, |
| 'localizedShortTitle': ?localizedShortTitle, |
| 'localizedTitle': ?localizedTitle, |
| 'locations': ?locations, |
| 'merchantLocations': ?merchantLocations, |
| 'messages': ?messages, |
| 'multipleDevicesAndHoldersAllowedStatus': |
| ?multipleDevicesAndHoldersAllowedStatus, |
| 'notifyPreference': ?notifyPreference, |
| 'provider': ?provider, |
| 'redemptionChannel': ?redemptionChannel, |
| 'redemptionIssuers': ?redemptionIssuers, |
| 'review': ?review, |
| 'reviewStatus': ?reviewStatus, |
| 'securityAnimation': ?securityAnimation, |
| 'shortTitle': ?shortTitle, |
| 'textModulesData': ?textModulesData, |
| 'title': ?title, |
| 'titleImage': ?titleImage, |
| 'valueAddedModuleData': ?valueAddedModuleData, |
| 'version': ?version, |
| 'viewUnlockRequirement': ?viewUnlockRequirement, |
| 'wideTitleImage': ?wideTitleImage, |
| 'wordMark': ?wordMark, |
| }; |
| } |
| } |
| |
| class OfferClassAddMessageResponse { |
| /// The updated OfferClass resource. |
| OfferClass? resource; |
| |
| OfferClassAddMessageResponse({this.resource}); |
| |
| OfferClassAddMessageResponse.fromJson(core.Map json_) |
| : this( |
| resource: json_.containsKey('resource') |
| ? OfferClass.fromJson( |
| json_['resource'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final resource = this.resource; |
| return {'resource': ?resource}; |
| } |
| } |
| |
| class OfferClassListResponse { |
| /// Pagination of the response. |
| Pagination? pagination; |
| |
| /// Resources corresponding to the list request. |
| core.List<OfferClass>? resources; |
| |
| OfferClassListResponse({this.pagination, this.resources}); |
| |
| OfferClassListResponse.fromJson(core.Map json_) |
| : this( |
| pagination: json_.containsKey('pagination') |
| ? Pagination.fromJson( |
| json_['pagination'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| resources: (json_['resources'] as core.List?) |
| ?.map( |
| (value) => OfferClass.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final pagination = this.pagination; |
| final resources = this.resources; |
| return {'pagination': ?pagination, 'resources': ?resources}; |
| } |
| } |
| |
| class OfferObject { |
| /// 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. |
| AppLinkData? appLinkData; |
| |
| /// The barcode type and value. |
| Barcode? barcode; |
| |
| /// 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. |
| /// |
| /// Required. |
| core.String? classId; |
| |
| /// A copy of the inherited fields of the parent class. |
| /// |
| /// These fields are retrieved during a GET. |
| OfferClass? classReference; |
| |
| /// 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. |
| core.bool? disableExpirationNotification; |
| |
| /// Information that controls how passes are grouped together. |
| GroupingInfo? groupingInfo; |
| |
| /// 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. |
| core.bool? hasLinkedDevice; |
| |
| /// Indicates if the object has users. |
| /// |
| /// This field is set by the platform. |
| core.bool? hasUsers; |
| |
| /// 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. |
| Image? heroImage; |
| |
| /// 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 '-'. |
| /// |
| /// Required. |
| core.String? id; |
| |
| /// Image module data. |
| /// |
| /// The maximum number of these fields displayed is 1 from object level and 1 |
| /// for class object level. |
| core.List<ImageModuleData>? imageModulesData; |
| |
| /// Use textModulesData instead. |
| /// |
| /// Deprecated. |
| InfoModuleData? infoModuleData; |
| |
| /// Identifies what kind of resource this is. |
| /// |
| /// Value: the fixed string `"walletobjects#offerObject"`. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.String? kind; |
| |
| /// 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. |
| core.List<core.String>? linkedObjectIds; |
| |
| /// Links module data. |
| /// |
| /// If links module data is also defined on the class, both will be displayed. |
| LinksModuleData? linksModuleData; |
| |
| /// Note: This field is currently not supported to trigger geo notifications. |
| core.List<LatLongPoint>? locations; |
| |
| /// 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. |
| core.List<MerchantLocation>? merchantLocations; |
| |
| /// 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. |
| core.List<Message>? messages; |
| |
| /// 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. |
| /// Possible string values are: |
| /// - "NOTIFICATION_SETTINGS_FOR_UPDATES_UNSPECIFIED" : Default behavior is no |
| /// notifications sent. |
| /// - "NOTIFY_ON_UPDATE" : This value will result in a notification being |
| /// sent, if the updated fields are part of an allowlist. |
| core.String? notifyPreference; |
| |
| /// Pass constraints for the object. |
| /// |
| /// Includes limiting NFC and screenshot behaviors. |
| PassConstraints? passConstraints; |
| |
| /// The rotating barcode type and value. |
| RotatingBarcode? rotatingBarcode; |
| |
| /// 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. |
| SaveRestrictions? saveRestrictions; |
| |
| /// 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. |
| core.String? smartTapRedemptionValue; |
| |
| /// 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. |
| /// |
| /// Required. |
| /// Possible string values are: |
| /// - "STATE_UNSPECIFIED" : Default value. |
| /// - "ACTIVE" : Object is active and displayed to with other active objects. |
| /// - "active" : Legacy alias for `ACTIVE`. Deprecated. |
| /// - "COMPLETED" : Object has completed it's lifecycle. |
| /// - "completed" : Legacy alias for `COMPLETED`. Deprecated. |
| /// - "EXPIRED" : Object is no longer valid (`validTimeInterval` passed). |
| /// - "expired" : Legacy alias for `EXPIRED`. Deprecated. |
| /// - "INACTIVE" : Object is no longer valid |
| /// - "inactive" : Legacy alias for `INACTIVE`. Deprecated. |
| core.String? state; |
| |
| /// 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. |
| core.List<TextModuleData>? textModulesData; |
| |
| /// 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. |
| TimeInterval? validTimeInterval; |
| |
| /// Optional value added module data. |
| /// |
| /// Maximum of fifteen on the object. For a pass only fifteen will be |
| /// displayed. |
| core.List<ValueAddedModuleData>? valueAddedModuleData; |
| |
| /// Deprecated |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.String? version; |
| |
| OfferObject({ |
| this.appLinkData, |
| this.barcode, |
| this.classId, |
| this.classReference, |
| this.disableExpirationNotification, |
| this.groupingInfo, |
| this.hasLinkedDevice, |
| this.hasUsers, |
| this.heroImage, |
| this.id, |
| this.imageModulesData, |
| this.infoModuleData, |
| this.kind, |
| this.linkedObjectIds, |
| this.linksModuleData, |
| this.locations, |
| this.merchantLocations, |
| this.messages, |
| this.notifyPreference, |
| this.passConstraints, |
| this.rotatingBarcode, |
| this.saveRestrictions, |
| this.smartTapRedemptionValue, |
| this.state, |
| this.textModulesData, |
| this.validTimeInterval, |
| this.valueAddedModuleData, |
| this.version, |
| }); |
| |
| OfferObject.fromJson(core.Map json_) |
| : this( |
| appLinkData: json_.containsKey('appLinkData') |
| ? AppLinkData.fromJson( |
| json_['appLinkData'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| barcode: json_.containsKey('barcode') |
| ? Barcode.fromJson( |
| json_['barcode'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| classId: json_['classId'] as core.String?, |
| classReference: json_.containsKey('classReference') |
| ? OfferClass.fromJson( |
| json_['classReference'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| disableExpirationNotification: |
| json_['disableExpirationNotification'] as core.bool?, |
| groupingInfo: json_.containsKey('groupingInfo') |
| ? GroupingInfo.fromJson( |
| json_['groupingInfo'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| hasLinkedDevice: json_['hasLinkedDevice'] as core.bool?, |
| hasUsers: json_['hasUsers'] as core.bool?, |
| heroImage: json_.containsKey('heroImage') |
| ? Image.fromJson( |
| json_['heroImage'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| id: json_['id'] as core.String?, |
| imageModulesData: (json_['imageModulesData'] as core.List?) |
| ?.map( |
| (value) => ImageModuleData.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| infoModuleData: json_.containsKey('infoModuleData') |
| ? InfoModuleData.fromJson( |
| json_['infoModuleData'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| kind: json_['kind'] as core.String?, |
| linkedObjectIds: (json_['linkedObjectIds'] as core.List?) |
| ?.map((value) => value as core.String) |
| .toList(), |
| linksModuleData: json_.containsKey('linksModuleData') |
| ? LinksModuleData.fromJson( |
| json_['linksModuleData'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| locations: (json_['locations'] as core.List?) |
| ?.map( |
| (value) => LatLongPoint.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| merchantLocations: (json_['merchantLocations'] as core.List?) |
| ?.map( |
| (value) => MerchantLocation.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| messages: (json_['messages'] as core.List?) |
| ?.map( |
| (value) => Message.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| notifyPreference: json_['notifyPreference'] as core.String?, |
| passConstraints: json_.containsKey('passConstraints') |
| ? PassConstraints.fromJson( |
| json_['passConstraints'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| rotatingBarcode: json_.containsKey('rotatingBarcode') |
| ? RotatingBarcode.fromJson( |
| json_['rotatingBarcode'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| saveRestrictions: json_.containsKey('saveRestrictions') |
| ? SaveRestrictions.fromJson( |
| json_['saveRestrictions'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| smartTapRedemptionValue: |
| json_['smartTapRedemptionValue'] as core.String?, |
| state: json_['state'] as core.String?, |
| textModulesData: (json_['textModulesData'] as core.List?) |
| ?.map( |
| (value) => TextModuleData.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| validTimeInterval: json_.containsKey('validTimeInterval') |
| ? TimeInterval.fromJson( |
| json_['validTimeInterval'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| valueAddedModuleData: (json_['valueAddedModuleData'] as core.List?) |
| ?.map( |
| (value) => ValueAddedModuleData.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| version: json_['version'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final appLinkData = this.appLinkData; |
| final barcode = this.barcode; |
| final classId = this.classId; |
| final classReference = this.classReference; |
| final disableExpirationNotification = this.disableExpirationNotification; |
| final groupingInfo = this.groupingInfo; |
| final hasLinkedDevice = this.hasLinkedDevice; |
| final hasUsers = this.hasUsers; |
| final heroImage = this.heroImage; |
| final id = this.id; |
| final imageModulesData = this.imageModulesData; |
| final infoModuleData = this.infoModuleData; |
| final kind = this.kind; |
| final linkedObjectIds = this.linkedObjectIds; |
| final linksModuleData = this.linksModuleData; |
| final locations = this.locations; |
| final merchantLocations = this.merchantLocations; |
| final messages = this.messages; |
| final notifyPreference = this.notifyPreference; |
| final passConstraints = this.passConstraints; |
| final rotatingBarcode = this.rotatingBarcode; |
| final saveRestrictions = this.saveRestrictions; |
| final smartTapRedemptionValue = this.smartTapRedemptionValue; |
| final state = this.state; |
| final textModulesData = this.textModulesData; |
| final validTimeInterval = this.validTimeInterval; |
| final valueAddedModuleData = this.valueAddedModuleData; |
| final version = this.version; |
| return { |
| 'appLinkData': ?appLinkData, |
| 'barcode': ?barcode, |
| 'classId': ?classId, |
| 'classReference': ?classReference, |
| 'disableExpirationNotification': ?disableExpirationNotification, |
| 'groupingInfo': ?groupingInfo, |
| 'hasLinkedDevice': ?hasLinkedDevice, |
| 'hasUsers': ?hasUsers, |
| 'heroImage': ?heroImage, |
| 'id': ?id, |
| 'imageModulesData': ?imageModulesData, |
| 'infoModuleData': ?infoModuleData, |
| 'kind': ?kind, |
| 'linkedObjectIds': ?linkedObjectIds, |
| 'linksModuleData': ?linksModuleData, |
| 'locations': ?locations, |
| 'merchantLocations': ?merchantLocations, |
| 'messages': ?messages, |
| 'notifyPreference': ?notifyPreference, |
| 'passConstraints': ?passConstraints, |
| 'rotatingBarcode': ?rotatingBarcode, |
| 'saveRestrictions': ?saveRestrictions, |
| 'smartTapRedemptionValue': ?smartTapRedemptionValue, |
| 'state': ?state, |
| 'textModulesData': ?textModulesData, |
| 'validTimeInterval': ?validTimeInterval, |
| 'valueAddedModuleData': ?valueAddedModuleData, |
| 'version': ?version, |
| }; |
| } |
| } |
| |
| class OfferObjectAddMessageResponse { |
| /// The updated OfferObject resource. |
| OfferObject? resource; |
| |
| OfferObjectAddMessageResponse({this.resource}); |
| |
| OfferObjectAddMessageResponse.fromJson(core.Map json_) |
| : this( |
| resource: json_.containsKey('resource') |
| ? OfferObject.fromJson( |
| json_['resource'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final resource = this.resource; |
| return {'resource': ?resource}; |
| } |
| } |
| |
| class OfferObjectListResponse { |
| /// Pagination of the response. |
| Pagination? pagination; |
| |
| /// Resources corresponding to the list request. |
| core.List<OfferObject>? resources; |
| |
| OfferObjectListResponse({this.pagination, this.resources}); |
| |
| OfferObjectListResponse.fromJson(core.Map json_) |
| : this( |
| pagination: json_.containsKey('pagination') |
| ? Pagination.fromJson( |
| json_['pagination'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| resources: (json_['resources'] as core.List?) |
| ?.map( |
| (value) => OfferObject.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final pagination = this.pagination; |
| final resources = this.resources; |
| return {'pagination': ?pagination, 'resources': ?resources}; |
| } |
| } |
| |
| class Pagination { |
| /// Identifies what kind of resource this is. |
| /// |
| /// Value: the fixed string `"walletobjects#pagination"`. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.String? kind; |
| |
| /// Page token to send to fetch the next page. |
| core.String? nextPageToken; |
| |
| /// Number of results returned in this page. |
| core.int? resultsPerPage; |
| |
| Pagination({this.kind, this.nextPageToken, this.resultsPerPage}); |
| |
| Pagination.fromJson(core.Map json_) |
| : this( |
| kind: json_['kind'] as core.String?, |
| nextPageToken: json_['nextPageToken'] as core.String?, |
| resultsPerPage: json_['resultsPerPage'] as core.int?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final kind = this.kind; |
| final nextPageToken = this.nextPageToken; |
| final resultsPerPage = this.resultsPerPage; |
| return { |
| 'kind': ?kind, |
| 'nextPageToken': ?nextPageToken, |
| 'resultsPerPage': ?resultsPerPage, |
| }; |
| } |
| } |
| |
| /// Container for any constraints that may be placed on passes. |
| class PassConstraints { |
| /// The NFC constraints for the pass. |
| core.List<core.String>? nfcConstraint; |
| |
| /// The screenshot eligibility for the pass. |
| /// Possible string values are: |
| /// - "SCREENSHOT_ELIGIBILITY_UNSPECIFIED" : Default value, same as ELIGIBLE. |
| /// - "ELIGIBLE" : Default behavior for all existing Passes if |
| /// ScreenshotEligibility is not set. Allows screenshots to be taken on |
| /// Android devices. |
| /// - "INELIGIBLE" : Disallows screenshots to be taken on Android devices. |
| /// Note that older versions of Wallet may still allow screenshots to be |
| /// taken. |
| core.String? screenshotEligibility; |
| |
| PassConstraints({this.nfcConstraint, this.screenshotEligibility}); |
| |
| PassConstraints.fromJson(core.Map json_) |
| : this( |
| nfcConstraint: (json_['nfcConstraint'] as core.List?) |
| ?.map((value) => value as core.String) |
| .toList(), |
| screenshotEligibility: json_['screenshotEligibility'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final nfcConstraint = this.nfcConstraint; |
| final screenshotEligibility = this.screenshotEligibility; |
| return { |
| 'nfcConstraint': ?nfcConstraint, |
| 'screenshotEligibility': ?screenshotEligibility, |
| }; |
| } |
| } |
| |
| class Permission { |
| /// The email address of the user, group, or service account to which this |
| /// permission refers to. |
| core.String? emailAddress; |
| |
| /// The role granted by this permission. |
| /// Possible string values are: |
| /// - "ROLE_UNSPECIFIED" |
| /// - "OWNER" |
| /// - "owner" : Legacy alias for `OWNER`. Deprecated. |
| /// - "READER" |
| /// - "reader" : Legacy alias for `READER`. Deprecated. |
| /// - "WRITER" |
| /// - "writer" : Legacy alias for `WRITER`. Deprecated. |
| core.String? role; |
| |
| Permission({this.emailAddress, this.role}); |
| |
| Permission.fromJson(core.Map json_) |
| : this( |
| emailAddress: json_['emailAddress'] as core.String?, |
| role: json_['role'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final emailAddress = this.emailAddress; |
| final role = this.role; |
| return {'emailAddress': ?emailAddress, 'role': ?role}; |
| } |
| } |
| |
| class Permissions { |
| /// ID of the issuer the list of permissions refer to. |
| core.String? issuerId; |
| |
| /// The complete list of permissions for the issuer account. |
| core.List<Permission>? permissions; |
| |
| Permissions({this.issuerId, this.permissions}); |
| |
| Permissions.fromJson(core.Map json_) |
| : this( |
| issuerId: json_['issuerId'] as core.String?, |
| permissions: (json_['permissions'] as core.List?) |
| ?.map( |
| (value) => Permission.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final issuerId = this.issuerId; |
| final permissions = this.permissions; |
| return {'issuerId': ?issuerId, 'permissions': ?permissions}; |
| } |
| } |
| |
| class PurchaseDetails { |
| /// ID of the account used to purchase the ticket. |
| core.String? accountId; |
| |
| /// The confirmation code for the purchase. |
| /// |
| /// This may be the same for multiple different tickets and is used to group |
| /// tickets together. |
| core.String? confirmationCode; |
| |
| /// 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. |
| core.String? purchaseDateTime; |
| |
| /// Receipt number/identifier for tracking the ticket purchase via the body |
| /// that sold the ticket. |
| core.String? purchaseReceiptNumber; |
| |
| /// The cost of the ticket. |
| TicketCost? ticketCost; |
| |
| PurchaseDetails({ |
| this.accountId, |
| this.confirmationCode, |
| this.purchaseDateTime, |
| this.purchaseReceiptNumber, |
| this.ticketCost, |
| }); |
| |
| PurchaseDetails.fromJson(core.Map json_) |
| : this( |
| accountId: json_['accountId'] as core.String?, |
| confirmationCode: json_['confirmationCode'] as core.String?, |
| purchaseDateTime: json_['purchaseDateTime'] as core.String?, |
| purchaseReceiptNumber: json_['purchaseReceiptNumber'] as core.String?, |
| ticketCost: json_.containsKey('ticketCost') |
| ? TicketCost.fromJson( |
| json_['ticketCost'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final accountId = this.accountId; |
| final confirmationCode = this.confirmationCode; |
| final purchaseDateTime = this.purchaseDateTime; |
| final purchaseReceiptNumber = this.purchaseReceiptNumber; |
| final ticketCost = this.ticketCost; |
| return { |
| 'accountId': ?accountId, |
| 'confirmationCode': ?confirmationCode, |
| 'purchaseDateTime': ?purchaseDateTime, |
| 'purchaseReceiptNumber': ?purchaseReceiptNumber, |
| 'ticketCost': ?ticketCost, |
| }; |
| } |
| } |
| |
| class ReservationInfo { |
| /// 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. |
| core.String? confirmationCode; |
| |
| /// E-ticket number. |
| core.String? eticketNumber; |
| |
| /// Frequent flyer membership information. |
| FrequentFlyerInfo? frequentFlyerInfo; |
| |
| /// Identifies what kind of resource this is. |
| /// |
| /// Value: the fixed string `"walletobjects#reservationInfo"`. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.String? kind; |
| |
| ReservationInfo({ |
| this.confirmationCode, |
| this.eticketNumber, |
| this.frequentFlyerInfo, |
| this.kind, |
| }); |
| |
| ReservationInfo.fromJson(core.Map json_) |
| : this( |
| confirmationCode: json_['confirmationCode'] as core.String?, |
| eticketNumber: json_['eticketNumber'] as core.String?, |
| frequentFlyerInfo: json_.containsKey('frequentFlyerInfo') |
| ? FrequentFlyerInfo.fromJson( |
| json_['frequentFlyerInfo'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| kind: json_['kind'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final confirmationCode = this.confirmationCode; |
| final eticketNumber = this.eticketNumber; |
| final frequentFlyerInfo = this.frequentFlyerInfo; |
| final kind = this.kind; |
| return { |
| 'confirmationCode': ?confirmationCode, |
| 'eticketNumber': ?eticketNumber, |
| 'frequentFlyerInfo': ?frequentFlyerInfo, |
| 'kind': ?kind, |
| }; |
| } |
| } |
| |
| class Resources { |
| /// A list of event ticket classes. |
| core.List<EventTicketClass>? eventTicketClasses; |
| |
| /// A list of event ticket objects. |
| core.List<EventTicketObject>? eventTicketObjects; |
| |
| /// A list of flight classes. |
| core.List<FlightClass>? flightClasses; |
| |
| /// A list of flight objects. |
| core.List<FlightObject>? flightObjects; |
| |
| /// A list of generic classes. |
| core.List<GenericClass>? genericClasses; |
| |
| /// A list of generic objects. |
| core.List<GenericObject>? genericObjects; |
| |
| /// A list of gift card classes. |
| core.List<GiftCardClass>? giftCardClasses; |
| |
| /// A list of gift card objects. |
| core.List<GiftCardObject>? giftCardObjects; |
| |
| /// A list of loyalty classes. |
| core.List<LoyaltyClass>? loyaltyClasses; |
| |
| /// A list of loyalty objects. |
| core.List<LoyaltyObject>? loyaltyObjects; |
| |
| /// A list of offer classes. |
| core.List<OfferClass>? offerClasses; |
| |
| /// A list of offer objects. |
| core.List<OfferObject>? offerObjects; |
| |
| /// A list of transit classes. |
| core.List<TransitClass>? transitClasses; |
| |
| /// A list of transit objects. |
| core.List<TransitObject>? transitObjects; |
| |
| Resources({ |
| this.eventTicketClasses, |
| this.eventTicketObjects, |
| this.flightClasses, |
| this.flightObjects, |
| this.genericClasses, |
| this.genericObjects, |
| this.giftCardClasses, |
| this.giftCardObjects, |
| this.loyaltyClasses, |
| this.loyaltyObjects, |
| this.offerClasses, |
| this.offerObjects, |
| this.transitClasses, |
| this.transitObjects, |
| }); |
| |
| Resources.fromJson(core.Map json_) |
| : this( |
| eventTicketClasses: (json_['eventTicketClasses'] as core.List?) |
| ?.map( |
| (value) => EventTicketClass.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| eventTicketObjects: (json_['eventTicketObjects'] as core.List?) |
| ?.map( |
| (value) => EventTicketObject.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| flightClasses: (json_['flightClasses'] as core.List?) |
| ?.map( |
| (value) => FlightClass.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| flightObjects: (json_['flightObjects'] as core.List?) |
| ?.map( |
| (value) => FlightObject.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| genericClasses: (json_['genericClasses'] as core.List?) |
| ?.map( |
| (value) => GenericClass.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| genericObjects: (json_['genericObjects'] as core.List?) |
| ?.map( |
| (value) => GenericObject.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| giftCardClasses: (json_['giftCardClasses'] as core.List?) |
| ?.map( |
| (value) => GiftCardClass.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| giftCardObjects: (json_['giftCardObjects'] as core.List?) |
| ?.map( |
| (value) => GiftCardObject.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| loyaltyClasses: (json_['loyaltyClasses'] as core.List?) |
| ?.map( |
| (value) => LoyaltyClass.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| loyaltyObjects: (json_['loyaltyObjects'] as core.List?) |
| ?.map( |
| (value) => LoyaltyObject.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| offerClasses: (json_['offerClasses'] as core.List?) |
| ?.map( |
| (value) => OfferClass.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| offerObjects: (json_['offerObjects'] as core.List?) |
| ?.map( |
| (value) => OfferObject.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| transitClasses: (json_['transitClasses'] as core.List?) |
| ?.map( |
| (value) => TransitClass.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| transitObjects: (json_['transitObjects'] as core.List?) |
| ?.map( |
| (value) => TransitObject.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final eventTicketClasses = this.eventTicketClasses; |
| final eventTicketObjects = this.eventTicketObjects; |
| final flightClasses = this.flightClasses; |
| final flightObjects = this.flightObjects; |
| final genericClasses = this.genericClasses; |
| final genericObjects = this.genericObjects; |
| final giftCardClasses = this.giftCardClasses; |
| final giftCardObjects = this.giftCardObjects; |
| final loyaltyClasses = this.loyaltyClasses; |
| final loyaltyObjects = this.loyaltyObjects; |
| final offerClasses = this.offerClasses; |
| final offerObjects = this.offerObjects; |
| final transitClasses = this.transitClasses; |
| final transitObjects = this.transitObjects; |
| return { |
| 'eventTicketClasses': ?eventTicketClasses, |
| 'eventTicketObjects': ?eventTicketObjects, |
| 'flightClasses': ?flightClasses, |
| 'flightObjects': ?flightObjects, |
| 'genericClasses': ?genericClasses, |
| 'genericObjects': ?genericObjects, |
| 'giftCardClasses': ?giftCardClasses, |
| 'giftCardObjects': ?giftCardObjects, |
| 'loyaltyClasses': ?loyaltyClasses, |
| 'loyaltyObjects': ?loyaltyObjects, |
| 'offerClasses': ?offerClasses, |
| 'offerObjects': ?offerObjects, |
| 'transitClasses': ?transitClasses, |
| 'transitObjects': ?transitObjects, |
| }; |
| } |
| } |
| |
| class Review { |
| core.String? comments; |
| |
| Review({this.comments}); |
| |
| Review.fromJson(core.Map json_) |
| : this(comments: json_['comments'] as core.String?); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final comments = this.comments; |
| return {'comments': ?comments}; |
| } |
| } |
| |
| class RotatingBarcode { |
| /// 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. |
| core.String? alternateText; |
| |
| /// 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. |
| RotatingBarcodeValues? initialRotatingBarcodeValues; |
| |
| /// The render encoding for the barcode. |
| /// |
| /// When specified, barcode is rendered in the given encoding. Otherwise best |
| /// known encoding is chosen by Google. |
| /// Possible string values are: |
| /// - "RENDER_ENCODING_UNSPECIFIED" |
| /// - "UTF_8" : UTF_8 encoding for barcodes. This is only supported for |
| /// barcode type qrCode. |
| core.String? renderEncoding; |
| |
| /// 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. |
| LocalizedString? showCodeText; |
| |
| /// Details used to evaluate the {totp_value_n} substitutions. |
| RotatingBarcodeTotpDetails? totpDetails; |
| |
| /// The type of this barcode. |
| /// Possible string values are: |
| /// - "BARCODE_TYPE_UNSPECIFIED" |
| /// - "AZTEC" : Not supported for Rotating Barcodes. |
| /// - "aztec" : Legacy alias for `AZTEC`. Deprecated. Not supported for |
| /// Rotating Barcodes. |
| /// - "CODE_39" : Not supported for Rotating Barcodes. |
| /// - "code39" : Legacy alias for `CODE_39`. Deprecated. Not supported for |
| /// Rotating Barcodes. |
| /// - "CODE_128" : Not supported for Rotating Barcodes. |
| /// - "code128" : Legacy alias for `CODE_128`. Deprecated. Not supported for |
| /// Rotating Barcodes. |
| /// - "CODABAR" : Not supported for Rotating Barcodes. |
| /// - "codabar" : Legacy alias for `CODABAR`. Deprecated. Not supported for |
| /// Rotating Barcodes. |
| /// - "DATA_MATRIX" : 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. |
| /// - "dataMatrix" : Legacy alias for `DATA_MATRIX`. Deprecated. Not supported |
| /// for Rotating Barcodes. |
| /// - "EAN_8" : Not supported for Rotating Barcodes. |
| /// - "ean8" : Legacy alias for `EAN_8`. Deprecated. Not supported for |
| /// Rotating Barcodes. |
| /// - "EAN_13" : Not supported for Rotating Barcodes. |
| /// - "ean13" : Legacy alias for `EAN_13`. Deprecated. Not supported for |
| /// Rotating Barcodes. |
| /// - "EAN13" : Legacy alias for `EAN_13`. Deprecated. Not supported for |
| /// Rotating Barcodes. |
| /// - "ITF_14" : 14 digit ITF code Not supported for Rotating Barcodes. |
| /// - "itf14" : Legacy alias for `ITF_14`. Deprecated. Not supported for |
| /// Rotating Barcodes. |
| /// - "PDF_417" : Supported for Rotating Barcodes. |
| /// - "pdf417" : Legacy alias for `PDF_417`. Deprecated. |
| /// - "PDF417" : Legacy alias for `PDF_417`. Deprecated. |
| /// - "QR_CODE" : Supported for Rotating Barcodes. |
| /// - "qrCode" : Legacy alias for `QR_CODE`. Deprecated. |
| /// - "qrcode" : Legacy alias for `QR_CODE`. Deprecated. |
| /// - "UPC_A" : 11 or 12 digit codes Not supported for Rotating Barcodes. |
| /// - "upcA" : Legacy alias for `UPC_A`. Deprecated. Not supported for |
| /// Rotating Barcodes. |
| /// - "TEXT_ONLY" : 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. |
| /// - "textOnly" : Legacy alias for `TEXT_ONLY`. Deprecated. Not supported for |
| /// Rotating Barcodes. |
| core.String? type; |
| |
| /// 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. |
| core.String? valuePattern; |
| |
| RotatingBarcode({ |
| this.alternateText, |
| this.initialRotatingBarcodeValues, |
| this.renderEncoding, |
| this.showCodeText, |
| this.totpDetails, |
| this.type, |
| this.valuePattern, |
| }); |
| |
| RotatingBarcode.fromJson(core.Map json_) |
| : this( |
| alternateText: json_['alternateText'] as core.String?, |
| initialRotatingBarcodeValues: |
| json_.containsKey('initialRotatingBarcodeValues') |
| ? RotatingBarcodeValues.fromJson( |
| json_['initialRotatingBarcodeValues'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| renderEncoding: json_['renderEncoding'] as core.String?, |
| showCodeText: json_.containsKey('showCodeText') |
| ? LocalizedString.fromJson( |
| json_['showCodeText'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| totpDetails: json_.containsKey('totpDetails') |
| ? RotatingBarcodeTotpDetails.fromJson( |
| json_['totpDetails'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| type: json_['type'] as core.String?, |
| valuePattern: json_['valuePattern'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final alternateText = this.alternateText; |
| final initialRotatingBarcodeValues = this.initialRotatingBarcodeValues; |
| final renderEncoding = this.renderEncoding; |
| final showCodeText = this.showCodeText; |
| final totpDetails = this.totpDetails; |
| final type = this.type; |
| final valuePattern = this.valuePattern; |
| return { |
| 'alternateText': ?alternateText, |
| 'initialRotatingBarcodeValues': ?initialRotatingBarcodeValues, |
| 'renderEncoding': ?renderEncoding, |
| 'showCodeText': ?showCodeText, |
| 'totpDetails': ?totpDetails, |
| 'type': ?type, |
| 'valuePattern': ?valuePattern, |
| }; |
| } |
| } |
| |
| /// Configuration for the time-based OTP substitutions. |
| /// |
| /// See https://tools.ietf.org/html/rfc6238 |
| class RotatingBarcodeTotpDetails { |
| /// The TOTP algorithm used to generate the OTP. |
| /// Possible string values are: |
| /// - "TOTP_ALGORITHM_UNSPECIFIED" |
| /// - "TOTP_SHA1" : TOTP algorithm from RFC 6238 with the SHA1 hash function |
| core.String? algorithm; |
| |
| /// The TOTP parameters for each of the {totp_value_*} substitutions. |
| /// |
| /// The TotpParameters at index n is used for the {totp_value_n} substitution. |
| core.List<RotatingBarcodeTotpDetailsTotpParameters>? parameters; |
| |
| /// The time interval used for the TOTP value generation, in milliseconds. |
| core.String? periodMillis; |
| |
| RotatingBarcodeTotpDetails({ |
| this.algorithm, |
| this.parameters, |
| this.periodMillis, |
| }); |
| |
| RotatingBarcodeTotpDetails.fromJson(core.Map json_) |
| : this( |
| algorithm: json_['algorithm'] as core.String?, |
| parameters: (json_['parameters'] as core.List?) |
| ?.map( |
| (value) => RotatingBarcodeTotpDetailsTotpParameters.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| periodMillis: json_['periodMillis'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final algorithm = this.algorithm; |
| final parameters = this.parameters; |
| final periodMillis = this.periodMillis; |
| return { |
| 'algorithm': ?algorithm, |
| 'parameters': ?parameters, |
| 'periodMillis': ?periodMillis, |
| }; |
| } |
| } |
| |
| /// Configuration for the key and value length. |
| /// |
| /// See https://www.rfc-editor.org/rfc/rfc4226#section-5.3 |
| class RotatingBarcodeTotpDetailsTotpParameters { |
| /// The secret key used for the TOTP value generation, encoded as a Base16 |
| /// string. |
| core.String? key; |
| |
| /// The length of the TOTP value in decimal digits. |
| core.int? valueLength; |
| |
| RotatingBarcodeTotpDetailsTotpParameters({this.key, this.valueLength}); |
| |
| RotatingBarcodeTotpDetailsTotpParameters.fromJson(core.Map json_) |
| : this( |
| key: json_['key'] as core.String?, |
| valueLength: json_['valueLength'] as core.int?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final key = this.key; |
| final valueLength = this.valueLength; |
| return {'key': ?key, 'valueLength': ?valueLength}; |
| } |
| } |
| |
| /// A payload containing many barcode values and start date/time. |
| class RotatingBarcodeValues { |
| /// The amount of time each barcode is valid for. |
| /// |
| /// Required. |
| core.String? periodMillis; |
| |
| /// 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. |
| /// |
| /// Required. |
| core.String? startDateTime; |
| |
| /// The values to encode in the barcode. |
| /// |
| /// At least one value is required. |
| /// |
| /// Required. |
| core.List<core.String>? values; |
| |
| RotatingBarcodeValues({this.periodMillis, this.startDateTime, this.values}); |
| |
| RotatingBarcodeValues.fromJson(core.Map json_) |
| : this( |
| periodMillis: json_['periodMillis'] as core.String?, |
| startDateTime: json_['startDateTime'] as core.String?, |
| values: (json_['values'] as core.List?) |
| ?.map((value) => value as core.String) |
| .toList(), |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final periodMillis = this.periodMillis; |
| final startDateTime = this.startDateTime; |
| final values = this.values; |
| return { |
| 'periodMillis': ?periodMillis, |
| 'startDateTime': ?startDateTime, |
| 'values': ?values, |
| }; |
| } |
| } |
| |
| /// Defines restrictions on the object that will be verified during save. |
| /// |
| /// Note: this is an advanced feature, please contact Google for implementation |
| /// support. |
| class SaveRestrictions { |
| /// 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. |
| core.String? restrictToEmailSha256; |
| |
| SaveRestrictions({this.restrictToEmailSha256}); |
| |
| SaveRestrictions.fromJson(core.Map json_) |
| : this( |
| restrictToEmailSha256: json_['restrictToEmailSha256'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final restrictToEmailSha256 = this.restrictToEmailSha256; |
| return {'restrictToEmailSha256': ?restrictToEmailSha256}; |
| } |
| } |
| |
| class SecurityAnimation { |
| /// Type of animation. |
| /// Possible string values are: |
| /// - "ANIMATION_UNSPECIFIED" |
| /// - "FOIL_SHIMMER" : Default Foil & Shimmer animation |
| /// - "foilShimmer" : Legacy alias for `FOIL_SHIMMER`. Deprecated. |
| core.String? animationType; |
| |
| SecurityAnimation({this.animationType}); |
| |
| SecurityAnimation.fromJson(core.Map json_) |
| : this(animationType: json_['animationType'] as core.String?); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final animationType = this.animationType; |
| return {'animationType': ?animationType}; |
| } |
| } |
| |
| /// 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. |
| class SetPassUpdateNoticeRequest { |
| /// A fully qualified identifier of the pass that the issuer wants to notify |
| /// the pass holder(s) about. |
| /// |
| /// Formatted as . |
| /// |
| /// Required. |
| core.String? externalPassId; |
| |
| /// 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 |
| /// |
| /// Required. |
| core.String? updateUri; |
| |
| /// 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. |
| /// |
| /// Required. |
| core.String? updatedPassJwtSignature; |
| |
| SetPassUpdateNoticeRequest({ |
| this.externalPassId, |
| this.updateUri, |
| this.updatedPassJwtSignature, |
| }); |
| |
| SetPassUpdateNoticeRequest.fromJson(core.Map json_) |
| : this( |
| externalPassId: json_['externalPassId'] as core.String?, |
| updateUri: json_['updateUri'] as core.String?, |
| updatedPassJwtSignature: |
| json_['updatedPassJwtSignature'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final externalPassId = this.externalPassId; |
| final updateUri = this.updateUri; |
| final updatedPassJwtSignature = this.updatedPassJwtSignature; |
| return { |
| 'externalPassId': ?externalPassId, |
| 'updateUri': ?updateUri, |
| 'updatedPassJwtSignature': ?updatedPassJwtSignature, |
| }; |
| } |
| } |
| |
| /// A response to a request to notify Google of an awaiting update to a private |
| /// pass. |
| typedef SetPassUpdateNoticeResponse = $Empty; |
| |
| class SignUpInfo { |
| /// ID of the class the user can sign up for. |
| core.String? classId; |
| |
| SignUpInfo({this.classId}); |
| |
| SignUpInfo.fromJson(core.Map json_) |
| : this(classId: json_['classId'] as core.String?); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final classId = this.classId; |
| return {'classId': ?classId}; |
| } |
| } |
| |
| class SmartTap { |
| /// 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. |
| core.String? id; |
| |
| /// Communication from merchant to user. |
| core.List<IssuerToUserInfo>? infos; |
| |
| /// Identifies what kind of resource this is. |
| /// |
| /// Value: the fixed string `"walletobjects#smartTap"`. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.String? kind; |
| |
| /// Smart Tap merchant ID of who engaged in the Smart Tap interaction. |
| core.String? merchantId; |
| |
| SmartTap({this.id, this.infos, this.kind, this.merchantId}); |
| |
| SmartTap.fromJson(core.Map json_) |
| : this( |
| id: json_['id'] as core.String?, |
| infos: (json_['infos'] as core.List?) |
| ?.map( |
| (value) => IssuerToUserInfo.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| kind: json_['kind'] as core.String?, |
| merchantId: json_['merchantId'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final id = this.id; |
| final infos = this.infos; |
| final kind = this.kind; |
| final merchantId = this.merchantId; |
| return { |
| 'id': ?id, |
| 'infos': ?infos, |
| 'kind': ?kind, |
| 'merchantId': ?merchantId, |
| }; |
| } |
| } |
| |
| class SmartTapMerchantData { |
| /// Available only to Smart Tap enabled partners. |
| /// |
| /// Contact support for additional guidance. |
| core.List<AuthenticationKey>? authenticationKeys; |
| |
| /// Available only to Smart Tap enabled partners. |
| /// |
| /// Contact support for additional guidance. |
| core.String? smartTapMerchantId; |
| |
| SmartTapMerchantData({this.authenticationKeys, this.smartTapMerchantId}); |
| |
| SmartTapMerchantData.fromJson(core.Map json_) |
| : this( |
| authenticationKeys: (json_['authenticationKeys'] as core.List?) |
| ?.map( |
| (value) => AuthenticationKey.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| smartTapMerchantId: json_['smartTapMerchantId'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final authenticationKeys = this.authenticationKeys; |
| final smartTapMerchantId = this.smartTapMerchantId; |
| return { |
| 'authenticationKeys': ?authenticationKeys, |
| 'smartTapMerchantId': ?smartTapMerchantId, |
| }; |
| } |
| } |
| |
| class TemplateItem { |
| /// 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". |
| FieldSelector? firstValue; |
| |
| /// A predefined item to display. |
| /// |
| /// Only one of `firstValue` or `predefinedItem` may be set. |
| /// Possible string values are: |
| /// - "PREDEFINED_ITEM_UNSPECIFIED" |
| /// - "FREQUENT_FLYER_PROGRAM_NAME_AND_NUMBER" |
| /// - "frequentFlyerProgramNameAndNumber" : Legacy alias for |
| /// `FREQUENT_FLYER_PROGRAM_NAME_AND_NUMBER`. Deprecated. |
| /// - "FLIGHT_NUMBER_AND_OPERATING_FLIGHT_NUMBER" |
| /// - "flightNumberAndOperatingFlightNumber" : Legacy alias for |
| /// `FLIGHT_NUMBER_AND_OPERATING_FLIGHT_NUMBER`. Deprecated. |
| core.String? predefinedItem; |
| |
| /// A reference to a field to display. |
| /// |
| /// This may only be populated if the `firstValue` field is populated. |
| FieldSelector? secondValue; |
| |
| TemplateItem({this.firstValue, this.predefinedItem, this.secondValue}); |
| |
| TemplateItem.fromJson(core.Map json_) |
| : this( |
| firstValue: json_.containsKey('firstValue') |
| ? FieldSelector.fromJson( |
| json_['firstValue'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| predefinedItem: json_['predefinedItem'] as core.String?, |
| secondValue: json_.containsKey('secondValue') |
| ? FieldSelector.fromJson( |
| json_['secondValue'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final firstValue = this.firstValue; |
| final predefinedItem = this.predefinedItem; |
| final secondValue = this.secondValue; |
| return { |
| 'firstValue': ?firstValue, |
| 'predefinedItem': ?predefinedItem, |
| 'secondValue': ?secondValue, |
| }; |
| } |
| } |
| |
| /// 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. |
| class TextModuleData { |
| /// 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. |
| core.String? body; |
| |
| /// The header of the Text Module. |
| /// |
| /// Recommended maximum length is 35 characters to ensure full string is |
| /// displayed on smaller screens. |
| core.String? header; |
| |
| /// 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. |
| core.String? id; |
| |
| /// Translated strings for the body. |
| /// |
| /// Recommended maximum length is 500 characters to ensure full string is |
| /// displayed on smaller screens. |
| LocalizedString? localizedBody; |
| |
| /// Translated strings for the header. |
| /// |
| /// Recommended maximum length is 35 characters to ensure full string is |
| /// displayed on smaller screens. |
| LocalizedString? localizedHeader; |
| |
| TextModuleData({ |
| this.body, |
| this.header, |
| this.id, |
| this.localizedBody, |
| this.localizedHeader, |
| }); |
| |
| TextModuleData.fromJson(core.Map json_) |
| : this( |
| body: json_['body'] as core.String?, |
| header: json_['header'] as core.String?, |
| id: json_['id'] as core.String?, |
| localizedBody: json_.containsKey('localizedBody') |
| ? LocalizedString.fromJson( |
| json_['localizedBody'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| localizedHeader: json_.containsKey('localizedHeader') |
| ? LocalizedString.fromJson( |
| json_['localizedHeader'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final body = this.body; |
| final header = this.header; |
| final id = this.id; |
| final localizedBody = this.localizedBody; |
| final localizedHeader = this.localizedHeader; |
| return { |
| 'body': ?body, |
| 'header': ?header, |
| 'id': ?id, |
| 'localizedBody': ?localizedBody, |
| 'localizedHeader': ?localizedHeader, |
| }; |
| } |
| } |
| |
| class TicketCost { |
| /// A message describing any kind of discount that was applied. |
| LocalizedString? discountMessage; |
| |
| /// The face value of the ticket. |
| Money? faceValue; |
| |
| /// The actual purchase price of the ticket, after tax and/or discounts. |
| Money? purchasePrice; |
| |
| TicketCost({this.discountMessage, this.faceValue, this.purchasePrice}); |
| |
| TicketCost.fromJson(core.Map json_) |
| : this( |
| discountMessage: json_.containsKey('discountMessage') |
| ? LocalizedString.fromJson( |
| json_['discountMessage'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| faceValue: json_.containsKey('faceValue') |
| ? Money.fromJson( |
| json_['faceValue'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| purchasePrice: json_.containsKey('purchasePrice') |
| ? Money.fromJson( |
| json_['purchasePrice'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final discountMessage = this.discountMessage; |
| final faceValue = this.faceValue; |
| final purchasePrice = this.purchasePrice; |
| return { |
| 'discountMessage': ?discountMessage, |
| 'faceValue': ?faceValue, |
| 'purchasePrice': ?purchasePrice, |
| }; |
| } |
| } |
| |
| class TicketLeg { |
| /// 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. |
| core.String? arrivalDateTime; |
| |
| /// The train or ship name/number that the passsenger needs to board. |
| core.String? carriage; |
| |
| /// 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. |
| core.String? departureDateTime; |
| |
| /// The destination name. |
| LocalizedString? destinationName; |
| |
| /// The destination station code. |
| core.String? destinationStationCode; |
| |
| /// Short description/name of the fare for this leg of travel. |
| /// |
| /// Eg "Anytime Single Use". |
| LocalizedString? fareName; |
| |
| /// The name of the origin station. |
| /// |
| /// This is required if `desinationName` is present or if `originStationCode` |
| /// is not present. |
| LocalizedString? originName; |
| |
| /// The origin station code. |
| /// |
| /// This is required if `destinationStationCode` is present or if `originName` |
| /// is not present. |
| core.String? originStationCode; |
| |
| /// The platform or gate where the passenger can board the carriage. |
| core.String? platform; |
| |
| /// 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. |
| TicketSeat? ticketSeat; |
| |
| /// 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. |
| core.List<TicketSeat>? ticketSeats; |
| |
| /// The name of the transit operator that is operating this leg of a trip. |
| LocalizedString? transitOperatorName; |
| |
| /// Terminus station or destination of the train/bus/etc. |
| LocalizedString? transitTerminusName; |
| |
| /// The zone of boarding within the platform. |
| core.String? zone; |
| |
| TicketLeg({ |
| this.arrivalDateTime, |
| this.carriage, |
| this.departureDateTime, |
| this.destinationName, |
| this.destinationStationCode, |
| this.fareName, |
| this.originName, |
| this.originStationCode, |
| this.platform, |
| this.ticketSeat, |
| this.ticketSeats, |
| this.transitOperatorName, |
| this.transitTerminusName, |
| this.zone, |
| }); |
| |
| TicketLeg.fromJson(core.Map json_) |
| : this( |
| arrivalDateTime: json_['arrivalDateTime'] as core.String?, |
| carriage: json_['carriage'] as core.String?, |
| departureDateTime: json_['departureDateTime'] as core.String?, |
| destinationName: json_.containsKey('destinationName') |
| ? LocalizedString.fromJson( |
| json_['destinationName'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| destinationStationCode: json_['destinationStationCode'] as core.String?, |
| fareName: json_.containsKey('fareName') |
| ? LocalizedString.fromJson( |
| json_['fareName'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| originName: json_.containsKey('originName') |
| ? LocalizedString.fromJson( |
| json_['originName'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| originStationCode: json_['originStationCode'] as core.String?, |
| platform: json_['platform'] as core.String?, |
| ticketSeat: json_.containsKey('ticketSeat') |
| ? TicketSeat.fromJson( |
| json_['ticketSeat'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ticketSeats: (json_['ticketSeats'] as core.List?) |
| ?.map( |
| (value) => TicketSeat.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| transitOperatorName: json_.containsKey('transitOperatorName') |
| ? LocalizedString.fromJson( |
| json_['transitOperatorName'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| transitTerminusName: json_.containsKey('transitTerminusName') |
| ? LocalizedString.fromJson( |
| json_['transitTerminusName'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| zone: json_['zone'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final arrivalDateTime = this.arrivalDateTime; |
| final carriage = this.carriage; |
| final departureDateTime = this.departureDateTime; |
| final destinationName = this.destinationName; |
| final destinationStationCode = this.destinationStationCode; |
| final fareName = this.fareName; |
| final originName = this.originName; |
| final originStationCode = this.originStationCode; |
| final platform = this.platform; |
| final ticketSeat = this.ticketSeat; |
| final ticketSeats = this.ticketSeats; |
| final transitOperatorName = this.transitOperatorName; |
| final transitTerminusName = this.transitTerminusName; |
| final zone = this.zone; |
| return { |
| 'arrivalDateTime': ?arrivalDateTime, |
| 'carriage': ?carriage, |
| 'departureDateTime': ?departureDateTime, |
| 'destinationName': ?destinationName, |
| 'destinationStationCode': ?destinationStationCode, |
| 'fareName': ?fareName, |
| 'originName': ?originName, |
| 'originStationCode': ?originStationCode, |
| 'platform': ?platform, |
| 'ticketSeat': ?ticketSeat, |
| 'ticketSeats': ?ticketSeats, |
| 'transitOperatorName': ?transitOperatorName, |
| 'transitTerminusName': ?transitTerminusName, |
| 'zone': ?zone, |
| }; |
| } |
| } |
| |
| class TicketRestrictions { |
| /// Extra restrictions that don't fall under the "route" or "time" categories. |
| LocalizedString? otherRestrictions; |
| |
| /// Restrictions about routes that may be taken. |
| /// |
| /// For example, this may be the string "Reserved CrossCountry trains only". |
| LocalizedString? routeRestrictions; |
| |
| /// More details about the above `routeRestrictions`. |
| LocalizedString? routeRestrictionsDetails; |
| |
| /// Restrictions about times this ticket may be used. |
| LocalizedString? timeRestrictions; |
| |
| TicketRestrictions({ |
| this.otherRestrictions, |
| this.routeRestrictions, |
| this.routeRestrictionsDetails, |
| this.timeRestrictions, |
| }); |
| |
| TicketRestrictions.fromJson(core.Map json_) |
| : this( |
| otherRestrictions: json_.containsKey('otherRestrictions') |
| ? LocalizedString.fromJson( |
| json_['otherRestrictions'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| routeRestrictions: json_.containsKey('routeRestrictions') |
| ? LocalizedString.fromJson( |
| json_['routeRestrictions'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| routeRestrictionsDetails: json_.containsKey('routeRestrictionsDetails') |
| ? LocalizedString.fromJson( |
| json_['routeRestrictionsDetails'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| timeRestrictions: json_.containsKey('timeRestrictions') |
| ? LocalizedString.fromJson( |
| json_['timeRestrictions'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final otherRestrictions = this.otherRestrictions; |
| final routeRestrictions = this.routeRestrictions; |
| final routeRestrictionsDetails = this.routeRestrictionsDetails; |
| final timeRestrictions = this.timeRestrictions; |
| return { |
| 'otherRestrictions': ?otherRestrictions, |
| 'routeRestrictions': ?routeRestrictions, |
| 'routeRestrictionsDetails': ?routeRestrictionsDetails, |
| 'timeRestrictions': ?timeRestrictions, |
| }; |
| } |
| } |
| |
| class TicketSeat { |
| /// The identifier of the train car or coach in which the ticketed seat is |
| /// located. |
| /// |
| /// Eg. "10" |
| core.String? coach; |
| |
| /// A custome fare class to be used if no `fareClass` applies. |
| /// |
| /// Both `fareClass` and `customFareClass` may not be set. |
| LocalizedString? customFareClass; |
| |
| /// The fare class of the ticketed seat. |
| /// Possible string values are: |
| /// - "FARE_CLASS_UNSPECIFIED" |
| /// - "ECONOMY" |
| /// - "economy" : Legacy alias for `ECONOMY`. Deprecated. |
| /// - "FIRST" |
| /// - "first" : Legacy alias for `FIRST`. Deprecated. |
| /// - "BUSINESS" |
| /// - "business" : Legacy alias for `BUSINESS`. Deprecated. |
| core.String? fareClass; |
| |
| /// The identifier of where the ticketed seat is located. |
| /// |
| /// Eg. "42". If there is no specific identifier, use `seatAssigment` instead. |
| core.String? seat; |
| |
| /// The passenger's seat assignment. |
| /// |
| /// Eg. "no specific seat". To be used when there is no specific identifier to |
| /// use in `seat`. |
| LocalizedString? seatAssignment; |
| |
| TicketSeat({ |
| this.coach, |
| this.customFareClass, |
| this.fareClass, |
| this.seat, |
| this.seatAssignment, |
| }); |
| |
| TicketSeat.fromJson(core.Map json_) |
| : this( |
| coach: json_['coach'] as core.String?, |
| customFareClass: json_.containsKey('customFareClass') |
| ? LocalizedString.fromJson( |
| json_['customFareClass'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| fareClass: json_['fareClass'] as core.String?, |
| seat: json_['seat'] as core.String?, |
| seatAssignment: json_.containsKey('seatAssignment') |
| ? LocalizedString.fromJson( |
| json_['seatAssignment'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final coach = this.coach; |
| final customFareClass = this.customFareClass; |
| final fareClass = this.fareClass; |
| final seat = this.seat; |
| final seatAssignment = this.seatAssignment; |
| return { |
| 'coach': ?coach, |
| 'customFareClass': ?customFareClass, |
| 'fareClass': ?fareClass, |
| 'seat': ?seat, |
| 'seatAssignment': ?seatAssignment, |
| }; |
| } |
| } |
| |
| class TimeInterval { |
| /// 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. |
| DateTime? end; |
| |
| /// Identifies what kind of resource this is. |
| /// |
| /// Value: the fixed string `"walletobjects#timeInterval"`. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.String? kind; |
| |
| /// 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. |
| DateTime? start; |
| |
| TimeInterval({this.end, this.kind, this.start}); |
| |
| TimeInterval.fromJson(core.Map json_) |
| : this( |
| end: json_.containsKey('end') |
| ? DateTime.fromJson( |
| json_['end'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| kind: json_['kind'] as core.String?, |
| start: json_.containsKey('start') |
| ? DateTime.fromJson( |
| json_['start'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final end = this.end; |
| final kind = this.kind; |
| final start = this.start; |
| return {'end': ?end, 'kind': ?kind, 'start': ?start}; |
| } |
| } |
| |
| class TransitClass { |
| /// Activation options for an activatable ticket. |
| ActivationOptions? activationOptions; |
| |
| /// Use `multipleDevicesAndHoldersAllowedStatus` instead. |
| /// |
| /// Deprecated. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.bool? allowMultipleUsersPerObject; |
| |
| /// 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. |
| AppLinkData? appLinkData; |
| |
| /// 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. |
| CallbackOptions? callbackOptions; |
| |
| /// Template information about how the class should be displayed. |
| /// |
| /// If unset, Google will fallback to a default set of fields to display. |
| ClassTemplateInfo? classTemplateInfo; |
| |
| /// 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. |
| core.String? countryCode; |
| |
| /// A custom label to use for the carriage value |
| /// (`transitObject.ticketLeg.carriage`). |
| LocalizedString? customCarriageLabel; |
| |
| /// A custom label to use for the coach value |
| /// (`transitObject.ticketLeg.ticketSeat.coach`). |
| LocalizedString? customCoachLabel; |
| |
| /// A custom label to use for the transit concession category value |
| /// (`transitObject.concessionCategory`). |
| LocalizedString? customConcessionCategoryLabel; |
| |
| /// A custom label to use for the confirmation code value |
| /// (`transitObject.purchaseDetails.confirmationCode`). |
| LocalizedString? customConfirmationCodeLabel; |
| |
| /// A custom label to use for the transit discount message value |
| /// (`transitObject.purchaseDetails.ticketCost.discountMessage`). |
| LocalizedString? customDiscountMessageLabel; |
| |
| /// A custom label to use for the fare class value |
| /// (`transitObject.ticketLeg.ticketSeat.fareClass`). |
| LocalizedString? customFareClassLabel; |
| |
| /// A custom label to use for the transit fare name value |
| /// (`transitObject.ticketLeg.fareName`). |
| LocalizedString? customFareNameLabel; |
| |
| /// A custom label to use for the other restrictions value |
| /// (`transitObject.ticketRestrictions.otherRestrictions`). |
| LocalizedString? customOtherRestrictionsLabel; |
| |
| /// A custom label to use for the boarding platform value |
| /// (`transitObject.ticketLeg.platform`). |
| LocalizedString? customPlatformLabel; |
| |
| /// A custom label to use for the purchase face value |
| /// (`transitObject.purchaseDetails.ticketCost.faceValue`). |
| LocalizedString? customPurchaseFaceValueLabel; |
| |
| /// A custom label to use for the purchase price value |
| /// (`transitObject.purchaseDetails.ticketCost.purchasePrice`). |
| LocalizedString? customPurchasePriceLabel; |
| |
| /// A custom label to use for the purchase receipt number value |
| /// (`transitObject.purchaseDetails.purchaseReceiptNumber`). |
| LocalizedString? customPurchaseReceiptNumberLabel; |
| |
| /// A custom label to use for the route restrictions details value |
| /// (`transitObject.ticketRestrictions.routeRestrictionsDetails`). |
| LocalizedString? customRouteRestrictionsDetailsLabel; |
| |
| /// A custom label to use for the route restrictions value |
| /// (`transitObject.ticketRestrictions.routeRestrictions`). |
| LocalizedString? customRouteRestrictionsLabel; |
| |
| /// A custom label to use for the seat location value |
| /// (`transitObject.ticketLeg.ticketSeat.seat`). |
| LocalizedString? customSeatLabel; |
| |
| /// A custom label to use for the ticket number value |
| /// (`transitObject.ticketNumber`). |
| LocalizedString? customTicketNumberLabel; |
| |
| /// A custom label to use for the time restrictions details value |
| /// (`transitObject.ticketRestrictions.timeRestrictions`). |
| LocalizedString? customTimeRestrictionsLabel; |
| |
| /// A custom label to use for the transit terminus name value |
| /// (`transitObject.ticketLeg.transitTerminusName`). |
| LocalizedString? customTransitTerminusNameLabel; |
| |
| /// A custom label to use for the boarding zone value |
| /// (`transitObject.ticketLeg.zone`). |
| LocalizedString? customZoneLabel; |
| |
| /// Controls the display of the single-leg itinerary for this class. |
| /// |
| /// By default, an itinerary will only display for multi-leg trips. |
| core.bool? enableSingleLegItinerary; |
| |
| /// 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. |
| core.bool? enableSmartTap; |
| |
| /// 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. |
| Image? heroImage; |
| |
| /// 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`. |
| core.String? hexBackgroundColor; |
| |
| /// 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). |
| Uri? homepageUri; |
| |
| /// 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 '-'. |
| /// |
| /// Required. |
| core.String? id; |
| |
| /// Image module data. |
| /// |
| /// The maximum number of these fields displayed is 1 from object level and 1 |
| /// for class object level. |
| core.List<ImageModuleData>? imageModulesData; |
| |
| /// Use textModulesData instead. |
| /// |
| /// Deprecated. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| InfoModuleData? infoModuleData; |
| |
| /// The issuer name. |
| /// |
| /// Recommended maximum length is 20 characters to ensure full string is |
| /// displayed on smaller screens. |
| /// |
| /// Required. |
| core.String? issuerName; |
| |
| /// 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". |
| core.String? languageOverride; |
| |
| /// Links module data. |
| /// |
| /// If links module data is also defined on the object, both will be |
| /// displayed. |
| LinksModuleData? linksModuleData; |
| |
| /// Translated strings for the issuer_name. |
| /// |
| /// Recommended maximum length is 20 characters to ensure full string is |
| /// displayed on smaller screens. |
| LocalizedString? localizedIssuerName; |
| |
| /// Note: This field is currently not supported to trigger geo notifications. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.List<LatLongPoint>? locations; |
| |
| /// The logo image of the ticket. |
| /// |
| /// This image is displayed in the card detail view of the app. |
| /// |
| /// Required. |
| Image? logo; |
| |
| /// 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. |
| core.List<MerchantLocation>? merchantLocations; |
| |
| /// 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. |
| core.List<Message>? messages; |
| |
| /// Identifies whether multiple users and devices will save the same object |
| /// referencing this class. |
| /// Possible string values are: |
| /// - "STATUS_UNSPECIFIED" : Unspecified preference. |
| /// - "MULTIPLE_HOLDERS" : 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. |
| /// - "ONE_USER_ALL_DEVICES" : 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. |
| /// - "ONE_USER_ONE_DEVICE" : 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. |
| /// - "multipleHolders" : Legacy alias for `MULTIPLE_HOLDERS`. Deprecated. |
| /// - "oneUserAllDevices" : Legacy alias for `ONE_USER_ALL_DEVICES`. |
| /// Deprecated. |
| /// - "oneUserOneDevice" : Legacy alias for `ONE_USER_ONE_DEVICE`. Deprecated. |
| core.String? multipleDevicesAndHoldersAllowedStatus; |
| |
| /// 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. |
| /// Possible string values are: |
| /// - "NOTIFICATION_SETTINGS_FOR_UPDATES_UNSPECIFIED" : Default behavior is no |
| /// notifications sent. |
| /// - "NOTIFY_ON_UPDATE" : This value will result in a notification being |
| /// sent, if the updated fields are part of an allowlist. |
| core.String? notifyPreference; |
| |
| /// 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. |
| core.List<core.String>? redemptionIssuers; |
| |
| /// The review comments set by the platform when a class is marked `approved` |
| /// or `rejected`. |
| Review? review; |
| |
| /// 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`. |
| /// |
| /// Required. |
| /// Possible string values are: |
| /// - "REVIEW_STATUS_UNSPECIFIED" |
| /// - "UNDER_REVIEW" |
| /// - "underReview" : Legacy alias for `UNDER_REVIEW`. Deprecated. |
| /// - "APPROVED" |
| /// - "approved" : Legacy alias for `APPROVED`. Deprecated. |
| /// - "REJECTED" |
| /// - "rejected" : Legacy alias for `REJECTED`. Deprecated. |
| /// - "DRAFT" |
| /// - "draft" : Legacy alias for `DRAFT`. Deprecated. |
| core.String? reviewStatus; |
| |
| /// Optional information about the security animation. |
| /// |
| /// If this is set a security animation will be rendered on pass details. |
| SecurityAnimation? securityAnimation; |
| |
| /// 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. |
| core.List<TextModuleData>? textModulesData; |
| |
| /// The name of the transit operator. |
| LocalizedString? transitOperatorName; |
| |
| /// The type of transit this class represents, such as "bus". |
| /// |
| /// Required. |
| /// Possible string values are: |
| /// - "TRANSIT_TYPE_UNSPECIFIED" |
| /// - "BUS" |
| /// - "bus" : Legacy alias for `BUS`. Deprecated. |
| /// - "RAIL" |
| /// - "rail" : Legacy alias for `RAIL`. Deprecated. |
| /// - "TRAM" |
| /// - "tram" : Legacy alias for `TRAM`. Deprecated. |
| /// - "FERRY" |
| /// - "ferry" : Legacy alias for `FERRY`. Deprecated. |
| /// - "OTHER" |
| /// - "other" : Legacy alias for `OTHER`. Deprecated. |
| core.String? transitType; |
| |
| /// Optional value added module data. |
| /// |
| /// Maximum of fifteen on the class. For a pass only fifteen will be |
| /// displayed, prioritizing those from the object. |
| core.List<ValueAddedModuleData>? valueAddedModuleData; |
| |
| /// Deprecated |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.String? version; |
| |
| /// View Unlock Requirement options for the transit ticket. |
| /// Possible string values are: |
| /// - "VIEW_UNLOCK_REQUIREMENT_UNSPECIFIED" : Default value, same as |
| /// UNLOCK_NOT_REQUIRED. |
| /// - "UNLOCK_NOT_REQUIRED" : Default behavior for all the existing Passes if |
| /// ViewUnlockRequirement is not set. |
| /// - "UNLOCK_REQUIRED_TO_VIEW" : 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. |
| core.String? viewUnlockRequirement; |
| |
| /// Watermark image to display on the user's device. |
| Image? watermark; |
| |
| /// 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. |
| Image? wideLogo; |
| |
| /// Deprecated. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| Image? wordMark; |
| |
| TransitClass({ |
| this.activationOptions, |
| this.allowMultipleUsersPerObject, |
| this.appLinkData, |
| this.callbackOptions, |
| this.classTemplateInfo, |
| this.countryCode, |
| this.customCarriageLabel, |
| this.customCoachLabel, |
| this.customConcessionCategoryLabel, |
| this.customConfirmationCodeLabel, |
| this.customDiscountMessageLabel, |
| this.customFareClassLabel, |
| this.customFareNameLabel, |
| this.customOtherRestrictionsLabel, |
| this.customPlatformLabel, |
| this.customPurchaseFaceValueLabel, |
| this.customPurchasePriceLabel, |
| this.customPurchaseReceiptNumberLabel, |
| this.customRouteRestrictionsDetailsLabel, |
| this.customRouteRestrictionsLabel, |
| this.customSeatLabel, |
| this.customTicketNumberLabel, |
| this.customTimeRestrictionsLabel, |
| this.customTransitTerminusNameLabel, |
| this.customZoneLabel, |
| this.enableSingleLegItinerary, |
| this.enableSmartTap, |
| this.heroImage, |
| this.hexBackgroundColor, |
| this.homepageUri, |
| this.id, |
| this.imageModulesData, |
| this.infoModuleData, |
| this.issuerName, |
| this.languageOverride, |
| this.linksModuleData, |
| this.localizedIssuerName, |
| this.locations, |
| this.logo, |
| this.merchantLocations, |
| this.messages, |
| this.multipleDevicesAndHoldersAllowedStatus, |
| this.notifyPreference, |
| this.redemptionIssuers, |
| this.review, |
| this.reviewStatus, |
| this.securityAnimation, |
| this.textModulesData, |
| this.transitOperatorName, |
| this.transitType, |
| this.valueAddedModuleData, |
| this.version, |
| this.viewUnlockRequirement, |
| this.watermark, |
| this.wideLogo, |
| this.wordMark, |
| }); |
| |
| TransitClass.fromJson(core.Map json_) |
| : this( |
| activationOptions: json_.containsKey('activationOptions') |
| ? ActivationOptions.fromJson( |
| json_['activationOptions'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| allowMultipleUsersPerObject: |
| json_['allowMultipleUsersPerObject'] as core.bool?, |
| appLinkData: json_.containsKey('appLinkData') |
| ? AppLinkData.fromJson( |
| json_['appLinkData'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| callbackOptions: json_.containsKey('callbackOptions') |
| ? CallbackOptions.fromJson( |
| json_['callbackOptions'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| classTemplateInfo: json_.containsKey('classTemplateInfo') |
| ? ClassTemplateInfo.fromJson( |
| json_['classTemplateInfo'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| countryCode: json_['countryCode'] as core.String?, |
| customCarriageLabel: json_.containsKey('customCarriageLabel') |
| ? LocalizedString.fromJson( |
| json_['customCarriageLabel'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| customCoachLabel: json_.containsKey('customCoachLabel') |
| ? LocalizedString.fromJson( |
| json_['customCoachLabel'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| customConcessionCategoryLabel: |
| json_.containsKey('customConcessionCategoryLabel') |
| ? LocalizedString.fromJson( |
| json_['customConcessionCategoryLabel'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| customConfirmationCodeLabel: |
| json_.containsKey('customConfirmationCodeLabel') |
| ? LocalizedString.fromJson( |
| json_['customConfirmationCodeLabel'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| customDiscountMessageLabel: |
| json_.containsKey('customDiscountMessageLabel') |
| ? LocalizedString.fromJson( |
| json_['customDiscountMessageLabel'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| customFareClassLabel: json_.containsKey('customFareClassLabel') |
| ? LocalizedString.fromJson( |
| json_['customFareClassLabel'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| customFareNameLabel: json_.containsKey('customFareNameLabel') |
| ? LocalizedString.fromJson( |
| json_['customFareNameLabel'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| customOtherRestrictionsLabel: |
| json_.containsKey('customOtherRestrictionsLabel') |
| ? LocalizedString.fromJson( |
| json_['customOtherRestrictionsLabel'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| customPlatformLabel: json_.containsKey('customPlatformLabel') |
| ? LocalizedString.fromJson( |
| json_['customPlatformLabel'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| customPurchaseFaceValueLabel: |
| json_.containsKey('customPurchaseFaceValueLabel') |
| ? LocalizedString.fromJson( |
| json_['customPurchaseFaceValueLabel'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| customPurchasePriceLabel: json_.containsKey('customPurchasePriceLabel') |
| ? LocalizedString.fromJson( |
| json_['customPurchasePriceLabel'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| customPurchaseReceiptNumberLabel: |
| json_.containsKey('customPurchaseReceiptNumberLabel') |
| ? LocalizedString.fromJson( |
| json_['customPurchaseReceiptNumberLabel'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| customRouteRestrictionsDetailsLabel: |
| json_.containsKey('customRouteRestrictionsDetailsLabel') |
| ? LocalizedString.fromJson( |
| json_['customRouteRestrictionsDetailsLabel'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| customRouteRestrictionsLabel: |
| json_.containsKey('customRouteRestrictionsLabel') |
| ? LocalizedString.fromJson( |
| json_['customRouteRestrictionsLabel'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| customSeatLabel: json_.containsKey('customSeatLabel') |
| ? LocalizedString.fromJson( |
| json_['customSeatLabel'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| customTicketNumberLabel: json_.containsKey('customTicketNumberLabel') |
| ? LocalizedString.fromJson( |
| json_['customTicketNumberLabel'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| customTimeRestrictionsLabel: |
| json_.containsKey('customTimeRestrictionsLabel') |
| ? LocalizedString.fromJson( |
| json_['customTimeRestrictionsLabel'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| customTransitTerminusNameLabel: |
| json_.containsKey('customTransitTerminusNameLabel') |
| ? LocalizedString.fromJson( |
| json_['customTransitTerminusNameLabel'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| customZoneLabel: json_.containsKey('customZoneLabel') |
| ? LocalizedString.fromJson( |
| json_['customZoneLabel'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| enableSingleLegItinerary: |
| json_['enableSingleLegItinerary'] as core.bool?, |
| enableSmartTap: json_['enableSmartTap'] as core.bool?, |
| heroImage: json_.containsKey('heroImage') |
| ? Image.fromJson( |
| json_['heroImage'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| hexBackgroundColor: json_['hexBackgroundColor'] as core.String?, |
| homepageUri: json_.containsKey('homepageUri') |
| ? Uri.fromJson( |
| json_['homepageUri'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| id: json_['id'] as core.String?, |
| imageModulesData: (json_['imageModulesData'] as core.List?) |
| ?.map( |
| (value) => ImageModuleData.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| infoModuleData: json_.containsKey('infoModuleData') |
| ? InfoModuleData.fromJson( |
| json_['infoModuleData'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| issuerName: json_['issuerName'] as core.String?, |
| languageOverride: json_['languageOverride'] as core.String?, |
| linksModuleData: json_.containsKey('linksModuleData') |
| ? LinksModuleData.fromJson( |
| json_['linksModuleData'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| localizedIssuerName: json_.containsKey('localizedIssuerName') |
| ? LocalizedString.fromJson( |
| json_['localizedIssuerName'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| locations: (json_['locations'] as core.List?) |
| ?.map( |
| (value) => LatLongPoint.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| logo: json_.containsKey('logo') |
| ? Image.fromJson( |
| json_['logo'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| merchantLocations: (json_['merchantLocations'] as core.List?) |
| ?.map( |
| (value) => MerchantLocation.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| messages: (json_['messages'] as core.List?) |
| ?.map( |
| (value) => Message.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| multipleDevicesAndHoldersAllowedStatus: |
| json_['multipleDevicesAndHoldersAllowedStatus'] as core.String?, |
| notifyPreference: json_['notifyPreference'] as core.String?, |
| redemptionIssuers: (json_['redemptionIssuers'] as core.List?) |
| ?.map((value) => value as core.String) |
| .toList(), |
| review: json_.containsKey('review') |
| ? Review.fromJson( |
| json_['review'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| reviewStatus: json_['reviewStatus'] as core.String?, |
| securityAnimation: json_.containsKey('securityAnimation') |
| ? SecurityAnimation.fromJson( |
| json_['securityAnimation'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| textModulesData: (json_['textModulesData'] as core.List?) |
| ?.map( |
| (value) => TextModuleData.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| transitOperatorName: json_.containsKey('transitOperatorName') |
| ? LocalizedString.fromJson( |
| json_['transitOperatorName'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| transitType: json_['transitType'] as core.String?, |
| valueAddedModuleData: (json_['valueAddedModuleData'] as core.List?) |
| ?.map( |
| (value) => ValueAddedModuleData.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| version: json_['version'] as core.String?, |
| viewUnlockRequirement: json_['viewUnlockRequirement'] as core.String?, |
| watermark: json_.containsKey('watermark') |
| ? Image.fromJson( |
| json_['watermark'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| wideLogo: json_.containsKey('wideLogo') |
| ? Image.fromJson( |
| json_['wideLogo'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| wordMark: json_.containsKey('wordMark') |
| ? Image.fromJson( |
| json_['wordMark'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final activationOptions = this.activationOptions; |
| final allowMultipleUsersPerObject = this.allowMultipleUsersPerObject; |
| final appLinkData = this.appLinkData; |
| final callbackOptions = this.callbackOptions; |
| final classTemplateInfo = this.classTemplateInfo; |
| final countryCode = this.countryCode; |
| final customCarriageLabel = this.customCarriageLabel; |
| final customCoachLabel = this.customCoachLabel; |
| final customConcessionCategoryLabel = this.customConcessionCategoryLabel; |
| final customConfirmationCodeLabel = this.customConfirmationCodeLabel; |
| final customDiscountMessageLabel = this.customDiscountMessageLabel; |
| final customFareClassLabel = this.customFareClassLabel; |
| final customFareNameLabel = this.customFareNameLabel; |
| final customOtherRestrictionsLabel = this.customOtherRestrictionsLabel; |
| final customPlatformLabel = this.customPlatformLabel; |
| final customPurchaseFaceValueLabel = this.customPurchaseFaceValueLabel; |
| final customPurchasePriceLabel = this.customPurchasePriceLabel; |
| final customPurchaseReceiptNumberLabel = |
| this.customPurchaseReceiptNumberLabel; |
| final customRouteRestrictionsDetailsLabel = |
| this.customRouteRestrictionsDetailsLabel; |
| final customRouteRestrictionsLabel = this.customRouteRestrictionsLabel; |
| final customSeatLabel = this.customSeatLabel; |
| final customTicketNumberLabel = this.customTicketNumberLabel; |
| final customTimeRestrictionsLabel = this.customTimeRestrictionsLabel; |
| final customTransitTerminusNameLabel = this.customTransitTerminusNameLabel; |
| final customZoneLabel = this.customZoneLabel; |
| final enableSingleLegItinerary = this.enableSingleLegItinerary; |
| final enableSmartTap = this.enableSmartTap; |
| final heroImage = this.heroImage; |
| final hexBackgroundColor = this.hexBackgroundColor; |
| final homepageUri = this.homepageUri; |
| final id = this.id; |
| final imageModulesData = this.imageModulesData; |
| final infoModuleData = this.infoModuleData; |
| final issuerName = this.issuerName; |
| final languageOverride = this.languageOverride; |
| final linksModuleData = this.linksModuleData; |
| final localizedIssuerName = this.localizedIssuerName; |
| final locations = this.locations; |
| final logo = this.logo; |
| final merchantLocations = this.merchantLocations; |
| final messages = this.messages; |
| final multipleDevicesAndHoldersAllowedStatus = |
| this.multipleDevicesAndHoldersAllowedStatus; |
| final notifyPreference = this.notifyPreference; |
| final redemptionIssuers = this.redemptionIssuers; |
| final review = this.review; |
| final reviewStatus = this.reviewStatus; |
| final securityAnimation = this.securityAnimation; |
| final textModulesData = this.textModulesData; |
| final transitOperatorName = this.transitOperatorName; |
| final transitType = this.transitType; |
| final valueAddedModuleData = this.valueAddedModuleData; |
| final version = this.version; |
| final viewUnlockRequirement = this.viewUnlockRequirement; |
| final watermark = this.watermark; |
| final wideLogo = this.wideLogo; |
| final wordMark = this.wordMark; |
| return { |
| 'activationOptions': ?activationOptions, |
| 'allowMultipleUsersPerObject': ?allowMultipleUsersPerObject, |
| 'appLinkData': ?appLinkData, |
| 'callbackOptions': ?callbackOptions, |
| 'classTemplateInfo': ?classTemplateInfo, |
| 'countryCode': ?countryCode, |
| 'customCarriageLabel': ?customCarriageLabel, |
| 'customCoachLabel': ?customCoachLabel, |
| 'customConcessionCategoryLabel': ?customConcessionCategoryLabel, |
| 'customConfirmationCodeLabel': ?customConfirmationCodeLabel, |
| 'customDiscountMessageLabel': ?customDiscountMessageLabel, |
| 'customFareClassLabel': ?customFareClassLabel, |
| 'customFareNameLabel': ?customFareNameLabel, |
| 'customOtherRestrictionsLabel': ?customOtherRestrictionsLabel, |
| 'customPlatformLabel': ?customPlatformLabel, |
| 'customPurchaseFaceValueLabel': ?customPurchaseFaceValueLabel, |
| 'customPurchasePriceLabel': ?customPurchasePriceLabel, |
| 'customPurchaseReceiptNumberLabel': ?customPurchaseReceiptNumberLabel, |
| 'customRouteRestrictionsDetailsLabel': |
| ?customRouteRestrictionsDetailsLabel, |
| 'customRouteRestrictionsLabel': ?customRouteRestrictionsLabel, |
| 'customSeatLabel': ?customSeatLabel, |
| 'customTicketNumberLabel': ?customTicketNumberLabel, |
| 'customTimeRestrictionsLabel': ?customTimeRestrictionsLabel, |
| 'customTransitTerminusNameLabel': ?customTransitTerminusNameLabel, |
| 'customZoneLabel': ?customZoneLabel, |
| 'enableSingleLegItinerary': ?enableSingleLegItinerary, |
| 'enableSmartTap': ?enableSmartTap, |
| 'heroImage': ?heroImage, |
| 'hexBackgroundColor': ?hexBackgroundColor, |
| 'homepageUri': ?homepageUri, |
| 'id': ?id, |
| 'imageModulesData': ?imageModulesData, |
| 'infoModuleData': ?infoModuleData, |
| 'issuerName': ?issuerName, |
| 'languageOverride': ?languageOverride, |
| 'linksModuleData': ?linksModuleData, |
| 'localizedIssuerName': ?localizedIssuerName, |
| 'locations': ?locations, |
| 'logo': ?logo, |
| 'merchantLocations': ?merchantLocations, |
| 'messages': ?messages, |
| 'multipleDevicesAndHoldersAllowedStatus': |
| ?multipleDevicesAndHoldersAllowedStatus, |
| 'notifyPreference': ?notifyPreference, |
| 'redemptionIssuers': ?redemptionIssuers, |
| 'review': ?review, |
| 'reviewStatus': ?reviewStatus, |
| 'securityAnimation': ?securityAnimation, |
| 'textModulesData': ?textModulesData, |
| 'transitOperatorName': ?transitOperatorName, |
| 'transitType': ?transitType, |
| 'valueAddedModuleData': ?valueAddedModuleData, |
| 'version': ?version, |
| 'viewUnlockRequirement': ?viewUnlockRequirement, |
| 'watermark': ?watermark, |
| 'wideLogo': ?wideLogo, |
| 'wordMark': ?wordMark, |
| }; |
| } |
| } |
| |
| class TransitClassAddMessageResponse { |
| /// The updated TransitClass resource. |
| TransitClass? resource; |
| |
| TransitClassAddMessageResponse({this.resource}); |
| |
| TransitClassAddMessageResponse.fromJson(core.Map json_) |
| : this( |
| resource: json_.containsKey('resource') |
| ? TransitClass.fromJson( |
| json_['resource'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final resource = this.resource; |
| return {'resource': ?resource}; |
| } |
| } |
| |
| class TransitClassListResponse { |
| /// Pagination of the response. |
| Pagination? pagination; |
| |
| /// Resources corresponding to the list request. |
| core.List<TransitClass>? resources; |
| |
| TransitClassListResponse({this.pagination, this.resources}); |
| |
| TransitClassListResponse.fromJson(core.Map json_) |
| : this( |
| pagination: json_.containsKey('pagination') |
| ? Pagination.fromJson( |
| json_['pagination'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| resources: (json_['resources'] as core.List?) |
| ?.map( |
| (value) => TransitClass.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final pagination = this.pagination; |
| final resources = this.resources; |
| return {'pagination': ?pagination, 'resources': ?resources}; |
| } |
| } |
| |
| class TransitObject { |
| /// The activation status for the object. |
| /// |
| /// Required if the class has `activationOptions` set. |
| ActivationStatus? activationStatus; |
| |
| /// 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. |
| AppLinkData? appLinkData; |
| |
| /// The barcode type and value. |
| Barcode? barcode; |
| |
| /// 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. |
| /// |
| /// Required. |
| core.String? classId; |
| |
| /// A copy of the inherited fields of the parent class. |
| /// |
| /// These fields are retrieved during a GET. |
| TransitClass? classReference; |
| |
| /// The concession category for the ticket. |
| /// Possible string values are: |
| /// - "CONCESSION_CATEGORY_UNSPECIFIED" |
| /// - "ADULT" |
| /// - "adult" : Legacy alias for `ADULT`. Deprecated. |
| /// - "CHILD" |
| /// - "child" : Legacy alias for `CHILD`. Deprecated. |
| /// - "SENIOR" |
| /// - "senior" : Legacy alias for `SENIOR`. Deprecated. |
| core.String? concessionCategory; |
| |
| /// A custom concession category to use when `concessionCategory` does not |
| /// provide the right option. |
| /// |
| /// Both `concessionCategory` and `customConcessionCategory` may not be set. |
| LocalizedString? customConcessionCategory; |
| |
| /// 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. |
| LocalizedString? customTicketStatus; |
| |
| /// Device context associated with the object. |
| DeviceContext? deviceContext; |
| |
| /// 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. |
| core.bool? disableExpirationNotification; |
| |
| /// Information that controls how passes are grouped together. |
| GroupingInfo? groupingInfo; |
| |
| /// 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. |
| core.bool? hasLinkedDevice; |
| |
| /// Indicates if the object has users. |
| /// |
| /// This field is set by the platform. |
| core.bool? hasUsers; |
| |
| /// 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. |
| Image? heroImage; |
| |
| /// 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`. |
| core.String? hexBackgroundColor; |
| |
| /// 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 '-'. |
| /// |
| /// Required. |
| core.String? id; |
| |
| /// Image module data. |
| /// |
| /// The maximum number of these fields displayed is 1 from object level and 1 |
| /// for class object level. |
| core.List<ImageModuleData>? imageModulesData; |
| |
| /// Use textModulesData instead. |
| /// |
| /// Deprecated. |
| InfoModuleData? infoModuleData; |
| |
| /// 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. |
| core.List<core.String>? linkedObjectIds; |
| |
| /// Links module data. |
| /// |
| /// If links module data is also defined on the class, both will be displayed. |
| LinksModuleData? linksModuleData; |
| |
| /// Note: This field is currently not supported to trigger geo notifications. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.List<LatLongPoint>? locations; |
| |
| /// 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. |
| core.List<MerchantLocation>? merchantLocations; |
| |
| /// 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. |
| core.List<Message>? messages; |
| |
| /// 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. |
| /// Possible string values are: |
| /// - "NOTIFICATION_SETTINGS_FOR_UPDATES_UNSPECIFIED" : Default behavior is no |
| /// notifications sent. |
| /// - "NOTIFY_ON_UPDATE" : This value will result in a notification being |
| /// sent, if the updated fields are part of an allowlist. |
| core.String? notifyPreference; |
| |
| /// Pass constraints for the object. |
| /// |
| /// Includes limiting NFC and screenshot behaviors. |
| PassConstraints? passConstraints; |
| |
| /// The name(s) of the passengers the ticket is assigned to. |
| /// |
| /// The above `passengerType` field is meant to give Google context on this |
| /// field. |
| core.String? passengerNames; |
| |
| /// The number of passengers. |
| /// Possible string values are: |
| /// - "PASSENGER_TYPE_UNSPECIFIED" |
| /// - "SINGLE_PASSENGER" |
| /// - "singlePassenger" : Legacy alias for `SINGLE_PASSENGER`. Deprecated. |
| /// - "MULTIPLE_PASSENGERS" |
| /// - "multiplePassengers" : Legacy alias for `MULTIPLE_PASSENGERS`. |
| /// Deprecated. |
| core.String? passengerType; |
| |
| /// Purchase details for this ticket. |
| PurchaseDetails? purchaseDetails; |
| |
| /// The rotating barcode type and value. |
| RotatingBarcode? rotatingBarcode; |
| |
| /// 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. |
| SaveRestrictions? saveRestrictions; |
| |
| /// 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. |
| core.String? smartTapRedemptionValue; |
| |
| /// 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. |
| /// |
| /// Required. |
| /// Possible string values are: |
| /// - "STATE_UNSPECIFIED" : Default value. |
| /// - "ACTIVE" : Object is active and displayed to with other active objects. |
| /// - "active" : Legacy alias for `ACTIVE`. Deprecated. |
| /// - "COMPLETED" : Object has completed it's lifecycle. |
| /// - "completed" : Legacy alias for `COMPLETED`. Deprecated. |
| /// - "EXPIRED" : Object is no longer valid (`validTimeInterval` passed). |
| /// - "expired" : Legacy alias for `EXPIRED`. Deprecated. |
| /// - "INACTIVE" : Object is no longer valid |
| /// - "inactive" : Legacy alias for `INACTIVE`. Deprecated. |
| core.String? state; |
| |
| /// 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. |
| core.List<TextModuleData>? textModulesData; |
| |
| /// 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. |
| TicketLeg? ticketLeg; |
| |
| /// 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. |
| core.List<TicketLeg>? ticketLegs; |
| |
| /// The number of the ticket. |
| /// |
| /// This is a unique identifier for the ticket in the transit operator's |
| /// system. |
| core.String? ticketNumber; |
| |
| /// 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. |
| TicketRestrictions? ticketRestrictions; |
| |
| /// The status of the ticket. |
| /// |
| /// For states which affect display, use the `state` field instead. |
| /// Possible string values are: |
| /// - "TICKET_STATUS_UNSPECIFIED" |
| /// - "USED" |
| /// - "used" : Legacy alias for `USED`. Deprecated. |
| /// - "REFUNDED" |
| /// - "refunded" : Legacy alias for `REFUNDED`. Deprecated. |
| /// - "EXCHANGED" |
| /// - "exchanged" : Legacy alias for `EXCHANGED`. Deprecated. |
| core.String? ticketStatus; |
| |
| /// This id is used to group tickets together if the user has saved multiple |
| /// tickets for the same trip. |
| core.String? tripId; |
| |
| /// 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. |
| /// |
| /// Required. |
| /// Possible string values are: |
| /// - "TRIP_TYPE_UNSPECIFIED" |
| /// - "ROUND_TRIP" |
| /// - "roundTrip" : Legacy alias for `ROUND_TRIP`. Deprecated. |
| /// - "ONE_WAY" |
| /// - "oneWay" : Legacy alias for `ONE_WAY`. Deprecated. |
| core.String? tripType; |
| |
| /// 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. |
| TimeInterval? validTimeInterval; |
| |
| /// Optional value added module data. |
| /// |
| /// Maximum of fifteen on the object. For a pass only fifteen will be |
| /// displayed. |
| core.List<ValueAddedModuleData>? valueAddedModuleData; |
| |
| /// Deprecated |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.String? version; |
| |
| TransitObject({ |
| this.activationStatus, |
| this.appLinkData, |
| this.barcode, |
| this.classId, |
| this.classReference, |
| this.concessionCategory, |
| this.customConcessionCategory, |
| this.customTicketStatus, |
| this.deviceContext, |
| this.disableExpirationNotification, |
| this.groupingInfo, |
| this.hasLinkedDevice, |
| this.hasUsers, |
| this.heroImage, |
| this.hexBackgroundColor, |
| this.id, |
| this.imageModulesData, |
| this.infoModuleData, |
| this.linkedObjectIds, |
| this.linksModuleData, |
| this.locations, |
| this.merchantLocations, |
| this.messages, |
| this.notifyPreference, |
| this.passConstraints, |
| this.passengerNames, |
| this.passengerType, |
| this.purchaseDetails, |
| this.rotatingBarcode, |
| this.saveRestrictions, |
| this.smartTapRedemptionValue, |
| this.state, |
| this.textModulesData, |
| this.ticketLeg, |
| this.ticketLegs, |
| this.ticketNumber, |
| this.ticketRestrictions, |
| this.ticketStatus, |
| this.tripId, |
| this.tripType, |
| this.validTimeInterval, |
| this.valueAddedModuleData, |
| this.version, |
| }); |
| |
| TransitObject.fromJson(core.Map json_) |
| : this( |
| activationStatus: json_.containsKey('activationStatus') |
| ? ActivationStatus.fromJson( |
| json_['activationStatus'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| appLinkData: json_.containsKey('appLinkData') |
| ? AppLinkData.fromJson( |
| json_['appLinkData'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| barcode: json_.containsKey('barcode') |
| ? Barcode.fromJson( |
| json_['barcode'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| classId: json_['classId'] as core.String?, |
| classReference: json_.containsKey('classReference') |
| ? TransitClass.fromJson( |
| json_['classReference'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| concessionCategory: json_['concessionCategory'] as core.String?, |
| customConcessionCategory: json_.containsKey('customConcessionCategory') |
| ? LocalizedString.fromJson( |
| json_['customConcessionCategory'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| customTicketStatus: json_.containsKey('customTicketStatus') |
| ? LocalizedString.fromJson( |
| json_['customTicketStatus'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| deviceContext: json_.containsKey('deviceContext') |
| ? DeviceContext.fromJson( |
| json_['deviceContext'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| disableExpirationNotification: |
| json_['disableExpirationNotification'] as core.bool?, |
| groupingInfo: json_.containsKey('groupingInfo') |
| ? GroupingInfo.fromJson( |
| json_['groupingInfo'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| hasLinkedDevice: json_['hasLinkedDevice'] as core.bool?, |
| hasUsers: json_['hasUsers'] as core.bool?, |
| heroImage: json_.containsKey('heroImage') |
| ? Image.fromJson( |
| json_['heroImage'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| hexBackgroundColor: json_['hexBackgroundColor'] as core.String?, |
| id: json_['id'] as core.String?, |
| imageModulesData: (json_['imageModulesData'] as core.List?) |
| ?.map( |
| (value) => ImageModuleData.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| infoModuleData: json_.containsKey('infoModuleData') |
| ? InfoModuleData.fromJson( |
| json_['infoModuleData'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| linkedObjectIds: (json_['linkedObjectIds'] as core.List?) |
| ?.map((value) => value as core.String) |
| .toList(), |
| linksModuleData: json_.containsKey('linksModuleData') |
| ? LinksModuleData.fromJson( |
| json_['linksModuleData'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| locations: (json_['locations'] as core.List?) |
| ?.map( |
| (value) => LatLongPoint.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| merchantLocations: (json_['merchantLocations'] as core.List?) |
| ?.map( |
| (value) => MerchantLocation.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| messages: (json_['messages'] as core.List?) |
| ?.map( |
| (value) => Message.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| notifyPreference: json_['notifyPreference'] as core.String?, |
| passConstraints: json_.containsKey('passConstraints') |
| ? PassConstraints.fromJson( |
| json_['passConstraints'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| passengerNames: json_['passengerNames'] as core.String?, |
| passengerType: json_['passengerType'] as core.String?, |
| purchaseDetails: json_.containsKey('purchaseDetails') |
| ? PurchaseDetails.fromJson( |
| json_['purchaseDetails'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| rotatingBarcode: json_.containsKey('rotatingBarcode') |
| ? RotatingBarcode.fromJson( |
| json_['rotatingBarcode'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| saveRestrictions: json_.containsKey('saveRestrictions') |
| ? SaveRestrictions.fromJson( |
| json_['saveRestrictions'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| smartTapRedemptionValue: |
| json_['smartTapRedemptionValue'] as core.String?, |
| state: json_['state'] as core.String?, |
| textModulesData: (json_['textModulesData'] as core.List?) |
| ?.map( |
| (value) => TextModuleData.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| ticketLeg: json_.containsKey('ticketLeg') |
| ? TicketLeg.fromJson( |
| json_['ticketLeg'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ticketLegs: (json_['ticketLegs'] as core.List?) |
| ?.map( |
| (value) => TicketLeg.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| ticketNumber: json_['ticketNumber'] as core.String?, |
| ticketRestrictions: json_.containsKey('ticketRestrictions') |
| ? TicketRestrictions.fromJson( |
| json_['ticketRestrictions'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ticketStatus: json_['ticketStatus'] as core.String?, |
| tripId: json_['tripId'] as core.String?, |
| tripType: json_['tripType'] as core.String?, |
| validTimeInterval: json_.containsKey('validTimeInterval') |
| ? TimeInterval.fromJson( |
| json_['validTimeInterval'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| valueAddedModuleData: (json_['valueAddedModuleData'] as core.List?) |
| ?.map( |
| (value) => ValueAddedModuleData.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| version: json_['version'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final activationStatus = this.activationStatus; |
| final appLinkData = this.appLinkData; |
| final barcode = this.barcode; |
| final classId = this.classId; |
| final classReference = this.classReference; |
| final concessionCategory = this.concessionCategory; |
| final customConcessionCategory = this.customConcessionCategory; |
| final customTicketStatus = this.customTicketStatus; |
| final deviceContext = this.deviceContext; |
| final disableExpirationNotification = this.disableExpirationNotification; |
| final groupingInfo = this.groupingInfo; |
| final hasLinkedDevice = this.hasLinkedDevice; |
| final hasUsers = this.hasUsers; |
| final heroImage = this.heroImage; |
| final hexBackgroundColor = this.hexBackgroundColor; |
| final id = this.id; |
| final imageModulesData = this.imageModulesData; |
| final infoModuleData = this.infoModuleData; |
| final linkedObjectIds = this.linkedObjectIds; |
| final linksModuleData = this.linksModuleData; |
| final locations = this.locations; |
| final merchantLocations = this.merchantLocations; |
| final messages = this.messages; |
| final notifyPreference = this.notifyPreference; |
| final passConstraints = this.passConstraints; |
| final passengerNames = this.passengerNames; |
| final passengerType = this.passengerType; |
| final purchaseDetails = this.purchaseDetails; |
| final rotatingBarcode = this.rotatingBarcode; |
| final saveRestrictions = this.saveRestrictions; |
| final smartTapRedemptionValue = this.smartTapRedemptionValue; |
| final state = this.state; |
| final textModulesData = this.textModulesData; |
| final ticketLeg = this.ticketLeg; |
| final ticketLegs = this.ticketLegs; |
| final ticketNumber = this.ticketNumber; |
| final ticketRestrictions = this.ticketRestrictions; |
| final ticketStatus = this.ticketStatus; |
| final tripId = this.tripId; |
| final tripType = this.tripType; |
| final validTimeInterval = this.validTimeInterval; |
| final valueAddedModuleData = this.valueAddedModuleData; |
| final version = this.version; |
| return { |
| 'activationStatus': ?activationStatus, |
| 'appLinkData': ?appLinkData, |
| 'barcode': ?barcode, |
| 'classId': ?classId, |
| 'classReference': ?classReference, |
| 'concessionCategory': ?concessionCategory, |
| 'customConcessionCategory': ?customConcessionCategory, |
| 'customTicketStatus': ?customTicketStatus, |
| 'deviceContext': ?deviceContext, |
| 'disableExpirationNotification': ?disableExpirationNotification, |
| 'groupingInfo': ?groupingInfo, |
| 'hasLinkedDevice': ?hasLinkedDevice, |
| 'hasUsers': ?hasUsers, |
| 'heroImage': ?heroImage, |
| 'hexBackgroundColor': ?hexBackgroundColor, |
| 'id': ?id, |
| 'imageModulesData': ?imageModulesData, |
| 'infoModuleData': ?infoModuleData, |
| 'linkedObjectIds': ?linkedObjectIds, |
| 'linksModuleData': ?linksModuleData, |
| 'locations': ?locations, |
| 'merchantLocations': ?merchantLocations, |
| 'messages': ?messages, |
| 'notifyPreference': ?notifyPreference, |
| 'passConstraints': ?passConstraints, |
| 'passengerNames': ?passengerNames, |
| 'passengerType': ?passengerType, |
| 'purchaseDetails': ?purchaseDetails, |
| 'rotatingBarcode': ?rotatingBarcode, |
| 'saveRestrictions': ?saveRestrictions, |
| 'smartTapRedemptionValue': ?smartTapRedemptionValue, |
| 'state': ?state, |
| 'textModulesData': ?textModulesData, |
| 'ticketLeg': ?ticketLeg, |
| 'ticketLegs': ?ticketLegs, |
| 'ticketNumber': ?ticketNumber, |
| 'ticketRestrictions': ?ticketRestrictions, |
| 'ticketStatus': ?ticketStatus, |
| 'tripId': ?tripId, |
| 'tripType': ?tripType, |
| 'validTimeInterval': ?validTimeInterval, |
| 'valueAddedModuleData': ?valueAddedModuleData, |
| 'version': ?version, |
| }; |
| } |
| } |
| |
| class TransitObjectAddMessageResponse { |
| /// The updated TransitObject resource. |
| TransitObject? resource; |
| |
| TransitObjectAddMessageResponse({this.resource}); |
| |
| TransitObjectAddMessageResponse.fromJson(core.Map json_) |
| : this( |
| resource: json_.containsKey('resource') |
| ? TransitObject.fromJson( |
| json_['resource'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final resource = this.resource; |
| return {'resource': ?resource}; |
| } |
| } |
| |
| class TransitObjectListResponse { |
| /// Pagination of the response. |
| Pagination? pagination; |
| |
| /// Resources corresponding to the list request. |
| core.List<TransitObject>? resources; |
| |
| TransitObjectListResponse({this.pagination, this.resources}); |
| |
| TransitObjectListResponse.fromJson(core.Map json_) |
| : this( |
| pagination: json_.containsKey('pagination') |
| ? Pagination.fromJson( |
| json_['pagination'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| resources: (json_['resources'] as core.List?) |
| ?.map( |
| (value) => TransitObject.fromJson( |
| value as core.Map<core.String, core.dynamic>, |
| ), |
| ) |
| .toList(), |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final pagination = this.pagination; |
| final resources = this.resources; |
| return {'pagination': ?pagination, 'resources': ?resources}; |
| } |
| } |
| |
| /// Request to upload rotating barcode values. |
| class TransitObjectUploadRotatingBarcodeValuesRequest { |
| /// A reference to the rotating barcode values payload that was uploaded. |
| Media? blob; |
| |
| /// Extra information about the uploaded media. |
| MediaRequestInfo? mediaRequestInfo; |
| |
| TransitObjectUploadRotatingBarcodeValuesRequest({ |
| this.blob, |
| this.mediaRequestInfo, |
| }); |
| |
| TransitObjectUploadRotatingBarcodeValuesRequest.fromJson(core.Map json_) |
| : this( |
| blob: json_.containsKey('blob') |
| ? Media.fromJson( |
| json_['blob'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| mediaRequestInfo: json_.containsKey('mediaRequestInfo') |
| ? MediaRequestInfo.fromJson( |
| json_['mediaRequestInfo'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final blob = this.blob; |
| final mediaRequestInfo = this.mediaRequestInfo; |
| return {'blob': ?blob, 'mediaRequestInfo': ?mediaRequestInfo}; |
| } |
| } |
| |
| /// Response for uploading rotating barcode values. |
| typedef TransitObjectUploadRotatingBarcodeValuesResponse = $Empty; |
| |
| class TranslatedString { |
| /// Identifies what kind of resource this is. |
| /// |
| /// Value: the fixed string `"walletobjects#translatedString"`. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.String? kind; |
| |
| /// Represents the BCP 47 language tag. |
| /// |
| /// Example values are "en-US", "en-GB", "de", or "de-AT". |
| core.String? language; |
| |
| /// The UTF-8 encoded translated string. |
| core.String? value; |
| |
| TranslatedString({this.kind, this.language, this.value}); |
| |
| TranslatedString.fromJson(core.Map json_) |
| : this( |
| kind: json_['kind'] as core.String?, |
| language: json_['language'] as core.String?, |
| value: json_['value'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final kind = this.kind; |
| final language = this.language; |
| final value = this.value; |
| return {'kind': ?kind, 'language': ?language, 'value': ?value}; |
| } |
| } |
| |
| /// Indicates that the issuer would like Google Wallet to send an upcoming card |
| /// validity notification 1 day before card becomes valid/usable. |
| class UpcomingNotification { |
| /// Indicates if the object needs to have upcoming notification enabled. |
| core.bool? enableNotification; |
| |
| UpcomingNotification({this.enableNotification}); |
| |
| UpcomingNotification.fromJson(core.Map json_) |
| : this(enableNotification: json_['enableNotification'] as core.bool?); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final enableNotification = this.enableNotification; |
| return {'enableNotification': ?enableNotification}; |
| } |
| } |
| |
| class Uri { |
| /// 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. |
| core.String? description; |
| |
| /// The ID associated with a uri. |
| /// |
| /// This field is here to enable ease of management of uris. |
| core.String? id; |
| |
| /// Identifies what kind of resource this is. |
| /// |
| /// Value: the fixed string `"walletobjects#uri"`. |
| @core.Deprecated( |
| 'Not supported. Member documentation may have more information.', |
| ) |
| core.String? kind; |
| |
| /// Translated strings for the description. |
| /// |
| /// Recommended maximum is 20 characters to ensure full string is displayed on |
| /// smaller screens. |
| LocalizedString? localizedDescription; |
| |
| /// 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. |
| core.String? uri; |
| |
| Uri({ |
| this.description, |
| this.id, |
| this.kind, |
| this.localizedDescription, |
| this.uri, |
| }); |
| |
| Uri.fromJson(core.Map json_) |
| : this( |
| description: json_['description'] as core.String?, |
| id: json_['id'] as core.String?, |
| kind: json_['kind'] as core.String?, |
| localizedDescription: json_.containsKey('localizedDescription') |
| ? LocalizedString.fromJson( |
| json_['localizedDescription'] |
| as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| uri: json_['uri'] as core.String?, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final description = this.description; |
| final id = this.id; |
| final kind = this.kind; |
| final localizedDescription = this.localizedDescription; |
| final uri = this.uri; |
| return { |
| 'description': ?description, |
| 'id': ?id, |
| 'kind': ?kind, |
| 'localizedDescription': ?localizedDescription, |
| 'uri': ?uri, |
| }; |
| } |
| } |
| |
| /// Data for Value Added module. |
| /// |
| /// Required fields are header and uri. |
| class ValueAddedModuleData { |
| /// Body to be displayed on the module. |
| /// |
| /// Character limit is 50 and longer strings will be truncated. |
| LocalizedString? body; |
| |
| /// Header to be displayed on the module. |
| /// |
| /// Character limit is 60 and longer strings will be truncated. |
| LocalizedString? header; |
| |
| /// Image to be displayed on the module. |
| /// |
| /// Recommended image ratio is 1:1. Images will be resized to fit this ratio. |
| Image? image; |
| |
| /// 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. |
| core.int? sortIndex; |
| |
| /// 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. |
| core.String? uri; |
| |
| /// Constraints that all must be met for the module to be shown. |
| ModuleViewConstraints? viewConstraints; |
| |
| ValueAddedModuleData({ |
| this.body, |
| this.header, |
| this.image, |
| this.sortIndex, |
| this.uri, |
| this.viewConstraints, |
| }); |
| |
| ValueAddedModuleData.fromJson(core.Map json_) |
| : this( |
| body: json_.containsKey('body') |
| ? LocalizedString.fromJson( |
| json_['body'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| header: json_.containsKey('header') |
| ? LocalizedString.fromJson( |
| json_['header'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| image: json_.containsKey('image') |
| ? Image.fromJson( |
| json_['image'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| sortIndex: json_['sortIndex'] as core.int?, |
| uri: json_['uri'] as core.String?, |
| viewConstraints: json_.containsKey('viewConstraints') |
| ? ModuleViewConstraints.fromJson( |
| json_['viewConstraints'] as core.Map<core.String, core.dynamic>, |
| ) |
| : null, |
| ); |
| |
| core.Map<core.String, core.dynamic> toJson() { |
| final body = this.body; |
| final header = this.header; |
| final image = this.image; |
| final sortIndex = this.sortIndex; |
| final uri = this.uri; |
| final viewConstraints = this.viewConstraints; |
| return { |
| 'body': ?body, |
| 'header': ?header, |
| 'image': ?image, |
| 'sortIndex': ?sortIndex, |
| 'uri': ?uri, |
| 'viewConstraints': ?viewConstraints, |
| }; |
| } |
| } |