Как сгруппировать несколько посадочных талонов

Использование идентификатора группы

По умолчанию несколько карт, добавленных по одной ссылке Добавить в Google Кошелек, не группируются в приложении. Чтобы объединить их, нужно присвоить им одинаковый идентификатор группировки. Сгруппированные билеты и карты будут показываться вместе в приложении "Google Кошелек". Если выбрать группу, то все билеты и карты в ней будут представлены в виде карусели.

Карты можно группировать:

  • Во время начальной инициализации
  • С помощью методов update или patch.

Чтобы добавить карту в группу, необходимо задать свойство groupingInfo.groupingId объекта карты. Все объекты карт с одинаковым значением groupingId будут автоматически сгруппированы, даже если они были добавлены по отдельности.

В примере ниже карта постоянного клиента и специальное предложение сгруппированы вместе, чтобы побудить пользователя воспользоваться ими при следующей покупке.

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",
  },
}

Автоматическая группировка посадочных талонов

Иногда посадочные талоны используются не по отдельности, а в группе. Чаще всего это требуется для билетов на рейсы с пересадками или несколькими остановками.

Посадочные талоны с одинаковыми значениями следующих свойств автоматически объединяются в группы:

  • FlightClass.flightHeader.carrier.carrierIataCode
  • FlightClass.flightHeader.flightNumber
  • FlightClass.localScheduledDepartureDateTime
  • FlightObject.reservationInfo.confirmationCode
  • Идентификатор эмитента в FlightObject.id

Если у двух посадочных талонов различается хотя бы одно из перечисленных выше свойств, они не будут сгруппированы (если вы не сделаете это с помощью groupingInfo). Как видите, на автоматическую группировку влияют свойства и класса, и объекта. Это позволяет группировать посадочные талоны разных классов (например, когда разные рейсы в одной поездке выполняются разными перевозчиками).