Class: Google::Apis::WalletobjectsV1::LoyaltyObject

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/walletobjects_v1/classes.rb,
lib/google/apis/walletobjects_v1/representations.rb,
lib/google/apis/walletobjects_v1/representations.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ LoyaltyObject

Returns a new instance of LoyaltyObject.



5571
5572
5573
# File 'lib/google/apis/walletobjects_v1/classes.rb', line 5571

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#account_idString

The loyalty account identifier. Recommended maximum length is 20 characters. Corresponds to the JSON property accountId

Returns:

  • (String)


5349
5350
5351
# File 'lib/google/apis/walletobjects_v1/classes.rb', line 5349

def 
  @account_id
end

#account_nameString

The loyalty account holder name, such as "John Smith." Recommended maximum length is 20 characters to ensure full string is displayed on smaller screens. Corresponds to the JSON property accountName

Returns:

  • (String)


5355
5356
5357
# File 'lib/google/apis/walletobjects_v1/classes.rb', line 5355

def 
  @account_name
end

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. Corresponds to the JSON property appLinkData



5362
5363
5364
# File 'lib/google/apis/walletobjects_v1/classes.rb', line 5362

def app_link_data
  @app_link_data
end

#barcodeGoogle::Apis::WalletobjectsV1::Barcode

The barcode type and value. Corresponds to the JSON property barcode



5367
5368
5369
# File 'lib/google/apis/walletobjects_v1/classes.rb', line 5367

def barcode
  @barcode
end

#class_idString

Required. The class associated with this object. The class must be of the same type as this object, must already exist, and must be approved. Class IDs should follow the format issuer ID.identifier where the former is issued by Google and latter is chosen by you. Corresponds to the JSON property classId

Returns:

  • (String)


5375
5376
5377
# File 'lib/google/apis/walletobjects_v1/classes.rb', line 5375

def class_id
  @class_id
end

#class_referenceGoogle::Apis::WalletobjectsV1::LoyaltyClass

A copy of the inherited fields of the parent class. These fields are retrieved during a GET. Corresponds to the JSON property classReference



5381
5382
5383
# File 'lib/google/apis/walletobjects_v1/classes.rb', line 5381

def class_reference
  @class_reference
end

#disable_expiration_notificationBoolean Also known as: disable_expiration_notification?

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. Corresponds to the JSON property disableExpirationNotification

Returns:

  • (Boolean)


5389
5390
5391
# File 'lib/google/apis/walletobjects_v1/classes.rb', line 5389

def disable_expiration_notification
  @disable_expiration_notification
end

#grouping_infoGoogle::Apis::WalletobjectsV1::GroupingInfo

Information that controls how passes are grouped together. Corresponds to the JSON property groupingInfo



5395
5396
5397
# File 'lib/google/apis/walletobjects_v1/classes.rb', line 5395

def grouping_info
  @grouping_info
end

#has_linked_deviceBoolean Also known as: has_linked_device?

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. Corresponds to the JSON property hasLinkedDevice

Returns:

  • (Boolean)


5403
5404
5405
# File 'lib/google/apis/walletobjects_v1/classes.rb', line 5403

def has_linked_device
  @has_linked_device
end

#has_usersBoolean Also known as: has_users?

Indicates if the object has users. This field is set by the platform. Corresponds to the JSON property hasUsers

Returns:

  • (Boolean)


5409
5410
5411
# File 'lib/google/apis/walletobjects_v1/classes.rb', line 5409

def has_users
  @has_users
end

#hero_imageGoogle::Apis::WalletobjectsV1::Image

Wrapping type for Google hosted images. Corresponds to the JSON property heroImage



5415
5416
5417
# File 'lib/google/apis/walletobjects_v1/classes.rb', line 5415

def hero_image
  @hero_image
end

#idString

Required. The unique identifier for an object. This ID must be unique across all objects from an issuer. This value should follow the format issuer ID. identifier where the former is issued by Google and latter is chosen by you. The unique identifier should only include alphanumeric characters, '.', '_', or '-'. Corresponds to the JSON property id

Returns:

  • (String)


5424
5425
5426
# File 'lib/google/apis/walletobjects_v1/classes.rb', line 5424

def id
  @id
end

#image_modules_dataArray<Google::Apis::WalletobjectsV1::ImageModuleData>

Image module data. The maximum number of these fields displayed is 1 from object level and 1 for class object level. Corresponds to the JSON property imageModulesData



5430
5431
5432
# File 'lib/google/apis/walletobjects_v1/classes.rb', line 5430

def image_modules_data
  @image_modules_data
