All guides
User

Loyalty Stamp Cards

Configure offers, claims or customer reward records.

Step-by-step guide

Before you start

Use the account and workspace that own the records. This page does not include administrator configuration forms.

Open this feature

Open /portal/loyalty-cards on your application domain, or use the matching item in the application menu.

Steps

Save changes / Create card

  1. Open /portal/loyalty-cards on your own application domain.
  2. Complete these fields in that form: Business, Card name, Required stamps, Stamp method, Customer identifier, Reward title, Reward type, Reward value, Reward expiry days, Cooldown minutes, Max stamps per customer / day, Status. Their choices and limits are listed below.
  3. Select Save changes / Create card. The exact label can change between creating and editing a record.
  4. If validation fails, correct the named field and submit again. After success, reopen the same record and compare the saved values.
Field shown in the formWhat to enterExample / note
BusinessRequired. Choose Select business. Enter a whole number.Use the value appropriate to your test account; no preset is supplied.
Card nameRequired. No more than 255 characters.Test record (use a unique value where required).
Required stampsRequired. Enter a whole number. At least 1. No more than 100.Use the value required by the task; no example is assumed.
Stamp methodRequired. Choose QR scan, Staff approval.Choose a displayed option; the available labels are listed above.
Customer identifierRequired. Choose Phone, Email, Phone or email.Choose a displayed option; the available labels are listed above.
Reward titleRequired. No more than 255 characters.Use the value required by the task; no example is assumed.
Reward typeRequired. Choose Free item, Coupon, Discount, Custom.Choose a displayed option; the available labels are listed above.
Reward valueOptional, unless this form asks for it. No more than 120 characters.Use the value required by the task; no example is assumed.
Reward expiry daysOptional, unless this form asks for it. Enter a whole number. At least 1. No more than 3650.Use the value required by the task; no example is assumed.
Cooldown minutesRequired. Use 1440 for one stamp per day. Use 0 to disable cooldown. Enter a whole number. At least 0. No more than 525600.Use the value required by the task; no example is assumed.
Max stamps per customer / dayRequired. Enter a whole number. At least 1. No more than 100.Use the value required by the task; no example is assumed.
StatusRequired. Choose Active, Draft.Choose a displayed option; the available labels are listed above.

Save changes / Create campaign

  1. Open /portal/loyalty-cards on your own application domain.
  2. Complete these fields in that form: Business, Campaign name, Reward title, Reward type, Reward value, Required referrals, Target action, Reward expiry days, Status. Their choices and limits are listed below.
  3. Select Save changes / Create campaign. The exact label can change between creating and editing a record.
  4. If validation fails, correct the named field and submit again. After success, reopen the same record and compare the saved values.
Field shown in the formWhat to enterExample / note
BusinessRequired. Choose Select business. Enter a whole number.Use the value appropriate to your test account; no preset is supplied.
Campaign nameRequired. No more than 255 characters.Test record (use a unique value where required).
Reward titleRequired. No more than 255 characters.Use the value required by the task; no example is assumed.
Reward typeRequired. Choose Coupon, Discount, Free item, Custom.Choose a displayed option; the available labels are listed above.
Reward valueOptional, unless this form asks for it. No more than 120 characters.Use the value required by the task; no example is assumed.
Required referralsRequired. Enter a whole number. At least 1. No more than 100.Use the value required by the task; no example is assumed.
Target actionRequired. Choose Lead submitted, Booking submitted, Coupon claimed.Choose a displayed option; the available labels are listed above.
Reward expiry daysOptional, unless this form asks for it. Enter a whole number. At least 1. No more than 3650.Use the value required by the task; no example is assumed.
StatusRequired. Choose Active, Draft.Choose a displayed option; the available labels are listed above.

Fields shown in the interface

Only fields traced to this role’s handler and its own view are listed. The application can show separate create/edit forms; do not fill every row on one screen.

Form 1 — fields shown in the interface
FieldWhat to enter or choose
BusinessRequired. Choose Select business. Enter a whole number.
Card nameRequired. No more than 255 characters.
Required stampsRequired. Enter a whole number. At least 1. No more than 100.
Stamp methodRequired. Choose QR scan, Staff approval.
Customer identifierRequired. Choose Phone, Email, Phone or email.
Reward titleRequired. No more than 255 characters.
Reward typeRequired. Choose Free item, Coupon, Discount, Custom.
Reward valueOptional, unless this form asks for it. No more than 120 characters.
Reward expiry daysOptional, unless this form asks for it. Enter a whole number. At least 1. No more than 3650.
Cooldown minutesRequired. Use 1440 for one stamp per day. Use 0 to disable cooldown. Enter a whole number. At least 0. No more than 525600.
Max stamps per customer / dayRequired. Enter a whole number. At least 1. No more than 100.
StatusRequired. Choose Active, Draft.
Campaign nameRequired. No more than 255 characters.
Reward typeRequired. Choose Coupon, Discount, Free item, Custom.
Required referralsRequired. Enter a whole number. At least 1. No more than 100.
Target actionRequired. Choose Lead submitted, Booking submitted, Coupon claimed.

Check the result

After a source-checked procedure, verify the same record in the same workspace. Check saved values, visible state and access with the intended test account. An external payment/message/provider action needs its own result check.

Problems and validation

ProblemNext step
A field rejects the valueCheck its named error, the form’s visible choices and the relevant limit. Do not substitute internal numeric codes for the displayed options.
The control is missingCheck role, plan, enabled app and current record state. Do not grant administrator access merely to complete a User task.
The saved result is unexpectedReopen the same record and verify its owner/workspace before repeating the action.

Technical reference

Role-scoped source references

Pinned commit: 5af0236c6d99c50079f5ab8b8fb035506634bd8d

Source-only route information
MethodSource-default route
LIVEWIRE/portal/loyalty-cards
GET/loyalty/{card:slug}
POST/loyalty/{card:slug}/stamp
GET/loyalty/{card:slug}/qr.svg
GET/loyalty/{card:slug}/qr.png
GET/referral/{campaign:slug}
POST/referral/{campaign:slug}/link
GET/referral/{campaign:slug}/qr.svg
GET/referral/{campaign:slug}/qr.png
GET/r/{link:code}
POST/r/{link:code}/convert
Unmapped fields — not user instructions

These fields belong to this role’s source handler, but their screen labels were not confirmed.

Source keyHandler
namemodules/AppLoyaltyStampCards/Http/Controllers/LoyaltyPublicController.php
phonemodules/AppLoyaltyStampCards/Http/Controllers/LoyaltyPublicController.php
emailmodules/AppLoyaltyStampCards/Http/Controllers/LoyaltyPublicController.php
namemodules/AppLoyaltyStampCards/Http/Controllers/ReferralPublicController.php
phonemodules/AppLoyaltyStampCards/Http/Controllers/ReferralPublicController.php
emailmodules/AppLoyaltyStampCards/Http/Controllers/ReferralPublicController.php
messagemodules/AppLoyaltyStampCards/Http/Controllers/ReferralPublicController.php