KUYY logo

Promotions, Discounts & Passes

Group discounts, passes, subscription packages, and add-ons.

Common questions

The price drops gradually as more participants join, reaching its lowest point when the activity is full. The starting price must be at least Rp10.000 and the capacity must be more than 2.

Each time a new participant pays, those who already paid more automatically receive the difference as cashback to their KUYY Balance.

Watch the video tutorial here: https://youtu.be/RIcq_NTXtxA?si=Kl8u704512ct8bN8

Say your class holds 10 people, the normal price is Rp1.000.000 and the full-house price is Rp800.000. KUYY works out the price for every headcount in between automatically.

The first participant pays Rp1.000.000. As soon as a second joins, they pay Rp975.000 and the first receives Rp25.000 cashback. That continues until the tenth participant pays Rp800.000, while everyone before them receives cashback.

So the price drop reaches people two ways at once: as a straight discount for whoever registers later, and as cashback into the KUYY Balance of whoever paid earlier.

Not with a flash sale: while a flash sale applies to a registration, the participant pays the flash sale price and the group price isn't calculated. A pass still works on a group-discount activity, and while a flash sale runs the pass is spent against the flash sale price. Only a voucher code turns the flash sale price off.

While the group discount is active, the activity's starting price and capacity are locked to keep the cashback calculation accurate.

The Affiliate Program lets anyone with a KUYY account share a personal link to your activity or pass, and earn a commission when the person they invite actually joins or buys. Participants still pay the regular price, with no discount.

You fund the commission: it comes off your earnings for that order. Of every commission, KUYY keeps 10% as a service fee and the sharer receives 90%. For example, a Rp200.000 ticket at an 8% commission is a Rp16.000 commission; your earnings on that order go down by Rp16.000, the sharer receives Rp14.400, and KUYY Rp1.600.

The program is only for activities and passes priced in rupiah. You and your staff can't earn a commission on your own activities or passes.

Open Host center, Settings, Affiliate Program (in the app: Host Settings, Affiliate Program). Changes save automatically.

Activities: the Activities switch is the default for activities you create from then on, and the commission is 1 to 20 percent, with up to one decimal place such as 7.5 (8 by default). It applies to every activity in the program except those that set their own commission. Each activity can join or leave the program with the Affiliate Program switch in its form. Activities in the program don't use the Group Discount.

Passes: turn on the Passes switch and enter the commission (1 to 20 percent, up to one decimal place, 8 by default). You can leave specific passes out with Exclude passes, or set them individually with the Affiliate switch in the membership and credit pass forms, including a commission just for that pass. Voucher codes aren't part of the program.

For activities, the commission goes to the sharer when the activity's funds are released to you after it ends. If that participant cancels, is removed, or is refunded before then, the commission is voided and the amount comes back to you; if you had already received the funds, it is returned to your KUYY Balance.

For passes, only a person's first purchase of that pass earns a commission, and it goes to the sharer once the pass payment reaches the host, within a day of the purchase. Repeat purchases and subscription renewals earn nothing more.

There is no commission on registrations paid with a pass, bookings at a First Time Promo price, payments made outside KUYY, or a pass bought together with an activity payment.

Open the Pass menu, then Create a pass, and pick one of three types: Membership pass (a set number of spots, or unlimited access, to join your activities), Credit pass (a credit balance usable only with you, not KUYY Balance; needs Premium), or Voucher code (a price discount through a promo code). Set the price, quota, and validity period.

A membership pass can be turned into a subscription with Set as Subscription, which needs Premium. Participants subscribe with a credit card, are billed automatically every month, and unused credits carry over to the next month.

On the Membership pass and Credit pass forms, Who can see this pass decides where the pass shows up. Public (the default) shows on your profile, website and activity pages. Invite only doesn't show there, but anyone with its link can view and buy it; share the link with the Share button. This is on the web now; in the app it comes in the next version.

Yes, through labels and branches. A pass only works on your activities whose labels match, its quota can be split per label, and the Valid at field decides which branches accept it. A pass can't be locked to one specific activity; if you need that, give that activity its own label. For voucher codes, the Applicable for field decides whether the discount is for Activity, Pass, or Both.