end

#info_module_dataGoogle::Apis::WalletobjectsV1::InfoModuleData

Deprecated. Use textModulesData instead. Corresponds to the JSON property infoModuleData



5435
5436
5437
# File 'lib/google/apis/walletobjects_v1/classes.rb', line 5435

def info_module_data
  @info_module_data
end

#kindString

Identifies what kind of resource this is. Value: the fixed string " walletobjects#loyaltyObject". Corresponds to the JSON property kind

Returns:

  • (String)


5441
5442
5443
# File 'lib/google/apis/walletobjects_v1/classes.rb', line 5441

def kind
  @kind
end

#linked_object_idsArray<String>

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. Corresponds to the JSON property linkedObjectIds

Returns:

  • (Array<String>)


5457
5458
5459
# File 'lib/google/apis/walletobjects_v1/classes.rb', line 5457

def linked_object_ids
  @linked_object_ids
end

#linked_offer_idsArray<String>

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. Corresponds to the JSON property linkedOfferIds

Returns:

  • (Array<String>)


5464
5465
5466
# File 'lib/google/apis/walletobjects_v1/classes.rb', line 5464

def linked_offer_ids
  @linked_offer_ids
end

Links module data. If links module data is also defined on the class, both will be displayed. Corresponds to the JSON property linksModuleData



5470
5471
5472
# File 'lib/google/apis/walletobjects_v1/classes.rb', line 5470

def links_module_data
  @links_module_data
end

#locationsArray<Google::Apis::WalletobjectsV1::LatLongPoint>

Note: This field is currently not supported to trigger geo notifications. Corresponds to the JSON property locations



5475
5476
5477
# File 'lib/google/apis/walletobjects_v1/classes.rb', line 5475

def locations
  @locations
end

#loyalty_pointsGoogle::Apis::WalletobjectsV1::LoyaltyPoints

The loyalty reward points label, balance, and type. Corresponds to the JSON property loyaltyPoints



5480
5481
5482
# File 'lib/google/apis/walletobjects_v1/classes.rb', line 5480

def loyalty_points
  @loyalty_points
end

#merchant_locationsArray<Google::Apis::WalletobjectsV1::MerchantLocation>

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. Corresponds to the JSON property merchantLocations



5488
5489
5490
# File 'lib/google/apis/walletobjects_v1/classes.rb', line 5488

def merchant_locations
  @merchant_locations
end

#messagesArray<Google::Apis::WalletobjectsV1::Message>

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. Corresponds to the JSON property messages



5494
5495
5496
# File 'lib/google/apis/walletobjects_v1/classes.rb', line 5494

def messages
  @messages
end

#notify_preferenceString

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. Corresponds to the JSON property notifyPreference

Returns:

  • (String)


5505
5506
5507
# File 'lib/google/apis/walletobjects_v1/classes.rb', line 5505

def notify_preference
  @notify_preference
end

#pass_constraintsGoogle::Apis::WalletobjectsV1::PassConstraints

Container for any constraints that may be placed on passes. Corresponds to the JSON property passConstraints



5510
5511
5512
# File 'lib/google/apis/walletobjects_v1/classes.rb', line 5510

def pass_constraints
  @pass_constraints
end

#rotating_barcodeGoogle::Apis::WalletobjectsV1::RotatingBarcode

The rotating barcode type and value. Corresponds to the JSON property rotatingBarcode



5515
5516
5517
# File 'lib/google/apis/walletobjects_v1/classes.rb', line 5515

def rotating_barcode
  @rotating_barcode
end

#save_restrictionsGoogle::Apis::WalletobjectsV1::SaveRestrictions

Defines restrictions on the object that will be verified during save. Note: this is an advanced feature, please contact Google for implementation support. Corresponds to the JSON property saveRestrictions



5521
5522
5523
# File 'lib/google/apis/walletobjects_v1/classes.rb', line 5521

def save_restrictions
  @save_restrictions
end

#secondary_loyalty_pointsGoogle::Apis::WalletobjectsV1::LoyaltyPoints

The secondary loyalty reward points label, balance, and type. Shown in addition to the primary loyalty points. Corresponds to the JSON property secondaryLoyaltyPoints



5527
5528
5529
# File 'lib/google/apis/walletobjects_v1/classes.rb', line 5527

def secondary_loyalty_points
  @secondary_loyalty_points
end

#smart_tap_redemption_valueString

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. Corresponds to the JSON property smartTapRedemptionValue

Returns:

  • (String)


5538
5539
5540
# File 'lib/google/apis/walletobjects_v1/classes.rb', line 5538

