Offer types
There are multiple Offer types available in Lobyco, each has it’s own aspects that should be highlighted on the design:
- App Coupon — this is a coupon which is available to all of the app users and is available on app check-in. We recommend that it’s highlighted on the UI that those are available for app users only
- Member Coupon — a coupon available to all of the loyalty program customers, regardless if you are an app customer or not. We recommend to highlight that it’s available for all customers, meaning app check-in is optional and it’s available for other types of POS check-in as well
- Preferred Store — a coupon available in a particular store and is granted to all of the users that selected this store as the preferred one. It’s important to highlight that this is your local store deal and is not available in all others
- Personal Coupon — a coupon which is granted to the user as part of the personalisation algorithm run. It’s a highly relevant coupon based on user’s previous purchase history and shopping behaviour. We recommend to show this as high in the list as possible or in the other dedicated place in the app that drives the most visits.
- Segmented Coupon — this is a coupon granted to a segment of users based on some behaviour. It could be something like frequent buyers, churning users or vegan. It’s a highly relevant coupons as well, so we suggest to have a dedicated place in the app for these.
- Reward Coupons — coupons granted to you as a result of winning a Game or completing a Challenge. Important to note: these are not granted to the customer automatically — they did an intentional action to get these, like playing a Game or completing a Challenge. So, it’s important to indicate that you’ve received this as a result of such actions. We recommend to have them in a separate view for collectible reward coupons in the app.
- Game — a prize for winning a Game
- Challenge — a prize for completing a Challenge
Discount types
Each of the Offer types is configurable with particular Discount types to configure rules for discount application and its value:
- Simple discounts
- Product discount (
simpleLine) — Discount is applied on the product that qualifies for promotion. It’s important to highlight on the UI what are the applicable products, their original price and discount value.
- Basket discount (
simpleTotal) — Discount is applied on the entire basket if rules are met. We recommend to show on the UI what are the rules(f.e. buy over 20$, excluded products, etc.) and the discount value. In this case, there will be no original price as no particular applicable products.
- Complex discounts
- Basket reward (
rewardTotal) — Get one or more items discounted or for free when your basket value is over a specific amount. We do not show an original price on this discount’s UI, but it’s important to highlight the threshold amount and products excluded.
- Mix & Match (
mixAndMatch) — Get discounts when you buy two or more products together. The amount of rules for these discount is configurable and could grow large. So, we recommend to show on the details page all of the rules listed and the discount value users will get once all of the rules are met. No original price shown in this case as well.
- Mix & Match total value (
mixAndMatchTotal) — Get a fixed price for several items when they are bought together in the specified quantities. This is a case for a “Meal deal” or “Movie night” bundles where you should collect multiple products together to get all for a fixed price that we recommend to be highlighted on a visible spot. On original price in this case as well and all of the rules should be listed.
- Threshold discount (
simpleQuantity) — A discount is applied to every n-th item when the configured quantity threshold is reached. We recommend to show on a key place of a UI what is the threshold quantity (f.e. 3rd item. 6th, etc.) and the discount value.
- Quantity tier (
quantityStep) — Applied after each defined quantity is reached, multiple steps available. Here, the step between each tier can be different and the value should increase with each tier. We recommend to show on the discount card UI the highest value of the last tier and products applicable while all of the other rules/tiers descriptions should go to the extended details UI.
- Basket tier (
totalStep) — Applied after each defined basket total is reached, multiple steps available. Here, the step between each tier can be different and the value should increase with each tier. We recommend to show on the discount card UI the highest value of the last tier and other rules/descriptions should go to the extended details UI.
Depending on the discount and offer type, different metadata might be available to be shown on the UI or not:
- Original product price — this is available for simple discounts in case there is single product applicable and not available if all products/categories are applicable or in case of complex discounts.
- Usage limit — in case a coupon is multi-use, you should always indicate on the UI what is the limit and how many usages are left.
- Max quantity per transaction — an optional configuration to limit how many products are getting a discount within a single transaction. This is important to be highlighted on the UI to avoid users accidentally buying more than the discount will affect.
- Stacking rules — a discount might be configured to stack with others or not. Should be highlighted on the UI.
- Coupon redemption location — what are the stores/chains that you can redeem your coupon in. Should be listed on the coupon’s UI.
- Activation status — a coupon could be pre-activated, not-activated or activated. In some cases it could also be manually deactivated by a user. We recommend you to show these statuses on the coupon card UI and show some kind of a CTA to trigger activation.
- Sorting/filtering — by default if you call an endpoint to get all available coupons, you will receive all of them sorted by date which could be changed for you on the integration layer or you can do you own sorting in the app. We recommend you to have multiple places/screens where you show different types of coupons, to avoid long scroll and have a dedicated focus areas for highly relevant coupon types.
- Coupon image — an image is important to be chosen correctly to indicate what are the products to receive a discount, especially if they are multiple or even whole categories applicable. See an example for reference -
Get Coupons
The GET /v3/customers/{customerId}/coupons endpoint retrieves a list of available coupons for the user to display in your app. Without filters, the response contains all coupon types mixed together, including Game Rewards, App Coupons, Member Offers, and more.
You can also organize different coupon types into separate lists or sections within your app—just ensure they remain easily discoverable for users.
The response includes comprehensive data for each coupon, such as date intervals, activation limits, image URLs, and other details. We recommend creating:
- A minimalistic coupon card displaying only essential information to capture attention
- An expanded coupon details view showing complete terms and conditions
Activation
In the Admin Portal, offers can be configured as pre-activated, meaning the coupon is immediately ready for use without additional user actions.
For non-pre-activated offers, users must perform an activation step in the app. Simply add an action button to the coupon card UI that calls the POST /v3/customers/{customerId}/coupons/{couponId}/activate endpoint. After activation, indicate to the user that the coupon is ready for redemption during their next store visit.
Deactivation
Users can perform a deactivation step in the app. All coupons can be deactivated, including pre-activated. Deactivating the Coupon will make it not available for POS, allowing more gradual control into which coupons apply for a purchase. Simply add an action button to the coupon card UI that calls the POST /v3/customers/{customerId}/coupons/{couponId}/deactivate endpoint. After activation, indicate to the user that the coupon will not be redeemed during their next store visit, unless they activate it again.Last modified on August 13, 2026