Settings
In this section, you will learn how to manage the loyalty program settings.
In this section, you can change the main settings that are important to use Open Loyalty.
- Timezone - the time zone which will be used in the whole system
- Program name - it is the name of the loyalty program and will be used in all communication
- Program URL - it is a URL to a page with a Loyalty Program description and will be used in all communication
- Allow users to edit their profiles - allow/disallow user editing of the profile
- Delivery cost -
- if the toggle is switched off - the delivery cost will be generating Units, and the delivery cost will be included in the order value used for earned Units calculation.
- if the toggle is switched on - the delivery cost will not be generating Units, the delivery cost will not be included in the order value used for earned Units calculation.
- Excluded SKU - SKUs provided in this field will be excluded from the calculation of earned Units.
- Preferred communication methods - here, the preferred communication method can be picked, you can select phone or email. That way, while creating a new Member, you will need to put his email or phone depending on which method you will choose.
- Admin activation required - new accounts are activated right away without Admin intervention while the switcher is set to 'off' state. If the switcher is set to 'on', the account of the member who will register himself will need to be activated by an Admin.
- Identification factor - the order in which you write the identifiers will be taken into account when matching the Transaction to a specific customer.
- email
- loyaltyCardNumber
- phone
If you want to change the order or remove the identification use the “x” symbol.
- Active member settings - The number of days in which a user must make a transaction to be considered active.

In this part, you can upload the logo which will be visible in the system. The supported file formats are jpg, png, and gif.
If you remove your logo in the Admin panel, we will display the Open Loyalty logo.

In this section of the guide, you'll learn how to set up sales channels and manage their data.
A channel represents a specific sales medium or platform where customers make purchases. Channel menu allows you to define all sales channels like offline, e-commerce, mobile app, where Transactions should be included within your Loyalty Program.

To make it easier, to sort the channel list in order to find a specific one, you can sort the columns by Name and Identifier.
Add a new channel to be able to assign Transactions to a specific sales channel.
- 1.Click “Add channel”
- 2.Fill all required fields (name, channel identifier)
- 3.Click “Add channel”
After creating a new channel, you can edit the data by clicking the "Edit" button.
- 1.Select the channel
- 2.Click the context menu
- 3.Click "Edit"
- 4.Make a changes
- 5.Click “Save”
If for some reason you want to delete a channel, you can do so in a few simple steps.
- 1.Select the channel
- 2.Click the context menu
- 3.Click "Delete"
- 4.Click “Yes”
The Translations section allows defining many language versions used throughout the Open Loyalty platform. All content elements will appear in the selected default language.
Most of the text that appears to be hard-coded on pages throughout your loyalty platform can be instantly changed to a different language by changing the default language parameter. The Default language is selected during the translation creation process, but can be changed at any time in edition mode.
Moreover, during Campaigns and Tier creation/edition processes, an Admin can fulfill the Basic Information section in every language version listed here. For example, if we have Polish and English translations, there is a possibility to provide Basic information on Tiers and Campaigns in both languages.
Thanks to this, changing the default language translate the text word-for-word and references a different translation table that provides the interface text that is used in the Admin and Client cockpit. The text that can be changed includes navigational titles, labels, buttons, and links such as “List of customers” and “Account”, Campaigns and Tier names, description, etc.
Currently, Open Loyalty is available in English.
To open the 'Translation list' view, click on the 'Translation' from the setting list, all available languages are listed in the table. You can change the number of rows displayed per page by clicking on the arrow icon below the table and picking a handy number from the list.

- 1.To add a new translation click on the 'Add Language' button. From this units, please complete such information as:
- Code - Language identifier
- Name - Language name
- Order
- If you would like to set such language as a default right away, please mark the 'Default' check box. But this may be marked only when translation is already prepared and added.
To dismiss the 'Add language' screen, click on the 'X' button next to the header.

2. To edit the selected language, click on the overflow button and pick from the expanded list 'Edit language' option, here you can edit such values as Name and Order, as well as change the default language by marking the checkbox.
3. To edit/add a translation, click on the overflow button and pick from the expanded list 'Edit translation' option. On the 'Edit translation name' screen, you can add the translation for any value in the app. In the middle column, you need to add translation and on the left, you have the default language value present. Click on the record you will like to add (right in the middle) and add a new value. To dismiss this screen, click on the 'X' button and the value will be saved - so if you reopen the 'Edit translation', the screen it will be presented.

