Use a grouping ID
By default, adding multiple passes to a single Add to Google Wallet link will not group those passes in the user's Google Wallet app. However, passes can be grouped together by making sure they all have the same grouping ID. Grouped passes will appear together in the Google Wallet app. When a group of passes is selected, each pass will be shown on a carousel.
Passes can be grouped together:
To add a pass to a group, the groupingInfo.groupingId
property of
the pass object must be set. All pass objects with the same
groupingId
value will be automatically grouped together, even if
they were added separately.
The following example shows a loyalty card and offer being grouped together to entice the user to make use of both in their next purchase.
loyaltyObject = { "classId": "ISSUER_ID.GIFT_CARD_CLASS_SUFFIX", "id": "ISSUER_ID.GIFT_CARD_OBJECT_SUFFIX", "state": "ACTIVE", "groupingInfo": { # Note the same groupingId value "groupingId": "combinedGiftCardAndOfferId", "sortIndex": 1 }, "barcode": { "type": "QR_CODE", "value": "QR code" }, "accountId": "Account id", "accountName": "Account name", "loyaltyPoints": { "label": "Points", "balance": { "int": 800 } } } offerObject = { "classId": "ISSUER_ID.OFFER_CLASS_SUFFIX", "id": "ISSUER_ID.OFFER_OBJECT_SUFFIX", "state": "ACTIVE", "groupingInfo": { # Note the same groupingId value "groupingId": "combinedGiftCardAndOfferId", "sortIndex": 2 }, "barcode": { "type": "QR_CODE", "value": "QR code", }, }
Boarding pass automatic grouping
Sometimes boarding passes are used in a group rather than individually. A common scenario for this is grouping of tickets for flights with layovers or multiple stops.
Boarding passes have additional logic that will automatically group passes together if they have the same values for the following properties:
FlightClass.flightHeader.carrier.carrierIataCode
FlightClass.flightHeader.flightNumber
FlightClass.localScheduledDepartureDateTime
FlightObject.reservationInfo.confirmationCode
- The Issuer ID portion of
FlightObject.id
If any of the above properties are different for two Boarding passes, they are
not grouped (unless you do so using groupingInfo
). As you can see, both class
and object properties affect automatic grouping. This enables Boarding passes
of different classes to be grouped together (such as when different flights
in the same trip have different operating carriers).