# CaptainTicket > Dutch ticketing platform for associations, (sports) clubs, local event > organizers and festivals. Ticket sales, recurring memberships, email > marketing, an integrated waiting-room queue for high-demand drops, > multi-user shop management with roles, and door scanning — in one place. CaptainTicket is aimed at local organizers: sports clubs, cultural associations, theaters and community events. The organizer-facing dashboard is Dutch; public ticket shops are available in Dutch, English, German, French and Spanish. ## Pricing - EUR 0.65 per sold ticket, excluding VAT. - Transaction costs for the supported payment methods are included in the ticket price. - No subscription, no setup fee — organizers pay per sold ticket. ## Features ### Ticketing - Events with unlimited ticket types and time slots (early bird, VIP, day passes, seated time slots). - Guest list (0-cost orders) and invitation links for early access or pre-sale, with per-invitation ticket and order limits. - Discount codes: percentage, fixed amount or a free product, with usage limits, validity windows and per-event/per-tier scoping. - Buyer surcharge option: organizers can pass payment costs to the buyer. - Ticket personalization (holder name and date of birth per ticket). - Branded ticket PDFs and QR carousel: custom accent colors and cover image per shop, with per-event overrides. - Winkel: sell merchandise and gift vouchers alongside tickets, with shipping rates and a voucher scanner for redemption. ### Payments - Processed via Pay.nl. Methods include iDEAL, Bancontact, Payconiq, credit cards and gift vouchers; organizers choose which to offer. - Automatic refunds and payment-status tracking via webhooks. ### Memberships (Leden) - Shop-wide paid memberships with recurring per-period fees: automatic SEPA direct debit or payment links by email. - Family accounts: multiple seats on one membership; the charge is fee × active seats in one transaction. - Member portal via magic link: seats, invoices, preferred payment method. - Optional self-service signup on the shop's own site. - Per-event access grants, member priority sales and guest-list benefits. - Dunning schedule for overdue payments, with a grace period before access is blocked. ### Email marketing - Campaigns and newsletters to buyers who consented at checkout or signed up via the shop page. - Audience is shop-wide and grows automatically with every order. - Per-event unsubscribe, one-click List-Unsubscribe headers, bounce and spam-complaint filtering via Postmark webhooks. - Campaign deep links can carry a discount code. ### Queue (waiting room) - Built-in waiting room for high-demand ticket drops (designed for 50,000–100,000 concurrent visitors). - Lottery at sale start, controlled admission rate, adaptive polling. - Organizer controls: pause, reset, admission interval and batch size; platform-wide kill switch. ### Shop management - Multi-user shops: many users per shop, many shops per user. - Roles: owner, admin, manager, readonly — each sees only what their role allows. - Invitations by email; ownership succession when the last owner leaves. - Live dashboard: orders, revenue, KPIs, recent orders. ### Door scanning - Scan with any phone browser (no app install required), dedicated scanner accounts or hand scanners. - Every ticket is accepted exactly once, enforced at the database level — safe with concurrent doors. - Organizers (manager role and up) can scan with their own account. - Separate voucher scanner for shop merchandise/gift cards. ### Reporting - Visitor and sales statistics per event and per ticket type. - CSV and Excel exports (orders, tickets, check-ins per time slot). ### Public API (read-only, v1) - Token-authenticated REST API at /api/v1 for a shop's own integration: events overview and details with live sold-out availability per ticket tier, ticket shop URLs per locale, and the shop's active payment methods. - Bearer tokens (`Authorization: Bearer ctk_...`) are created by shop admins in the dashboard (Instellingen -> API-tokens), can expire and can be revoked; only the token's hash is stored. - Rate limit: 600 requests per token per rolling hour; errors use stable codes (invalid_request, unauthorized, not_found, rate_limited). Money is integer cents, timestamps are ISO 8601 (Europe/Amsterdam semantics), null capacity/availability means unlimited. - Documentation for developers and AI agents: /docs/developers; machine- readable contract: /docs/developers/openapi.json (OpenAPI 3.1, generated from the implementation's schemas). ## Key URLs - / : homepage (this document's context) - /register : create an organizer account and start a ticket shop - /login : organizer sign-in - /t/ : public ticket shops (per organizer) - /docs/developers : developer documentation for the public API - /docs/developers/openapi.json : OpenAPI 3.1 specification - /privacy : privacy statement - /terms : terms and conditions - /llms.txt : this file ## Contact - Email: info@captainticket.nl