4. To remove the selected language, click on the overflow button and pick the 'Remove' option from the list. 'Do you want to remove this translation?' pop-up window will show up, confirm your action by clicking on the 'YES' button. The Toast message will appear and the selected translation will be removed from the list.
5. To set the selected language as the default one you need to find yourself on the 'Translations list' view, here click on the overflow button, next to the picked language, and chose the 'Edit language' option. In Edit language 'name' screen mark Admin default and API default checkboxes and click 'Save'. You will return to the 'Translations list' view where the 'Language updated' toast message will appear, and information on which language is default and when it was updated will be updated in the table.
The Open Loyalty platform uses roles and permissions to create different levels of access to the Admin Cockpit. When your platform is first installed, you receive a Super Admin role that has full permissions and gives you full administrative access.
However, you can restrict the permissions for other Admin users who work with you. For example, Customer Service may only have access to the Members section, but not to areas with settings.
Due to changes in ACL, someone with limited access to certain parts of Open Loyalty can receive error 403 on these pages.
Note:
To give someone restricted access to the Admin, the first step is to create a role that has the appropriate level of permissions.
After the role is saved, you can add new Admins and assign the restricted role to grant them limited access to the Admin.
If an Admin user’s access is restricted to specific sections and/or elements, the sections and elements for which they are not authorized will either not be visible to them, or grayed-out as inactive.
To open the 'Roles list' view, click on the 'Roles' from the setting list, all present roles are listed in the table. You can change the number of rows displayed per page by clicking on the arrow icon below the table and picking a handy number from the list. Here you can either add a new role by clicking on the adequate button or manage previously created roles.

- 1.To create a new role, please click on the 'Add Role' button. Then you will find yourself on the 'Add role' screen.

From this units, you need to fill all required fields.
- Please add a descriptive role name.
- Switch the 'Default' toggle button to the active state (it will change color to purple). If a role is set as default, it will be assigned to any admin user created by logging in by LDAP.
- Click on the '+ Add Permissions' button:
- set Access level of permissions to one of the following:
- Modify user can do anything in platform specified sections and/or elements
- View user can only read and display the platform specified sections and/or elements
- in Resources select from dropdown Admin Cockpit resource that the role can be specified in previous step Access
- in Query filter which is optional, you can add regex filter for URL request (ex. /^\api\/campaign\/bought$/)
if you would like to remove created permission - you can click on the 'X' button. - Clicking on the 'Add Tenant' button will expand the list with available tenant options - where you can pick the one you want. If you would like to remove added tenant just click on 'X' on the chip with the tenant's name.
2. To manage already created roles click the overflow button (the 3dots). A short list with 2 options will pop out. Here you can edit or delete already created roles.
- When click 'Delete' a confirmation pop-up window will appear where you will need to confirm your action. Please keep in mind that this operation can not be undone.
- When clicking 'Edit' you will find yourself on the edit screen, where you can expand or restrict the role's permissions respectively or add/delete the related tenant.
Logs grid allows monitoring every change on the customer data. The log file is accessible only to Admin users throughout the Admin Cockpit. Logs view allows you to check the date and time that change was made, type and unique ID of change and user name, and his unique ID associated with this change.

For example, if Admin updates Member data, such activity will be present in the Logs grid.

You can control log results by applying a filter and only suited records will be presented. Clicking on the '+ Add filter' button will expand the list with all available filters. Click on the chosen one, a popup window will show up. Fill the condition and value fields to have the right result - submit and it will be applied.

The available filters:
- Created at
- Entity ID
- Entity type
- Event type
- IP
- Log ID
- Tenant
- User type
- Username
You can also sort your results by clicking on the table title, arrow indicates that the column is sortable. The results will be presented in descending or ascending order.

When clicking on the overflow button next to the record, the context menu will appear and the 'See details' option will be available. If there aren't any details presented, such information will appear.
Another action that is possible is to download a CSV file, in order to download a file click on the 'Export to CSV' button.

The context menu will appear with 2 options
- Choose date range - where you can set specific time range you want to see in CSV file
- Export all data - which will put all records into CSV file
In the Imports, you will see the list of all imported files. From this view, you can import the Member list.


Tenants (previously called Stores) functionality gives a possibility to add many tenants with different currencies, codes, names. Each tenant has its own database with Members List, Translations, and so on. Members realize transactions within each tenant according to the currency and code. After creating several tenants, in the top right corner, you’ll see a drop-down list where you can select a tenant. Once the tenant is selected, all the displayed data is exclusive to that selected tenant. There are 6 areas where the drop-down list is not visible: Configuration, Administrators, Roles, Transactions, Tenants, My profile. In all of the above, settings will apply to all the tenants.
To access 'Tenant list', click on 'Tenants' from the settings list. All created tenants will be listed in the table. You can change the number of rows displayed per page by clicking on the arrow icon below the table and picking a handy number from the list.

- You can search for the record via the '+ Add Filter' feature. Clicking on the button will expand the list which contains the search field and available options. You can pick either relevant option from the list or type it in the search field.
- filter options:
- Name
- Code
- Currency
- Active
- When choosing the option, a pop-up screen will show up, where you can add conditions and values to list only proper records. To remove the filter click on 'X' on the filter chip.
- When filter option, index next to '+Add filter' button will change and show amount and percentage of currently listed option.

- If you want to edit the tenant click on the overflow button, and from the list click on 'Edit'. You will land on the edit screen, where you can change the tenant name and state (active/inactive). Such fields like currency or code are not editable.
- To add a new tenant click on the '+Add Tenant' button, you will land on the next screen.