You can also set when the validity period starts counting with Pass Valid From: the purchase date, or the date the participant first joins an activity.

Yes, for membership passes, with the Purchase per participant field on the pass form. Enter 1 if each participant may only buy that pass once, for an intro package for instance. Credit passes have no purchase limit.

Leave it empty if you want them to be able to buy it again and again, such as a monthly package they renew themselves.

For vouchers the equivalent field is Usage per participant, while Total quota caps how many times the code can be redeemed across everyone.

One purchase, and the participant immediately receives as many separate passes as you specify, each worth the same amount.

The appeal is the discount: the package's total worth is the value per pass times the number of passes, and you price it below that. The difference is what shows as the saving on the package card.

Each pass is single-use. Mark it unlimited and the participant receives one pass instead, usable as often as they like until it expires.

This is the type most used on KUYY, so start here if you are unsure which to pick.

Watch the video tutorial here: https://youtu.be/4mNQac-XtNU?si=MB-uXWoPLXsxd85s

Pass Price is the bundle price the participant pays, and that's where your discount sits. Activity Price is the normal price of a single class, what they would pay dropping in without a pass, and it becomes the value of one pass.

Say your drop-in price is Rp150.000 and you want to sell a 10-class package. Put Rp150.000 in Activity Price and Rp1.000.000 in Pass Price. The package is worth Rp1.500.000 normally while the participant pays Rp1.000.000, so they save Rp500.000, or Rp50.000 per class.

Activity Price also caps the value of each use. If a participant uses the pass on a class costing more than that, they pay the difference. In a booking for several people, value left unused on one seat comes off the other seats in that order. The Allow multiple usage switch (on by default) lets a participant use one pass per seat when booking several seats at once. If you turn it off, one booking uses one pass and the other seats are paid; the change applies to passes sold afterwards. In the app the switch arrives with the next app update.

The gap between the normal value and the selling price is what shows as the saving on the package card, so set Pass Price below the normal value if you want the package to look worth buying.

Watch the video tutorial here: https://youtu.be/4mNQac-XtNU?si=MB-uXWoPLXsxd85s

Yes, by combining Pass Quota with labels. Take a 10-session package good for 5 Yoga classes and 5 Pilates classes.

Under Pass Quota, set Quota 1 to 5 and attach the Yoga label. Tap Add Quota, set Quota 2 to 5, and attach the Pilates label.

Each quota then has its own allowance and they can't stand in for one another: the pass holder can only use it for 5 Yoga-labeled classes and 5 Pilates-labeled classes.

The usual label rule still applies: the label on the pass has to match the label on the activity. If a Yoga class is missing its Yoga label, that quota can't be used there.

Watch the video tutorial here: https://youtu.be/bp9TyMmoxQs?si=qX4oJ9KqIM613i16

Credit is not a set of passes. It is a single rupiah balance the participant holds with you, spent against the price of your activities. Creating a credit pass needs Premium.

The value of a single credit in rupiah (1 credit = Rp10.000, say) is set once on the Credit page, opened with Set credit value in the credit pass form, together with a Credit Name (Coins or Points, say), and applies to every credit package you sell, not per package. Creating a package then takes just the Credits (how many credits are in one package) and the Pass Price (what the participant pays for that package), plus the validity settings; the form only displays the credit value you already set. The credit value is what decides how much comes off each time credit is spent on an activity.

The important difference shows on the next purchase. A membership package adds new passes, while credit is ADDED to the credit they already hold, so they keep one balance that grows.

A new purchase adds to the balance and keeps whichever expiry is later, so a shorter package never shortens what you have. The start rule and branches come from the first purchase. Credit with no labels works on any of the host's activities. Credit with labels has its own balance and only works on activities with the same label.

Choose membership when your activities are priced alike and you want to sell a number of slots. Choose credit when your prices vary and you want the balance spent against whatever each one costs.

Watch the video tutorial here: https://youtu.be/1ZMdOINHA54?si=DCpNg46cBpwP36eq

A voucher is a single pass carrying a discount you hand out. Unlike a membership package it is always one, never a number of slots. Its value is not KUYY Balance either: it only works as a discount with the host that issued it.

