Constraints that all must be met for the module to be shown.
sortIndex
integer
The index for sorting the modules. Modules with a lower sort index are shown before modules with a higher sort index. If unspecified, the sort index is assumed to be INT_MAX. For two modules with the same index, the sorting behavior is undefined.
ModuleViewConstraints
Constraints that all must be met for the module to be shown.
The period of time that the module will be displayed to users. Can define both a startTime and endTime. The module is displayed immediately after insertion unless a startTime is set. The module is displayed indefinitely if endTime is not set.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-03-13 UTC."],[[["\u003cp\u003eValue Added Modules require a header and a URI, along with optional fields like body, image, view constraints, and sort index for customization.\u003c/p\u003e\n"],["\u003cp\u003eThe module displays a header, body (optional), and image (optional), and directs users to a specified URI upon clicking.\u003c/p\u003e\n"],["\u003cp\u003eView constraints, such as a display interval, can be set to control when the module is shown to users.\u003c/p\u003e\n"],["\u003cp\u003eModules can be sorted using the \u003ccode\u003esortIndex\u003c/code\u003e field, with lower values appearing before higher ones.\u003c/p\u003e\n"]]],["The Value Added module requires `header` and `uri` fields. It uses a JSON format that includes `header`, `body`, `image`, `uri`, `viewConstraints`, and `sortIndex`. `viewConstraints` dictates when the module is displayed, using `displayInterval` to specify `startTime` and `endTime`. Modules are ordered by `sortIndex`, with lower indices appearing first. `header` and `body` have character limits. `uri` handles links, and `image` should maintain a 1:1 ratio.\n"],null,["- [JSON representation](#SCHEMA_REPRESENTATION)\n- [ModuleViewConstraints](#ModuleViewConstraints)\n - [JSON representation](#ModuleViewConstraints.SCHEMA_REPRESENTATION)\n\nData for Value Added module. Required fields are header and uri.\n\n| JSON representation |\n|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| ``` { \"header\": { object (/wallet/reference/rest/v1/LocalizedString) }, \"body\": { object (/wallet/reference/rest/v1/LocalizedString) }, \"image\": { object (/wallet/reference/rest/v1/Image) }, \"uri\": string, \"viewConstraints\": { object (/wallet/reference/rest/v1/ValueAddedModuleData#ModuleViewConstraints) }, \"sortIndex\": integer } ``` |\n\n| Fields ||\n|-------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `header` | `object (`[LocalizedString](/wallet/reference/rest/v1/LocalizedString)`)` Header to be displayed on the module. Character limit is 60 and longer strings will be truncated. |\n| `body` | `object (`[LocalizedString](/wallet/reference/rest/v1/LocalizedString)`)` Body to be displayed on the module. Character limit is 50 and longer strings will be truncated. |\n| `image` | `object (`[Image](/wallet/reference/rest/v1/Image)`)` Image to be displayed on the module. Recommended image ratio is 1:1. Images will be resized to fit this ratio. |\n| `uri` | `string` URI that the module leads to on click. This can be a web link or a deep link as mentioned in \u003chttps://developer.android.com/training/app-links/deep-linking\u003e. |\n| `viewConstraints` | `object (`[ModuleViewConstraints](/wallet/reference/rest/v1/ValueAddedModuleData#ModuleViewConstraints)`)` Constraints that all must be met for the module to be shown. |\n| `sortIndex` | `integer` The index for sorting the modules. Modules with a lower sort index are shown before modules with a higher sort index. If unspecified, the sort index is assumed to be INT_MAX. For two modules with the same index, the sorting behavior is undefined. |\n\nModuleViewConstraints Constraints that all must be met for the module to be shown.\n\n| JSON representation |\n|------------------------------------------------------------------------------------|\n| ``` { \"displayInterval\": { object (/wallet/reference/rest/v1/TimeInterval) } } ``` |\n\n| Fields ||\n|-------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `displayInterval` | `object (`[TimeInterval](/wallet/reference/rest/v1/TimeInterval)`)` The period of time that the module will be displayed to users. Can define both a `startTime` and `endTime`. The module is displayed immediately after insertion unless a `startTime` is set. The module is displayed indefinitely if `endTime` is not set. |"]]