All fields must be filled, so you will need to add Currency (you pick this value from the list), Code, and Name. Also please remember about checking the 'Active' box (you define here if the tenant is active or inactive). When you will want to submit the form, click on the 'Add Tenant' button.
A new record will be present on the 'Tenant list' screen.
When your tenant is first set up, you receive a set of login credentials for the Administrator role that has full permissions. If there are others on your team or service providers who need access, you can create a separate user account for each from this section.
To limit the sections or elements that Admin users can access when they log in, you must first create a role with limited permissions and access only to the necessary resources. See the 'Roles ' section to learn more about the roles. Then, you can assign the role to a specific user account.
Note:
Admin users, who are assigned to a restricted role, can see and/or change data only for resources that are associated with the role
Admins list includes both active and inactive Admin users – inactive are grayed-out. You can also see their status in the Active column. Additionally, the Admins list grid provides basic information about Admins – name, surname, email address, authenticate method, and information about whether notifications are enabled.
To access 'Admins list' click on the 'Admins' from the setting list, all created already Admins will be listed in the table. You can change the number of rows displayed per page by clicking on the arrow icon below the table and picking a handy number from the list.

- 1.To create a new Admin, click on the '+Add Admin' button, as you will land on the 'Add Admin screen.'', complete the following information:
- 1.Name
- 2.Last name
- 3.Phone
- 4.E-mail (This email address must be different from the one that is associated with your original Admin account)
- 5.Roles - pick one from the list
- 6.Then you have to decide which of the following user authentication method to choose:
- To authenticate the user via an API key, do the following:
- Switch External toggle to active
- Enter an API key, received from the Open Loyalty provider
- To authenticate the user via Password, do the following:
- Leave External toggle
- Assign a Password to the account
- 7.Switch Active toggle to active (its color should change to purple)
- 8.To receive push notifications, switch Notifications enabled toggle to active
- 9.When all is done click on the 'Add Admin' button
- 2.To modify already existing records, click on the overflow button (3 dots), list with 2 options will appear:
- 1.Enable/Disable notifications (accordingly, if the admin has this option off or on previously)
- 2.Edit, where you can edit previously saved information and then click on the 'Save settings' button
- 3.If you would like to dismiss Add Admin or Edit Admin screen just click on the 'X' button next to the header.
By default, you can set an admin password for authentication purposes:

If an Admins forget the password, they can recover it themselves, using password recovery option.

A recovery password will send to the email address connected to the account.
In this subsection, you can start using a permanent user token - "API key".
- 1.Head to Admins and Add Admin
- 2.Fill in all the information
- 3.Select "External"
- 4.Fill in the API Key section

A permanent token can be provided using headers or a query parameter.
Using headers:
curl http://localhost:8181/api/admin \
-X "GET" -H "Accept: application/json" \
-H "Content-type: application/x-www-form-urlencoded" \
-H "X-AUTH-TOKEN: customPermanentToken"
Using a query parameter
curl http://localhost:8181/api/admin?auth_token=customPermanentToken \
-X "GET" -H "Accept: application/json" \
-H "Content-type: application/x-www-form-urlencoded" \
In this section, you can build your customized Event schemas which can be used later to set Event-based Campaigns - the one which you will pick during creation, in the 'Event name' one of created custom Event schema, and which are triggered by custom Events - based on custom Event schemas.
To access 'Custom Event schemas' click on the settings icon and from the expanded list click on the 'Custom Event schemas' option. Here you will see all events presented in the table.

When there is a lot of records, you can change the number of rows displayed per page by clicking on the arrow icon below the table and picking a handy number from the list. You can also filter the results by clicking on the '+Add filter' button and picking a suitable option from the list:
- Active
- Create date
- Event name
- Event system identifier

the In Filter pop-up screen you will choose the Property mentioned above along with condition and value, after filling it up click on the 'Add filter', and only records fulfilling such criteria will be displayed.
In the Attributes column, you can hover over an item, and its information like name, type, and system identifier, will be displayed in the tooltip.
1. To add a new Event, click on the 'Add Event schema' button. On the next screen fill in all fields:
- Event system identifier - during creating the custom Event you will need to pass Event system identifier: e.g. if you will call your Event system identifier as "bike_ride" then in the request body you will pass: "type": "bike_ride"
- Event name - during creating an Event-based Campaign in the 'Event name' dropdown list custom Event schemas names will be present.
- Attribute - You can use attributes to create a Campaign with conditions based on those attributes and Reward Members.
The attribute can be used when creating an Event Based campaign that determines the receipt of Units.
Attribute types that are available:
- Boolean
- Datetime
- Number
- Text
To dismiss such a section click on the 'X' button.

Added custom Event schema will be present during creating Event based Campaign, on the 'Event name' list, also added attributes will be present on the 'Conditions type' list.
2. To edit already created Event schema click on the overflow button next to the selected record and pick Edit from the list. In the next step, you can edit almost all information, except the Event system identifier.