def smart_tap_redemption_value
  @smart_tap_redemption_value
end

#stateString

Required. The state of the object. This field is used to determine how an object is displayed in the app. For example, an inactive object is moved to the "Expired passes" section. Corresponds to the JSON property state

Returns:

  • (String)


5545
5546
5547
# File 'lib/google/apis/walletobjects_v1/classes.rb', line 5545

def state
  @state
end

#text_modules_dataArray<Google::Apis::WalletobjectsV1::TextModuleData>

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. Corresponds to the JSON property textModulesData



5552
5553
5554
# File 'lib/google/apis/walletobjects_v1/classes.rb', line 5552

def text_modules_data
  @text_modules_data
end

#valid_time_intervalGoogle::Apis::WalletobjectsV1::TimeInterval

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. Corresponds to the JSON property validTimeInterval



5558
5559
5560
# File 'lib/google/apis/walletobjects_v1/classes.rb', line 5558

def valid_time_interval
  @valid_time_interval
end

#value_added_module_dataArray<Google::Apis::WalletobjectsV1::ValueAddedModuleData>

Optional value added module data. Maximum of fifteen on the object. For a pass only fifteen will be displayed. Corresponds to the JSON property valueAddedModuleData



5564
5565
5566
# File 'lib/google/apis/walletobjects_v1/classes.rb', line 5564

def value_added_module_data
  @value_added_module_data
end

#versionFixnum

Deprecated Corresponds to the JSON property version

Returns:

  • (Fixnum)


5569
5570
5571
# File 'lib/google/apis/walletobjects_v1/classes.rb', line 5569

def version
  @version
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



5576
5577
5578
5579
5580
5581
5582
5583
5584
5585
5586
5587
5588
5589
5590
5591
5592
5593
5594
5595
5596
5597
5598
5599
5600
5601
5602
5603
5604
5605
5606
5607
5608
5609
5610
# File 'lib/google/apis/walletobjects_v1/classes.rb', line 5576

def update!(**args)
  @account_id = args[:account_id] if args.key?(:account_id)
  @account_name = args[:account_name] if args.key?(:account_name)
  @app_link_data = args[:app_link_data] if args.key?(:app_link_data)
  @barcode = args[:barcode] if args.key?(:barcode)
  @class_id = args[:class_id] if args.key?(:class_id)
  @class_reference = args[:class_reference] if args.key?(:class_reference)
  @disable_expiration_notification = args[:disable_expiration_notification] if args.key?(:disable_expiration_notification)
  @grouping_info = args[:grouping_info] if args.key?(:grouping_info)
  @has_linked_device = args[:has_linked_device] if args.key?(:has_linked_device)
  @has_users = args[:has_users] if args.key?(:has_users)
  @hero_image = args[:hero_image] if args.key?(:hero_image)
  @id = args[:id] if args.key?(:id)
  @image_modules_data = args[:image_modules_data] if args.key?(:image_modules_data)
  @info_module_data = args[:info_module_data] if args.key?(:info_module_data)
  @kind = args[:kind] if args.key?(:kind)
  @linked_object_ids = args[:linked_object_ids] if args.key?(:linked_object_ids)
  @linked_offer_ids = args[:linked_offer_ids] if args.key?(:linked_offer_ids)
  @links_module_data = args[:links_module_data] if args.key?(:links_module_data)
  @locations = args[:locations] if args.key?(:locations)
  @loyalty_points = args[:loyalty_points] if args.key?(:loyalty_points)
  @merchant_locations = args[:merchant_locations] if args.key?(:merchant_locations)
  @messages = args[:messages] if args.key?(:messages)
  @notify_preference = args[:notify_preference] if args.key?(:notify_preference)
  @pass_constraints = args[:pass_constraints] if args.key?(:pass_constraints)
  @rotating_barcode = args[:rotating_barcode] if args.key?(:rotating_barcode)
  @save_restrictions = args[:save_restrictions] if args.key?(:save_restrictions)
  @secondary_loyalty_points = args[:secondary_loyalty_points] if args.key?(:secondary_loyalty_points)
  @smart_tap_redemption_value = args[:smart_tap_redemption_value] if args.key?(:smart_tap_redemption_value)
  @state = args[:state] if args.key?(:state)
  @text_modules_data = args[:text_modules_data] if args.key?(:text_modules_data)
  @valid_time_interval = args[:valid_time_interval] if args.key?(:valid_time_interval)
  @value_added_module_data = args[:value_added_module_data] if args.key?(:value_added_module_data)
  @version = args[:version] if args.key?(:version)
end