Terminology
- The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119.
- The Page means the Loyalty Redemption Page (also known as the IFrame).
- The Provider is the firm providing the Page and the systems thereof.
- Setting the Location Hash means altering the anchor part of the Page's URL either with or without reloading the Page itself.
- The Till or the Tills are the devices where the Page is displayed in a production retail environment.
- The Operator is the person using the Till and interacting with the Page in a production retail environment.
- A Holder is a consumer holding a loyalty card, code, voucher, etc.
- A Retail Transaction is a sale, return, exchange, etc, transaction that results in the print job of a paper receipt.
Overview
The Page is a web page available to the Operator for the purposes of loyalty services. The Operator SHALL be able to launch and interact with the Page using an on-screen button prior to any Retail Transaction.
Operation
A unique ID string specific to the following Retail Transaction SHALL be passed to the Page in the form of a unique_id query string field whenever the Page is launched by the Operator. This unique ID MUST be stored for future reference if the Provider expect to receive further details of the retail transaction. Otherwise, it SHOULD still be stored for logging and debugging purposes.
If the Page is launched multiple times prior to a single Retail Transaction, the unique ID string SHALL remain unchanged throughout.
The unique ID string SHALL NOT exceed 500 characters.
Upon a loyalty redemption
If a code, such as a barcode, is used for the redemption, the Location Hash SHOULD be set to #code=REDEMPTION_CODE.
This MAY be done in the following way in JavaScript:
location.hash = '#code=' + code;
If the redemption allows the Operator to identify the Holder uniquely and the Holder's email address is known to the Provider, &email=HOLDER'S_EMAIL_ADDRRESS should be appended to the Location Hash. This MAY be done in the following way in JavaScript:
location.hash = '#code=' + code + '&email=' + email;
The Location Hash SHOULD be set to #close when the Operator is no longer expected to interact with the Page AND the Page's content is no longer relevant to the Operator.
Compatibility
The Page MUST adapt to any screen size and resolution, and it MUST be compatible with the version of Internet Explorer used by the targeted retailers' Tills.
The Page's code SHOULD include the following tag to enable the use of the newest version of Internet Explorer available on the Till:
<meta http-equiv="X-UA-Compatible" content="IE=edge" />