Дизайн

Для отображения посадочных талонов используются шаблоны. Если определить шаблон не удается, используется шаблон по умолчанию.

Шаблон

Шаблон проездного билета определяется на уровне класса и в соответствии с ним показываются объекты, связанные с этим классом. В зависимости от шаблона элементы билета располагаются по-разному.

На рисунке ниже представлены составные части шаблона.

Название карты

Раздел о названии карты

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

Если значение class.origin.airportNameOverride или class.detination.airportNameOverride не задано, в качестве города автоматически подставляются коды ИАТА, указанные в параметрах class.origin.airportIataCode и class.destination.airportIataCode соответственно.

Шаблон карты

В разделе с шаблоном карты содержится дополнительная информация о поездке, которая, так же как и название карты, расположена в верхней строке. Элементы шаблона могут быть представлены в виде полей с текстовыми структурированными данными или текстовыми модулями.

Количество объектов в списке class.classTemplateInfo.cardTemplateOverride.cardRowTemplateInfos[] зависит от числа строк, которое вы указываете сами. В списке может быть один или два объекта следующих типов:

  • oneItem с одним элементом:
    • item
  • twoItems с двумя элементами:
    • startItem
    • endItem
  • threeItems с тремя элементами:
    • startItem
    • midItem
    • endItem

Каждый из элементов – это поле для выбора одного (.firstValue) или двух (.firstValue и .secondValue) значений либо предопределенное значение (.predefinedItem). Выбранные значения отображаются вместе с ярлыками. Если значений два, для их разделения используется символ "/". Так же отделяются друг от друга и связанные с ними ярлыки. В более сложных случаях подходит предопределенное значение.

Элементы, для которых не указаны значения, не отображаются. Подробнее об этом написано здесь. Это относится и к строкам. Элементы частично заполненных строк отображаются в другом, более удобном, порядке.

Если вы не выберете шаблон карты, количество строк и число элементов, будут использованы параметры по умолчанию. Подробнее…

Если вы определили главное изображение и в списке cardRowTemplateInfos несколько строк, то оно будет отображаться под первой строкой. Если же строка одна, это изображение появится над ней.

Штрихкод карты

Элементы штрихкода карты

В разделе со штрихкодом содержатся дополнительные текстовые и графические элементы, которые отображаются под штрихкодом и над ним. Добавлять их необязательно.

В этом же разделе находятся ещё три поля для выбора значений: два расположены рядом друг с другом над штрихкодом, а одно – под ним. У этих полей нет ярлыков. Они могут содержать текстовые структурированные данные, а также текстовые или графические модули. Изображения должны соответствовать правилам использования бренда.

У штрихкода есть тип и значение. Поддерживаемые типы штрихкодов приведены здесь. Кроме того, под штрихкодом может находиться текст. Он нужен, чтобы упростить сканирование кода, но может использоваться и для других целей.

Если вы не перезапишете раздел со штрихкодом, то будут использоваться значения по умолчанию. Подробнее…

Шаблон подробных сведений

Разделы о шаблоне подробных сведений

В этом шаблоне представлен список элементов class.classTemplateInfo.detailsTemplateOverride.detailsItemInfos[], которые могут содержать сообщения, структурированные данные или модули "текст", "изображение" либо "ссылка".

Каждый из элементов – это поле для выбора одного (.firstValue) или двух (.firstValue и .secondValue) значений либо предопределенное значение (.predefinedItem). Выбранные значения отображаются вместе с ярлыками. Если значений два, для их разделения используется символ "/". Так же отделяются друг от друга и связанные с ними ярлыки. В более сложных случаях подходит предопределенное значение. Обратите внимание, что поля с графическими модулями отображаются с заданной шириной и без ярлыков.

Элементы, для которых не указаны значения, не отображаются. Подробнее об этом написано здесь.

Если вы не перезапишете шаблон подробных сведений, то ссылки на поля в стандартном списке будут представлены в порядке по умолчанию. Подробнее…

Шаблон списка

Разделы о шаблоне списка

Шаблон списка нужен для отображения в приложении элементов раздела "Карты". В списке проездной билет представлен с логотипом и на цветном фоне, а также с дополнительной информацией на трех строках.

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

Ссылки на поля

Ссылки на поля используются в разных частях шаблона с форматом class.classTemplateInfo.*.fields[]. В ссылке на поле содержится список путей к сообщениям, структурированным данным или модулям "текст", "изображение" либо "ссылка".

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

Список можно использовать в качестве резервного способа. В таком случае, если в первом пути окажется пустое поле, будет выполнен следующий. Этот способ подходит для путей к текстовым модулям или структурированным текстовым данным. При этом допускается применение только одного из двух типов. Используйте такой способ, только если в некоторых объектах будет встречаться определенный набор полей. В остальных случаях для разных примеров использования стоит создавать отдельные классы.

Если все пути в списке возвращают пустые значения, значит элемент отображаться не будет. Чтобы такой ситуации не возникало, заполните хотя бы одно поле. Если в поле нужно указать нулевое значение, добавьте в него специальный символ, например "–". Такой метод подойдет, даже если значение в поле может состоять только из одного пробела.

Для каждого элемента в списке следует добавлять идентификаторы ссылок. Их нужно указывать в полях .id. В строке ссылки на поле для элемента следует использовать один и тот же идентификатор. Пример:

  • object.imageModulesData[0].id = my-id
  • class.detailsTemplateOverride.detailsItemInfos[0].item.firstValue.fields[0].fieldPath = object.imageModulesData[‘my-id’]

В этом случае в подробных сведениях о проездном билете первым элементом станет первое изображение, указанное в объекте.

Шаблон по умолчанию

Разделы о шаблоне по умолчанию

Если сведения о карте перезаписаны, и в них нет полей object.boardingAndSeatingInfo.boardingGroup, object.boardingAndSeatingInfo.seatClass и object.boardingAndSeatingInfo.seatNumber, эти поля по умолчанию будут включены в этот раздел.

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

Модулей типа "текст" можно добавить до 10 штук как для класса, так и для объекта. Поля отображаются в том порядке, в котором они представлены в массиве. Если вам нужно больше модулей для того или иного уровня, перезапишите шаблон по умолчанию.

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

Для модуля ссылок ограничений нет. Для каждого уровня URI будут отображаться в следующем порядке:

  1. Координаты на карте
  2. Телефоны
  3. Адреса электронной почты
  4. Веб-страницы
Для каждой группы URI будут отображаться в том порядке, в котором они представлены в массиве. Если вам нужен другой порядок, перезапишите шаблон по умолчанию.

Разделы о шаблоне списка по умолчанию