There are two ways to distribute it. You can give it directly to particular participants, or attach a promo code they redeem themselves. A voucher isn't for sale: it doesn't appear among the passes people can buy on your pass page, website or activity pages, it can't be picked when you sell a pass on the spot, and an attempt to buy one is refused with a message to use its code instead. In the app your voucher can still show on your own activity page until the next update, but it still can't be bought.

When a code is redeemed the system checks that the code exists and its Valid until date hasn't passed, that Total quota remains, and that this participant hasn't reached the Usage per participant limit. Redeeming gives the participant one voucher that must be used to register within 1 hour, even if the activity itself takes place later; entering the same code again within 24 hours doesn't give a new voucher.

Host and label restrictions work exactly as they do for any other pass, so a voucher can still be pointed at classes with particular labels. Promo codes are unique across all your branches, and active voucher codes have their own cap, separate from membership passes: 5 on Free, 10 on Premium, unlimited on Business.

What you set when creating it: the Promo code (letters and numbers only, and it can't be edited after creation), Applicable for (Activity, Pass, or Both), Deduction type (Percentage or Fixed amount), Usage per participant, Total quota, and Valid until.

Watch the video tutorial here: https://youtu.be/1ZMdOINHA54?si=DCpNg46cBpwP36eq

Add-ons are extras for participants, up to 20 per activity. Each add-on must have a name (max 60 characters) and is either free or at least Rp10.000; a description (max 200 characters) and an image are optional. Turn on Limited stock to cap how many can be sold: stock counts separately for every date of a recurring activity, units are held while a payment is pending, and participants see how many are left or Sold out.

Add-ons are optional by default. To require a choice, set Number of choices below the add-on list: Minimum to pick (0 means optional) and Maximum to pick (0 or blank means no limit). Both count different add-ons per booking. A sold-out add-on lowers the minimum, so it never blocks a registration. In the app, this setting arrives with the next update.

Once your activity has an add-on, that activity is automatically treated as a paid activity during the payment process.

Watch the video tutorial here: https://youtu.be/RIcq_NTXtxA?si=Kl8u704512ct8bN8

A flash sale is a time-limited discount you put on one activity or on many at once. Participants see the promo price, a countdown, and the remaining quota on the activity page, and the discount is applied automatically when they register. It is available on every plan; only the number of activities you can put in a flash sale per month differs: 1 on Free, 10 on Premium, and unlimited on Business. Each activity counts once a month, so an activity that already had a flash sale this month can go into another one that month without using a new slot. An activity that was in a campaign after it started still counts, even if you take it out later.

On the web dashboard, open Promotion, then the Flash sale tab; in the app, open Settings, then Host Settings, then Flash Sale (renamed Promotion in the next app update). Then select Create Flash Sale. Give the campaign a name, which is an internal note only and is never shown to participants, pick which activities join it (you can pick several at once), then choose the discount type: a percentage, or a fixed rupiah amount taken off each activity's price. The discount must be at least 20%: a percentage from 20 to 99; a fixed amount of at least 20% of the most expensive selected activity's price and never more than the cheapest one's price. The discounted price is shown straight away as a preview.

Set the period, meaning the start and end date and time. Without a period the campaign is only saved as a draft and never goes live. Finally set the quota per activity, or turn the quota off if you don't want to cap how many discounted registrations there are.

Once published, the campaign stays scheduled until the start time, runs for the period, then ends by itself at the end time or when its quota runs out. From the campaign list you can edit, duplicate, or delete it. A running campaign can still be edited: the start time stays, activities people already bought on the sale stay in, quotas can't go below what's sold, and changes apply to new bookings right away while earlier buyers keep their price. Your activity's base price and your passes are not changed; only the price during the campaign period changes.

If you're on Business and have a website of your own, your flash sales and First Time Promo apply on that website by default. Turn off "Promo prices on your website" at the top of the Promotion page to sell at the normal price there; the KUYY app and website keep them. The setting covers all your flash sales and the First Time Promo at once, and orders already created keep the price they were placed at.

The flash sale quota is counted per activity, not across the whole campaign: a quota of 5 on a campaign covering 3 activities means up to 15 discounted registrations, five on each activity. For a booking of more than one person, the quota is used up by the number of people registered. You can also switch the quota off for no limit.

The remaining quota is reserved the moment a registration is created, including ones still awaiting payment, not when the payment clears. So the remaining count can fall before any money arrives, and it goes back up if the payment is not completed, expires, or the registration is cancelled.

There are two limits when you set the quota: the quota per activity cannot exceed the activity's own quota, and it cannot be lowered below the amount already used. One activity also cannot be in two flash sales whose periods overlap, so edit or delete the older campaign before setting up a new one.

A flash sale is not the same as the group discount, and the two are often mixed up. A flash sale is limited by time and quota, while the group discount drops the price as more participants join.

The First Time Promo gives participants a discount on their first booking with you, on any of your paid activities. Unlike a flash sale, it has no period, quota or activity list: you set it once for all your activities. It is a Business plan feature.

Set the promo up from the web dashboard: open Promotion, then the First Time Promo tab. The same setting is also in Host center, then Settings, Activity Settings, under Promo. In the app, the promo settings come in the next app update (Settings, then Host Settings, then Promotion). Turn on Offer First Time Promo, then enter the Discount as a whole number from 30 to 100 percent; changes save straight away. When you turn the promo off, the percent is kept, so turning it back on uses the same number.

To leave out particular activities, choose Exclude activities and check them. You can also set it per activity in the activity form, under Pricing, More Settings, First Time Promo: Follow host setting, or the opposite of your host setting. Turning it on while the host-wide promo is off asks for the percent, and that percent applies to all your activities that offer the promo. The choice is only there for paid activities.

A first booking means the participant has never had a confirmed registration with you, free activities included, and has never used your promo. A used promo does not come back if that booking is cancelled or refunded. The discount covers one seat per booking, the participant's own; other seats and friends added later pay the usual price. For example, 3 seats at Rp100.000 with a 50% promo total Rp250.000.

If a flash sale is running too, the lower price applies; if the prices are equal, the promo is not used. A pass or voucher the participant picks takes precedence over the promo, and a booking through an affiliate link still gets the promo price but earns its sharer no commission. Participants need a verified phone number to use the promo. You fund the discount: you receive the promo price.

If your plan drops below Business, the promo turns off straight away and the percent is kept. First Time Promo bookings show in your reports: the Promo, List Price and Discount Amount columns in the Sales Recap, the First Time Promo column in the Participant report, and First Time Promo Bookings and First Time Promo Discount in Earnings by activity.

Email campaigns are a Business feature on the web dashboard: open Campaigns (under Analytics), fill in your email settings once, then press New campaign. Each account, every branch included, can send 8,000 emails per calendar month.

Start from a template (Pass expiring soon, We miss you, New activity, Limited-time promo, Thank you for coming) or a blank email. Pick who receives it: all customers, or one or more groups by pass or booking pattern. Someone in two groups still gets one email. Only people who booked or bought a pass with you receive it.

In the editor, the Activity button inserts an activity card with its photo, date, place, price and a booking button. Button color in your email settings sets the color of buttons and cards. Turn on Test a second subject line to send each subject to half the audience.

After sending, the campaign shows deliveries, clicks, unsubscribes and Opened (estimate). Apple Mail opens every email by itself, so opens can read high, and apps that block images are never counted. You see counts only, not who opened.

Full guide

Detailed rules for each related feature, plus important notes.

The Group Discount (full house price) lowers the per-person price step by step with each new participant, until it reaches the lowest price when the activity is full. Participants who already paid a higher price can get the difference back as cashback to their KUYY Balance.

  • •Enter the starting price and the lowest price (the full house price) when you create the activity. The lowest price can't be higher than the starting price, and the starting price is at least Rp10.000.
  • •The price drops per participant: the first participant pays the starting price, and whoever fills the last spot pays the lowest price. You as the host aren't counted.
  • •The Group Discount only works if the activity's capacity is more than 2.
  • •While the Group Discount is active, the starting price and the capacity can't be changed, and the full house price itself can only be set when the activity is created.
  • •About a minute after each new payment, the system recalculates the price and refunds the difference as cashback to participants who paid more. This cashback reduces your earnings from that activity.
  • •Automatic cashback is only calculated from payments whose money is still held until the activity ends. If your earnings arrive as soon as participants pay (Premium and Business plans), no automatic cashback is paid out.
  • •Orders that use a flash sale price don't get the Group Discount price.

Important notes

• The price doesn't wait for the activity to fill up; every new participant lowers the price for the next registrant.

• Automatic cashback isn't paid out on every activity, for example on activities of Premium and Business hosts.

• The Group Discount is different from Group Join: Group Join is about how many people are in one registration.

You can sell three kinds of passes: a Membership pass (a quota for joining your activities, fixed or unlimited, for a set period), a Credit pass (a credit balance that only works at your activities, not KUYY Balance), and a Voucher code (a discount code). A Membership pass can be set as a subscription that is billed automatically every period.

  • •Create a pass from the Pass menu, then choose Membership pass, Credit pass (needs Premium), or Voucher code.
  • •Active packages and active voucher codes are each limited to 5 on the Free plan, 10 on Premium, and unlimited on Business.
  • •Membership pass: set the price, the pass quota (Fixed or Unlimited, can be split per label), the Activity Price (the maximum value per activity; participants pay the difference if an activity costs more), the validity period in months, and Pass Valid From (purchase date or first join date).
  • •Voucher code: set the promo code (it can't be changed after creation), the discount type (fixed amount or percentage), Applicable for (activities, passes, or both), the total quota, the usage per participant, and the end date.
  • •Labels on a pass limit it: an unlabeled pass works on all activities, and a labeled pass only works on activities that share at least one of its labels.
  • •If you use Branch (Business), set Valid at to choose which branches accept the pass.
  • •Set as Subscription (Premium) bills a Membership pass automatically every period. Participants subscribe with a credit card, and each bill carries the admin fee and card surcharge shown on the form.
  • •Pass sales reach your balance 24 hours after purchase, or right away if you're on Premium or Business.
  • •A Membership pass or Credit pass can be set to Invite only under Who can see this pass: it doesn't show on your profile, website or activity pages, but anyone with its link can view and buy it. Public is the default. In the app this option comes in the next version.
  • •A pass can't be used if it's inactive, has expired by the time the activity starts, or doesn't match the activity's host, labels, branch, or currency.

Important notes

• Passes and subscriptions are different: a pass is an asset you own individually, while a subscription is recurring billing for a Membership pass.

• Passes can also come from a Reschedule Pass (from a reschedule or a refund) or from a member import by the host.

• A Credit pass works like a wallet at that host and can't be withdrawn, while a Membership pass holds a quota for joining activities. The two are shown separately in My Pass.

Hosts can add up to 20 extras/add-ons to each activity. Every add-on must have a name and is either free or at least Rp10.000; a description and an image are optional. Add-ons can be managed (added, edited, deleted) at any time from the activity edit page. An activity that has add-ons is treated as a paid activity.

  • •You can add up to 20 add-ons to each activity.
  • •Every add-on must have a name (max 60 characters) and is either free or at least Rp10.000; a description (max 200 characters) is optional.
  • •Turn on Limited stock to cap how many can be sold. Stock counts separately for every date of a recurring activity, and units are held while a payment is pending.
  • •An add-on image is optional, so you can choose to add one or not.
  • •You can add, edit, or delete add-ons at any time from the activity edit page.
  • •To delete an add-on, just click the trash icon on that add-on item.
  • •The save button can only be clicked once every add-on has a name and is free or at least Rp10.000.
  • •You can set how many different add-ons each booking must pick with Number of choices: Minimum to pick and Maximum to pick. Walk-ins, added friends, and bookings you have already approved are not checked.
  • •Once your activity has paid add-ons, it counts as a paid activity during registration for anyone who picks one.

Important notes

• Relationship with Payment: add-ons are separate items in the payment. A percentage-based admin fee is calculated from the total including add-ons.

• Relationship with Pass/Voucher: you can still choose add-ons while using a pass or voucher, but the pass discount doesn't apply to add-ons.

• Relationship with the Group Discount: Group Discount cashback only counts the ticket price, not add-ons.

• Revenue Tracking: for hosts, add-on income is recorded separately from the ticket price in sales reports.