REST Resource: loyaltyobject

Resource: LoyaltyObject

JSON representation
{
  "kind": string,
  "classReference": {
    object (LoyaltyClass)
  },
  "accountName": string,
  "accountId": string,
  "loyaltyPoints": {
    object (LoyaltyPoints)
  },
  "linkedOfferIds": [
    string
  ],
  "secondaryLoyaltyPoints": {
    object (LoyaltyPoints)
  },
  "id": string,
  "classId": string,
  "version": string,
  "state": enum (State),
  "barcode": {
    object (Barcode)
  },
  "messages": [
    {
      object (Message)
    }
  ],
  "validTimeInterval": {
    object (TimeInterval)
  },
  "locations": [
    {
      object (LatLongPoint)
    }
  ],
  "hasUsers": boolean,
  "smartTapRedemptionValue": string,
  "hasLinkedDevice": boolean,
  "disableExpirationNotification": boolean,
  "infoModuleData": {
    object (InfoModuleData)
  },
  "imageModulesData": [
    {
      object (ImageModuleData)
    }
  ],
  "textModulesData": [
    {
      object (TextModuleData)
    }
  ],
  "linksModuleData": {
    object (LinksModuleData)
  },
  "appLinkData": {
    object (AppLinkData)
  },
  "rotatingBarcode": {
    object (RotatingBarcode)
  },
  "heroImage": {
    object (Image)
  },
  "groupingInfo": {
    object (GroupingInfo)
  },
  "passConstraints": {
    object (PassConstraints)
  }
}
Fields
kind
(deprecated)

string

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

classReference

object (LoyaltyClass)

A copy of the inherited fields of the parent class. These fields are retrieved during a GET.

accountName

string

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

accountId

string

The loyalty account identifier. Recommended maximum length is 20 characters.

loyaltyPoints

object (LoyaltyPoints)

The loyalty reward points label, balance, and type.

linkedOfferIds[]

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.

secondaryLoyaltyPoints

object (LoyaltyPoints)

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

id

string

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 '-'.

classId

string

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.

version
(deprecated)

string (int64 format)

Deprecated

state

enum (State)

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.

barcode

object (Barcode)

The barcode type and value.

messages[]

object (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.

validTimeInterval

object (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.

locations[]

object (LatLongPoint)

Note: This field is currently not supported to trigger geo notifications.

hasUsers

boolean

Indicates if the object has users. This field is set by the platform.

smartTapRedemptionValue

string

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.

hasLinkedDevice

boolean

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.

disableExpirationNotification

boolean

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.

infoModuleData

object (InfoModuleData)

Deprecated. Use textModulesData instead.

imageModulesData[]

object (ImageModuleData)

Image module data. The maximum number of these fields displayed is 1 from object level and 1 for class object level.

textModulesData[]

object (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.

rotatingBarcode

object (RotatingBarcode)

The rotating barcode type and value.

heroImage

object (Image)

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.

groupingInfo

object (GroupingInfo)

Information that controls how passes are grouped together.

passConstraints

object (PassConstraints)

Pass constraints for the object. Includes limiting NFC and screenshot behaviors.

LoyaltyPoints

JSON representation
{
  "label": string,
  "balance": {
    object (LoyaltyPointsBalance)
  },
  "localizedLabel": {
    object (LocalizedString)
  }
}
Fields
label

string

The loyalty points label, such as "Points". Recommended maximum length is 9 characters.

balance

object (LoyaltyPointsBalance)

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.

localizedLabel

object (LocalizedString)

Translated strings for the label. Recommended maximum length is 9 characters.

LoyaltyPointsBalance

JSON representation
{
  "string": string,
  "int": integer,
  "double": number,
  "money": {
    object (Money)
  }
}
Fields
string

string

The string form of a balance. Only one of these subtypes (string, int, double, money) should be populated.

int

integer

The integer form of a balance. Only one of these subtypes (string, int, double, money) should be populated.

double

number

The double form of a balance. Only one of these subtypes (string, int, double, money) should be populated.

money

object (Money)

The money form of a balance. Only one of these subtypes (string, int, double, money) should be populated.

Methods

addmessage

Adds a message to the loyalty object referenced by the given object ID.

get

Returns the loyalty object with the given object ID.

insert

Inserts an loyalty object with the given ID and properties.

list

Returns a list of all loyalty objects for a given issuer ID.

modifylinkedofferobjects

Modifies linked offer objects for the loyalty object with the given ID.

patch

Updates the loyalty object referenced by the given object ID.

update

Updates the loyalty object referenced by the given object ID.