---
id: loyalty-onboarding
title: Onboarding checklist
hide_title: true
description: "Information to provide to Walley to enable the Loyalty Booster"
---

import Ingress from "../../../src/components/ingress/ingress.react";
import Checklist from "../../../src/components/checklist/checklist.react";

<Ingress title="Onboarding checklist">
  Everything you need to hand over to Walley in order to get the Loyalty Booster
  enabled and your loyalty adapter configured.
</Ingress>

## Overview

The Loyalty Booster is configured per store by Walley. Before it can be activated, Walley needs a set of details about your loyalty program and, if you use a [custom loyalty adapter](/docs/checkout/loyalty-booster/custom/custom-adapter), about the API you host.

Collect the information below and send it to your Walley representative or to [help@walley.se](mailto:help@walley.se). Configuration is done separately per environment, so provide the details for both test and production (share any credentials/secrets via a secure channel, not by email).

Never send credentials or other secrets, such as the Basic authentication password for your adapter, by email or chat. Ask your Walley representative for a secure channel and share them there.

:::preview Early access
This functionality is at an early stage and is not yet available for all merchants. Please contact your Walley representative for more information.
:::

## 1. Stores and markets

| Information            | Required | Description                                                                                                     |
| ---------------------- | -------- | ----------------------------------------------------------------------------------------------------------------- |
| Store id(s)            | Yes      | The Walley store id(s) the loyalty adapter should be enabled for. One configuration is made per store.           |
| Environment            | Yes      | Whether the configuration applies to test or production. Provide the details for both.                           |
| Markets and languages  | Yes      | The countries and [languages](/docs/checkout/languages) the loyalty program should be offered in.                |
| B2C / B2B              | Yes      | Which customer types the loyalty program applies to. See the supported markets in the [introduction](/docs/checkout/loyalty-booster/loyalty-booster). |

## 2. Loyalty program details

| Information               | Required | Description                                                                                                                    |
| ------------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------- |
| Provider                  | Yes      | Which adapter to use, for example [Voyado](/docs/checkout/loyalty-booster/voyado/voyado-integration) or a [custom adapter](/docs/checkout/loyalty-booster/custom/custom-adapter). |
| Membership name           | Yes      | The name of the loyalty program shown to the customer, for example `ABC Reward Club`.                                          |
| Terms URL                 | Yes      | A publicly available URL with the terms and conditions of the loyalty program, per language.                                   |
| Application text          | No       | The text shown to the customer in the checkout, per language. See [application text](/docs/checkout/loyalty-booster/custom/custom-adapter#application-text) for supported formatting. |
| Registration number       | Yes      | Whether a registration number (for example a social security number) is required to create a membership.                       |
| Loyalty color             | No       | The color used in the loyalty module. Set with the [`data-loyalty-color`](/docs/checkout/renderiframe#script-element) attribute, and falls back to `data-action-color`. |

:::info Important
`membershipName`, `termsUri` and `applicationText` are returned by the custom adapter per request and are localized using the `locale` query parameter. If you use a custom adapter, you only need to confirm which languages you support.
:::

## 3. Custom adapter connection details

Only needed if you host your own [custom loyalty adapter](/docs/checkout/loyalty-booster/custom/custom-adapter).

| Information       | Required | Description                                                                                                                   |
| ----------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------- |
| Base URL          | Yes      | The HTTPS base URL of your adapter, for example `https://your-adapter.com/api/v1`. Provide one URL per environment.            |
| Basic auth username | Yes    | The username Walley uses for Basic Authentication against your adapter.                                                       |
| Basic auth password | Yes    | The corresponding password. Share it through a secure channel, never by email or chat.                                        |
| API version       | Yes      | The version of the custom loyalty adapter API your implementation follows.                                                    |
| Endpoints exposed | Yes      | Confirmation that both `GET /membership` and `POST /membership` are implemented as described in the [custom adapter](/docs/checkout/loyalty-booster/custom/custom-adapter) documentation. |

:::warning Reachability requirements
Your adapter must be reachable from Walley over HTTPS, respond within `10 seconds`, and accept `1 retry` after a `2 seconds back-off` for server errors. Requests that time out or return a non 2xx response result in the membership not being shown or not being created.
:::

## 4. Contacts

| Information             | Required | Description                                                                             |
| ----------------------- | -------- | ------------------------------------------------------------------------------------------ |
| Technical contact       | Yes      | Name and email of the person responsible for the adapter integration.                   |
| Business contact        | Yes      | Name and email of the person responsible for the loyalty program.                       |
| Support contact         | No       | Where Walley should report incidents related to the adapter.                            |
| Planned go-live date    | Yes      | When you plan to activate the Loyalty Booster in production.                             |

## Checklist

export const onboardingItems = [
  {
    content: <>Store id(s), environment, markets and languages are specified</>,
    isChecked: true,
  },
  {
    content: <>Membership name and terms URL are provided for every language</>,
    isChecked: true,
  },
  {
    content: <>It is decided whether a registration number is required to create a membership</>,
    isChecked: true,
  },
  {
    content: <>The adapter base URL is reachable over HTTPS from Walley, in both test and production</>,
    isChecked: true,
  },
  {
    content: <>Basic authentication credentials are shared with Walley through a secure channel</>,
    isChecked: true,
  },
  {
    content: <>Both the <a href='/docs/checkout/loyalty-booster/custom/custom-adapter#get-membership'>Get Membership</a> and <a href='/docs/checkout/loyalty-booster/custom/custom-adapter#create-membership'>Create Membership</a> endpoints are implemented and tested</>,
    isChecked: true,
  },
  {
    content: <>Your integration handles the <code>walleyCheckoutCrmUpdated</code> event and reads <code>data.customer.loyaltyMembership</code> from the <a href='/docs/checkout/getcheckoutinformation'>checkout information</a></>,
    isChecked: true,
  },
  {
    content: <>A routine exists to create memberships manually if a registration fails for technical reasons</>,
    isChecked: true,
  },
  {
    content: <>Technical and business contacts and a planned go-live date are shared with Walley</>,
    isChecked: true,
  },
];

<Checklist items={onboardingItems} />

## Next steps

When Walley has received the information, the adapter is configured for your test store so you can verify the flow end to end. Once the integration is verified, the same configuration is applied to your production store.

For the overall integration, also go through the [go-live checklist](/docs/checkout/go-live-checklist).
