# Raffles (/docs/live-events/raffles)



A raffle is a campaign with a poster, a set of prizes, optional sponsors, and ticket options that
buyers purchase for a chance to win. Organizers set one up in the dashboard under **Raffles** and
publish it to a public page at `resyevents.com/r/{slug}`. Buyers pick their tickets, pay by card,
and receive their ticket numbers by email.

Raffles share most of their machinery with [Live Events](/docs/live-events) (holds, orders, refunds,
media, themes), but they are a separate list in the dashboard and they never appear among your
events, in event sales totals, or on venue pages.

Who can run one [#who-can-run-one]

Your organization must be set up as an event organizer and your staff need the `events` permission.
Unlike events, a raffle does **not** need a Stripe connection. Raffle payments are processed by
Resytech's own card processor, which is underwritten for raffles and sweepstakes, and Resytech pays
you out afterwards. See [Money and payouts](#money-and-payouts).

Raffle laws vary by state and country. Resytech does not check eligibility, licences, or permits for
you. The **Licence / permit number** and **Rules** fields exist so you can show buyers what your
jurisdiction requires.

Setting up a raffle [#setting-up-a-raffle]

**Raffles > New raffle** asks for the basics. Everything else is added on the raffle's tabs once it is
saved as a draft.

| Field                                | Notes                                                                                                                                                      |
| ------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Title**                            | Shown as the page heading and in the confirmation email.                                                                                                   |
| **Description**                      | Optional. The "About this raffle" section on the public page.                                                                                              |
| **Entries open** / **Entries close** | The sales window. Tickets are only sold between these two instants.                                                                                        |
| **Drawing date**                     | Optional, for display. It must be after entries close.                                                                                                     |
| **Rules**                            | Optional free text shown under "Rules" on the public page.                                                                                                 |
| **Licence / permit number**          | Optional, shown under the rules.                                                                                                                           |
| **Time zone**                        | Taken from the location the raffle belongs to.                                                                                                             |
| **Theme**                            | Optional storefront theme, the same themes events use.                                                                                                     |
| **Pass fees to buyer**               | Off by default. On, checkout adds a service fee line so you keep the full ticket price. Fixed once published. See [Money and payouts](#money-and-payouts). |

Details tab [#details-tab]

Poster image and the raffle gallery, exactly as on an event. The poster is used for the page header
and the social sharing preview.

Prizes tab [#prizes-tab]

Each prize has a name, description, and up to six images. Prizes are listed on the public page in
display order with a "Tickets from $X" line worked out from the cheapest option that enters them.

A prize cannot be deleted once tickets that could win it have been sold or are on hold.

Sponsors tab [#sponsors-tab]

Each sponsor has a name, description, website, and a logo. Sponsors appear in a row of cards on the
public page; a sponsor with a website becomes a link. Logos are drawn on a white chip, so light logos
on transparent backgrounds still show.

Tickets tab [#tickets-tab]

Ticket options are what buyers purchase. One raffle can sell several options side by side, at
different prices and for different prizes.

| Field                         | Notes                                                                                                                       |
| ----------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
| **Name**                      | Shown to buyers, for example "Jet Ski entry" or "3-pack".                                                                   |
| **Price**                     | Required. 0 makes a free entry option.                                                                                      |
| **Entries per ticket**        | How many numbered tickets one purchased unit issues. 1 for a plain ticket, 3 for a "3 for $2.50" bundle. Between 1 and 100. |
| **Quantity available**        | Optional. Leave blank for unlimited.                                                                                        |
| **Min / Max per order**       | Per-order limits, in purchased units (bundles count as one).                                                                |
| **Prizes this ticket enters** | Tick the prizes this option is eligible for. Leave every box clear to enter all prizes, now and in the future.              |

The tab groups options under the prize they enter. An option that enters several prizes, or all of
them, is listed under "Every prize". A worked example:

| Option         | Price | Entries | Enters  |
| -------------- | ----- | ------- | ------- |
| Jet Ski entry  | $1.00 | 1       | Jet Ski |
| Jet Ski 3-pack | $2.50 | 3       | Jet Ski |
| Yacht entry    | $2.00 | 1       | Yacht   |
| Yacht 3-pack   | $4.50 | 3       | Yacht   |
| Grand bundle   | $5.00 | 5       | (all)   |

Buyers can mix options in one order. Whatever the options say, one order is capped at 500 entries in
total.

Once an option has sold or has tickets on hold, its **entries per ticket** and **prizes entered** are
frozen. Buyers already hold tickets under those terms. Price, name, and limits stay editable.

Publishing [#publishing]

**Publish** runs the same checks as an event, with two differences: a raffle does not need Stripe,
and it needs at least one active ticket option (unlimited quantity counts). Raffles always use the
per-ticket fee model; the flat listing fee is not offered. The published banner shows the public
link, `resyevents.com/r/{slug}`.

The public page [#the-public-page]

The page shows the poster, the sales window ("Entries close ..."), the drawing date, prizes with their
images, the description, sponsors, and rules. The ticket panel on the right lists every option grouped
by prize, with an "N entries" chip on bundles and a running total of entries picked.

Before the opening instant the panel says when entries open. After the closing instant it says entries
have closed. If Resytech's raffle processor is not configured, the panel says sales are not open yet.

Buying tickets [#buying-tickets]

1. The buyer picks quantities and taps **Get tickets**. Their tickets are held for ten minutes.
2. Checkout asks for a name and email. No attendee names are collected for raffles.
3. The card fields on the checkout page belong to Resytech's payment processor (NMI). The card
   number, expiry and security code are entered directly with the processor, which hands back a
   single-use token; card details never touch Resytech's servers.
4. After the payment is approved, Resytech verifies the transaction against the order (exact amount,
   currency, and that it is collected money for this order) before it issues anything. A payment
   that does not match is held for a manual check rather than fulfilled or refunded automatically.
5. The confirmation page lists the buyer's ticket numbers grouped by option, and the confirmation email
   repeats them. There are no QR codes: nothing is scanned at a door.

A declined payment leaves the order open so the buyer can try another card while their hold lasts. An
abandoned order is released automatically once the hold lapses. If a buyer pays on a form after their
order has already lapsed, or a limited option sells out while they are paying, the charge is returned
automatically and the confirmation page says the order was refunded.

Managing a raffle [#managing-a-raffle]

* **Entries** lists every ticket number sold with the buyer, option, and time. It is the roster a draw
  would use.
* **Orders** shows each order with its payment provider and transaction reference.
* Refunds are **whole-order only** for raffles: a single ticket cannot be refunded, because a bundle's
  tickets share one price. The raffle's refund policy is always "all sales final", and the
  operator's **Refund anyway** override on the order page is the refund path.
* **Cancel** refunds every paid order and takes the page down, as it does for an event.
* **Resend confirmation** sends the ticket numbers again.

Every paid raffle order also notifies your staff. Root users and anyone assigned to the raffle's
location get an in-app notification, a push notification, and an email naming the buyer, what they
bought, and the total, with a link to the order. Each person can turn the email or push off, or
text messages on, under their notification preferences; the type is called **Raffle Ticket
Sales**. The notification is sent once per order, right after the buyer's confirmation email.

Raffle tickets are refused by door check-in, and per-ticket void or restore controls are hidden on
raffle orders.

Money and payouts [#money-and-payouts]

Raffle payments do not go through Stripe. Resytech is the merchant of record: buyers pay Resytech's
processor, and Resytech pays organizers out.

The **Balance** tab on the raffle shows the organization's raffle balance and payout history:

| Line          | Meaning                                                                                                                                            |
| ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| Gross sales   | Everything buyers paid on the organization's raffle orders.                                                                                        |
| Platform fees | The per-ticket fee on each purchased unit, frozen at publish. Waived on an order that was refunded in full.                                        |
| Processing    | The card processor's fee. The actual amount when the processor reports it, otherwise an estimate. The processor keeps this on refunded orders too. |
| Refunds       | Whole-order refunds already issued.                                                                                                                |
| Payouts       | Amounts Resytech has already paid the organization.                                                                                                |
| **Balance**   | Gross minus the four lines above.                                                                                                                  |

Passing the fees to the buyer [#passing-the-fees-to-the-buyer]

By default both fees come out of your balance and buyers pay the ticket's face value. Switch on
**Pass fees to buyer** on the raffle's details and checkout adds a **Service fee** line instead. The
line is the per-ticket platform fee plus the card processing estimate, grossed up so that after the
processor takes its cut you net the face value of every ticket (plus any tax). A $1.00 ticket with a
$0.25 platform fee shows as $1.00 plus a $0.61 service fee, and your balance gains $1.00 from it.

On the Balance tab the buyer's service fee appears inside **Gross sales**, and the same platform and
processing lines are deducted, so the arithmetic is unchanged; the deductions are simply covered by
what the buyer paid. The fee is always presented to buyers as a service fee, not a card surcharge:
the public page marks priced options "+ service fee", and checkout shows the exact amount before the
card fields. Free entry options never carry a fee. The setting is fixed once the raffle is published,
so the price of a ticket cannot change while people are buying.

Payouts are recorded by Resytech staff after each transfer (bank transfer or check) and show up in the
history with the date, method, and reference. A reference is recorded once per organization. There is
no automatic payout schedule yet; contact Resytech to request one.

Not yet built [#not-yet-built]

* Running the draw and picking winners. The Entries tab is the roster; the draw itself is manual today.
* Winner announcements and a public winners list.
* A raffle-wide cap on total entries across options.
