--- url: /guide.md description: >- What Platypus does for a venue — the admin at a glance, and where each feature is documented. --- # What Platypus does Platypus sells tickets for small theatre venues. You get public event pages on `platypus.tickets` under your own venue address (`/t/your-venue/`), an admin for running them, and checkout that pays into **your own Stripe account**. Platypus never holds your money. ## Your admin Sign in at `https://platypus.tickets/t/your-venue/auth/login` with your admin email. Forgotten your password? *Forgot password?* on that page emails you a time-limited link to set a new one. The dashboard shows what's coming up and what needs doing. Each upcoming event offers its everyday actions right there: open it, view its tickets page, print the door sheet, and copy the public event link. The next-event card also offers **Copy door link** once a [door check-in link](/guide/door-checkin) exists. Everything else hangs off the sidebar: | Area | What it's for | | --- | --- | | **Events** | Create and manage events — dates, description, images, and ticket types. [Setting up an event](/guide/setting-up-an-event) · [Cancelling & restoring](/guide/event-lifecycle) | | **Tickets** | Sales tallies per event, issuing tickets yourself (including comps), printable door sheets, PDF re-downloads. [Tickets and delivery](/guide/tickets-and-delivery) | | **Venues** | Your directory of performance venues, used when scheduling multi-date events. Appears when your venue produces shows across more than one location | | **Mailing list** | Subscribers, tags, and campaigns. [Mailing list & campaigns](/guide/mailing-list) | | **Customer segments** | The audiences discounts and campaigns target — every mailing-list tag is a segment. [Customer segments](/guide/customer-segments) | | **Reports** | Sales, page views, mailouts, issues, and the audit log — with CSV exports. [Reports](/guide/reports) | | **Security** | Your own sign-in: password, multi-factor authentication, and recovery codes. [Account security](/guide/account-security) | | **Users** | Delegated team logins with roles. [Team users](/guide/team-users) | | **Account and Billing** | Your Platypus subscription. [Subscription & billing](/guide/subscription-and-billing) | | **Payments** | Connect your Stripe account so paid checkout works, and act on any flagged payment exceptions. [Stripe payments setup](/guide/stripe-payments) · [Payment exceptions](/guide/payment-exceptions) | | **Settings** | Organisation details, ABN and ticket terms (see [Business identity](/guide/business-identity)), Site Domain (for embeds), [contact details](/guide/contact-form), [mail provider](/guide/mail-settings), [appearance](/guide/appearance), and [timezone](/guide/timezone) | ## Your public pages Visitors see your events at `https://platypus.tickets/t/your-venue/events` — a listing of everything published, each with its own detail page and its **Buy tickets** button. The listing and per-event cards are built to be [embedded in your own website](/api/embeds), so the Ticket Office lives where your audience already is. ## The two prerequisites for selling 1. **Connect Stripe** — paid checkout stays hidden until your Stripe keys are saved and verified. Five minutes: [Stripe payments setup](/guide/stripe-payments). Free ticket types are the one exception: buyers can claim them before Stripe is connected. 2. **An event with published tickets** — at least one ticket type with capacity, on a published event: [Setting up an event](/guide/setting-up-an-event). Your [Platypus subscription](/guide/subscription-and-billing) bills your platform access. It is deliberately **not** a switch on the Ticket Office; the switch you do have is on each event's Tickets page ([Ticket Office](/guide/ticket-office)). ## Something missing? Looking for a topic that isn't here? That's worth telling us about — email [support@platypus.tickets](/faq/support). --- --- url: /guide/setting-up-an-event.md description: >- Creating an event — metadata, description, single or multiple dates, and ticket types with pricing and capacity. --- # Setting up an event **Events → New event** opens a three-tab form: **Event information**, **Event description**, and **Tickets**. Save sits in the top bar and only appears once you've changed something. ## Event information * **Title** and **category** — the category is your own label (e.g. *Drama*, *Comedy*, *Kids*) shown on the listing. * **Date mode** — one date or several: * **Single**: one date and start time. * **Multiple**: add a stop per performance (two stops can share a date for a matinee and an evening show), each with its own time label (e.g. *7:30 PM*) and location label. Stops can pull a venue from your **Venues** directory (shown when your venue produces shows across more than one location) — picking one snapshots its details onto the stop. Up to 100 stops. * **Location** — the venue/location line shown to visitors (single-date events). * **Event image** — JPG/PNG/GIF/WebP up to 500 KB, shown on the listing and detail page. Uploading the same image twice reuses the stored copy. * **Visibility**: * **Publish status** — *draft* keeps the event invisible to the public; *published* puts it on your listing. Once a published event has sold tickets, the toggle is replaced by a notice: the event must now be [cancelled](/guide/event-lifecycle) rather than reverted to draft. * **Private event** — published but unlisted: reachable only by its link, with an optional **event password**. Private events never appear on your public listing or in the API. * **Over 18** — flags age restriction on the public page. * **Audience** — the event's [mailing-list tags](/guide/mailing-list#tags), applied to buyers who opt in so you can target campaigns later, plus a **reminder** email to ticket holders — on by default, one day before the event; set it anywhere from 0–30 days or switch it off. The reminder is deliberately plain: date, time, venue, and a link to download their tickets (one per order). It carries no event-page link and no promotion, which is what keeps it a factual message rather than marketing under the Spam Act. The public page URL comes from the title and date (e.g. `/t/nbt/events/the-long-run-2030-04-05`); a private event gets a random number in place of the date, so its link can't be guessed. The URL is editable next to the title until first publish. After that it locks, so retitling later doesn't break links you've already shared. ## Event description A rich-text editor for the full pitch (up to 20,000 characters, formatting included). It's shown on the event's public page and returned via the API, so keep it self-contained. The toolbar gives you: * **Text formatting** — bold, italic, underline, strikethrough, headings, block quotes, and left/centre/right alignment. **Undo and redo** live on the toolbar too (or `Ctrl`/`Cmd`+`Z`). * **Lists** — numbered and bulleted, and they nest: press `Tab` in a list item to indent it, `Shift`+`Tab` to bring it back. Nesting is saved exactly as you see it. * **Links** — select text and use the link button; paste or type a URL. Typing a bare URL links it automatically. * **Inline images** — click the image button, drag a file into the editor, or paste one (JPG/PNG/GIF/WebP up to 10 MB; large photos are resized automatically for the web, so phone photos are fine as-is). You'll be asked for a short description of the image for screen-reader users. Leave it blank only if the image is purely decorative; the description can be edited later with the image selected. * **Image size and placement** — select an image and drag its corner handles to resize it. The toolbar's placement buttons float it left or right (text wraps around it), centre it, or stretch it full width; click the active option again to clear it. Drag an image to move it elsewhere in the text. * **YouTube** — paste a video URL to embed the player on the event page. What you see in the editor is what the public page shows. Anything the editor can't produce (scripts, embeds from other sites, pasted-in exotic styling) is stripped when you save. ## Tickets Tickets are sold in **ticket types** (batches) you define per event — for example *General admission* $25 and *Child* $15, or a free ticket. Each type carries: * **Price** (AUD, or mark it **free**) and an optional **surcharge** — buyers see the combined price. A **free** ticket type is claimable through the public checkout with no card step: buyers choose how many, confirm, and get their tickets by email like any paid order. Free tickets carry no per-ticket platform fee, and capacity limits apply exactly as for paid types. * **Capacity** (*ticket limit*) — the number available. Checkout enforces it: once they're gone, they're gone, including while unpaid orders briefly hold seats. * **Order limit** — the most one order can buy. Required, and it must be lower than the ticket limit. * **Publish status** — a *draft* type is invisible to buyers; publish it when you're ready to sell. Publishing the event prompts you about still-draft ticket types so nothing stays accidentally unsellable. * On multi-date events, each type belongs to a **specific stop** — use **Copy batches to all dates** to fan a type out across every performance (stops that have already sold are left alone). Type names must be unique per date. ## Discounts Once tickets are enabled, a **Discounts** tab appears next to Tickets — the home for this event's [discounts and voucher codes](/guide/customer-segments). On a saved event it lists the discounts this event carries, with each one's uses and the dollars it has given customers on paid orders. From there you can create a new discount with the wizard, edit or deactivate one, remove one from this event (the discount itself is kept), or opt into a discount another event already has via **Add an existing discount**. On a brand-new event the tab explains that discounts attach after the first save. Discounts apply per event. A discount this event doesn't carry never applies here: its voucher code is refused at this event's checkout, and if no active discount is carried the voucher field doesn't appear at all. When the field does appear, buyers can **Apply** their code on the first checkout step to see the discounted total before reserving. Duplicating an event copies no discounts. ## Before it can sell A published event with published **paid** ticket types still needs your [Stripe connection](/guide/stripe-payments) before anyone can buy them. **Free** ticket types don't wait for Stripe: an event with free capacity shows its **Buy tickets** button even before payments are set up, offering the free types only. Everything else (the event page, the listing, embeds) works without Stripe too. Online sales run through the event's [Ticket Office](/guide/ticket-office), open from the moment a published event has published ticket types until you close it or the event day passes. Once it's published and selling, [Tickets and delivery](/guide/tickets-and-delivery) covers what buyers receive, and [Cancelling & restoring](/guide/event-lifecycle) covers changing your mind. --- --- url: /guide/tickets-and-delivery.md description: >- Ticket delivery and the door sheet — the confirmation email and PDF download, issuing tickets yourself from the admin, and when paper beats the scan link. --- # Tickets, PDFs & the door **A ticket in Platypus is a PDF**: a bordered stub with the event details on one side and a QR code on the other, ready to print or show on a phone. The QR is what door staff scan on the night. This page covers how those PDFs reach buyers, how to issue tickets yourself, and the printed door sheet. ## How buyers get their tickets The moment an order is confirmed (a payment succeeding, or a free order's final confirmation — see [Stripe payments](/guide/stripe-payments)), Platypus emails the buyer a confirmation with the ticket PDF attached: one document containing every ticket in the order, QR codes included, sent through your [mail settings](/guide/mail-settings). The email doubles as their receipt, itemising ticket prices, any discount, and the total paid with payment date and method. The seller block carries your organisation name, venue address, ABN, and contact email, plus a link to your ticket terms when you've set them (see [Business identity](/guide/business-identity)), and closes with the line that it was sent via Platypus Tickets on your behalf. The email has a plain-text version too, and on hosted mail a reply goes to your From address rather than to Platypus. An order of free tickets skips the payment step: the tickets issue the moment the buyer confirms, the email's totals read *Free*, and there is no payment line. That email is their only receipt — no card statement backs it up. The confirmation screen at the end of checkout shows the same order summary and a **Download your tickets (PDF)** button that returns the identical PDF, so a buyer whose email is slow still walks away with tickets. The download only works for that buyer's own paid order. A pending, expired, or someone else's order gets nothing. For an event with several dates, the email, the confirmation screen, and the tickets all name the exact date purchased — that date's time and location, not another stop's and not your home venue. On single-date events the ticket's venue line is the event's own location if you set one, otherwise your venue address from **Settings**. Two limits worth knowing: * **If the confirmation email fails to send, the sale is safe** — the tickets stay issued and the failure lands in your audit log. Download the order's PDF from the admin **Tickets** page and send it on yourself. * **There is no buyer login and no resend button.** A buyer who loses both the email and the confirmation page needs you: find the order under **Tickets**, download its PDF, email it over. ## Issuing tickets yourself For door sales, comps, and guests, create a ticket group from **Tickets** in the admin: pick the event, enter who it's for and how many tickets of each type, and download the group's PDF (same stub-and-QR layout as an online order) to print or email. Ticket types come from the event's batches (see [Setting up an event](/guide/setting-up-an-event)), and admin-issued counts draw down the same capacity as the [Ticket Office](/guide/ticket-office): asking for more than a batch has left is rejected with the remaining count, and nothing is created. Issuing tickets yourself works whether the Ticket Office is open or closed. Admin-issued tickets are sold tickets everywhere it matters: they appear in the sold totals and on the door sheet, and they scan at the door exactly like a purchase. ## The printed door sheet The door sheet is a printable list of everyone coming. Open it from the **Door sheet** link on the **Tickets** page, the Events list, or the Dashboard (shown only for events with ticketing enabled). The page opens in a new tab: plain black-and-white A4 with no app chrome, made for a printer. It shows the event's title, date, and time, sold totals broken down by ticket type, and one row per sold ticket: a tick-box, the ticket code in monospace, the ticket type, and the name with the buyer's email — `Alex (person@example.com)`. Rows are ordered by name (ignoring letter case), so finding someone with a pen is fast. Only paid tickets appear; pending checkouts and expired orders are excluded. Every printed page carries a footer, ` -