Industry guide · Booking & Scheduling

Custom Event Ticketing Platforms: Where Your Fees and Fan Data Actually Go

The short answer

Build when the fee stack and the locked fan graph cost you more per season than the software ever will. In Digital Heroes delivery experience across 2,000+ projects, a focused first release, meaning your own checkout, inventory engine, seat maps for your actual rooms, and door scanning, runs $60,000 to $130,000 and ships in 12 to 16 weeks. A full platform with settlement, memberships, transfers, and multi-promoter tenancy runs $150,000 to $400,000 phased across 6 to 12 months. Below roughly 40,000 tickets a year in general-admission rooms, stay on Eventbrite and stop reading. Above that, with reserved seating and co-promoter splits, the build typically pays back inside two seasons.

Why ticketing software makes or breaks a live events operator

You run four rooms: a 2,800-cap theater, a 1,400-cap club, a 600-cap listening room, and a 350-cap bar with a stage. Call it 300 shows a year. The theater sits on an AXS or Ticketmaster agreement because the national promoter you co-book with insists on it. The club is on Eventbrite. A Sunday matinee series still runs on Etix because someone set it up in 2016 and nobody wants to be the person who breaks it. Your box office manager maintains a Google Sheet that reconciles all three, because none of the three agree on what a ticket even is: one counts comps as sold, one counts them as zero-dollar orders, one hides them entirely.

Here is where the money actually goes. Eventbrite's published US list pricing for the Professional package is 3.7% plus $1.79 per ticket, with payment processing another 2.9% on top. On a $32 face value ticket that is about $2.97 of platform fee before processing touches it. Move 210,000 tickets across your rooms in a year and that is over $620,000 leaving the building. Yes, you can pass it to the fan. That is the trap. The fan's tolerance for the all-in price is fixed at roughly $42 whether you like it or not, so every dollar the platform takes out of that ceiling is a dollar of your own service fee, your own facility fee, your own ticketing revenue that you cannot charge.

Then Thursday night happens. A local hardcore band sells out the club. Your talent buyer wants to email everyone who bought a metal show in the last 18 months to seed the next one. What you can get is a CSV with an email address and an event name. Not the seat. Not whether they scanned in. Not whether they bought two beers or none. Not whether they are the same human as the person who bought under a Gmail alias at the theater. You do not have a database. You have a report.

Problem one: you do not control the fee, and you do not control the checkout

The fee is not a line item you negotiate once. It is a structural position. On a platform deal the vendor sets the fee schedule, the vendor's name is on the receipt, and the vendor's checkout decides whether you can sell a $32 ticket with a $6 parking add-on, a $14 shirt, and a $95 four-show punch pass in one transaction. You cannot. So the shirt sells at merch, the parking sells at the lot, and the punch pass does not exist.

Eventbrite, Etix, and See Tickets cannot fix this because the fee is their business model, not a setting. Even the flexible ones give you a percentage slider inside their fee, never the fee itself.

A custom build inverts it. You go direct to Stripe or Adyen and negotiate interchange-plus at volume instead of paying a marked-up 2.9% plus $0.30. Your fee engine becomes rules you own: a per-order facility fee that scales with room, a waived fee for members, a $2 surcharge on the co-promoted shows where you eat the guarantee, dynamic fees by tier. Your cart holds tickets, parking, merch, food and beverage credit, and a season pass in one payment intent with one refund path. That single change, moving from a marked-up processor to a direct one, typically recovers a meaningful slice of the build cost before any fee strategy is applied.

Problem two: your fan list is a report, and the platform knows it

The lock-in is not contractual, it is architectural. Ticketmaster and AXS deals put their brand on the confirmation email, their cookie on the fan's browser, and their identity record at the center. You get exports. You do not get the graph.

What you need is boring and specific: a person record that dedupes across email, phone, and payment method fingerprint, so the guy who bought as jsmith@gmail in 2023 and j.smith+tix@gmail last Friday is one human. Attached to that person: every order, every seat, every scan timestamp, every no-show, every refund, every bar tab if your point of sale (POS) is Toast or Square, every genre tag from the shows he actually walked into rather than the ones he clicked.

No off-the-shelf platform will build this, because the fan belongs to them. In a custom build the identity service is the spine and everything else writes to it. Then Klaviyo, Salesforce, or your own campaign tool queries it: everyone who scanned into a metal show in the last 18 months, spent over $60 lifetime, and lives within 30 miles. That is a list you can monetize, and it is the asset that survives you switching anything else.

This is where AI does real work. A model over that scan-and-spend history forecasts walk-up volume and no-show rate per show type, so your door staffing and bar par levels stop being guesses. Lapsed-buyer win-back sequences write themselves against real attendance, not email opens. And an after-hours agent on your site handles the private hire and group sales inquiries that currently die in an inbox until Monday, pulling live availability and placing a hold before the lead goes cold.

Problem three: seat maps that cannot model your actual room

Your theater has 14 obstructed-view seats behind a column, ADA positions that must pair with a companion seat and release together at 48 hours out if unsold, a pit that flips between 400 GA standing and 180 cabaret tables of four depending on the show, and a balcony you kill entirely for anything under 900 sold because you cannot staff it.

Try expressing that in Eventbrite's reserved seating. You cannot. So your box office manager runs the pit as a separate event, kills the balcony by manually holding 600 seats one at a time, and tracks the ADA companion pairing in a notebook. That notebook is a lawsuit.

A custom build treats inventory as a state machine, not a picture. Each seat carries a state: available, held, killed, comped, reserved-in-cart, sold, transferred, scanned. Holds carry a reason code and an owner, artist holds versus production kills versus press, and they expire on a schedule you set. ADA seats carry a companion constraint the engine enforces rather than a human remembering. Configurations are versioned per show, so the same room is GA on Friday and cabaret on Saturday without cloning events. You can license seats.io for the rendering and keep the inventory logic yours, which is usually the right call. What you must never do is let a vendor own the state machine.

Problem four: onsale at 10:00:00 is a distributed systems problem

Ninety seconds decides your year. Eleven thousand people hit one endpoint for 2,800 seats. Half of them are bots. If your site holds and the queue is fair, you sold out. If it stalls, the inventory leaks to StubHub and Vivid Seats at three times face and the artist's manager calls your general manager on Monday.

On a platform you rent their queue and their bot posture, and you find out how good it is at 10:00:01. You cannot instrument it, cannot tune it, cannot explain to the fan why they got a spinner.

A custom build means you own the mechanics: a token-based waiting room that admits at a rate your inventory service can absorb, inventory pre-sharded so hot sections do not serialize on a single row lock, idempotency keys on every payment so a double-tap does not double-charge, cart holds with hard expiry, and device plus behavioral signals throttling the scripted buyers. This is also the single most common place a cheap build fails, so it gets load-tested at three times your worst historical peak before the first real onsale, not after it.

Problem five: settlement still runs on a spreadsheet at 1am

After the show your promoter rep sits in the office with the artist's tour manager and a printout. The deal is a $12,000 guarantee versus 85% of net box office after a $9,500 expense pool. Someone is retyping gross out of Eventbrite, subtracting comps by hand, arguing about whether the $4 facility fee sits inside net, and cutting a check at 1am. Do that 300 times a year across four rooms and two co-promoters and you have a full-time reconciliation problem and a recurring relationship dispute.

No ticketing platform settles a versus deal, because settlement is your business logic, not theirs.

A custom build stores the deal memo as structured terms: guarantee, split percentage, expense pool, what counts as net, bonus thresholds. The settlement engine reads live box office and produces the sheet before doors close, with a full audit trail behind every number. AI does the intake here: drop the signed deal memo or contract PDF in and extraction pulls the terms into fields for a human to confirm, instead of your rep keying them at midnight. Co-promoter splits, tax withholding by jurisdiction, and payouts flow into your accounting system rather than a Dropbox folder named final_v3.

What this costs and how long it takes

These are Digital Heroes delivery bands from 2,000+ projects, not market averages. A focused first release, meaning your own checkout, the inventory state machine, seat maps for your real rooms, a scanner app, and the identity spine, is typically $60,000 to $130,000 and ships in 12 to 16 weeks. That is enough to move one or two rooms off platform and start proving the fee math with real numbers. A full platform adding settlement, memberships and season passes, official transfers and resale, multi-promoter tenancy, and deep integrations lands at $150,000 to $400,000 phased across 6 to 12 months.

What pushes you toward the top of the band in this category specifically: reserved seating in a genuinely irregular room, offline-capable native scanner apps on both iOS and Android against hardware you already bought, official transfer and resale, which drags in identity verification and anti-fraud, PCI scope if anyone insists on touching card data instead of tokenizing, multi-entity settlement, tax rules across states or countries, and legacy inventory sync with a Ticketmaster or AXS allocation you cannot fully leave yet. That last one is the quiet budget killer. Scope it explicitly with the vendor in the room, or it eats a phase.

Build versus buy: my position

Stay on the off-the-shelf tool if you are under roughly 40,000 tickets a year, your rooms are general admission, you have one legal entity, no co-promote splits, no season or membership product, and nobody upstream of you is holding your inventory hostage. Eventbrite is genuinely good at that job and you will not beat it on cost. Building at that volume is a vanity project that will consume your operations director for a year.

Build when these show up. Your annual platform fee spend passes about $250,000, meaning the software costs less than one season of fees. Your rooms have inventory rules the platform cannot express and your staff has invented manual workarounds that create legal exposure. You settle against artists or co-promoters and someone retypes numbers after midnight. You want a membership, subscription, or season product the platform will not sell. Or you have concluded that the fan graph is the actual asset of a live events business and you do not own yours.

The strongest signal is the workaround census. Ask your box office manager to list every manual step between an onsale and a settled show. If that list runs longer than fifteen items, the platform is no longer your ticketing system. It is your bottleneck, and you are paying it a percentage of every ticket to be one.

How to choose a developer for a custom ticketing platform

Make them model your weirdest room on a whiteboard before you sign anything. Give them the obstructed seats, the ADA companion pairing, the pit that flips configurations, the artist holds that expire. If they draw a seating chart instead of a state machine with hold reason codes and expiry rules, they think this is a CRUD app. It is not, and they will discover that during your first onsale, which is the worst possible time.

Ask what happens at 10:00:00. The answer should include a waiting room admission strategy, how inventory is sharded so a hot section does not serialize, idempotency on payment intents, cart hold expiry, and a load test plan at multiples of your historical peak. Vague answers here are disqualifying, no matter how good the portfolio looks.

Probe compliance concretely. Which PCI SAQ level does their architecture land you in, and why, and does any card number ever touch your servers, where the correct answer is no. How do they handle the FTC's all-in pricing requirement for live event tickets, the BOTS Act, and WCAG on the accessible seating purchase path, which is both a legal exposure and the thing platforms do worst.

Finally, ask about the exits. Integration track record with Stripe or Adyen, Apple Wallet and Google Wallet passes, your actual scanner hardware, your point of sale, and your accounting stack. Then get code ownership in writing, plus infrastructure in your own cloud accounts under your billing, plus a documented handover. If a developer will not hand you the keys, you have swapped one lock-in for a smaller and worse one.

Research & sources

The evidence behind this guide

Independent findings on why this investment pays off. Every link goes to the primary source.

  1. In an RCT, the no-show rate was 23.5% for patients receiving a text-message reminder versus 38.1% for the control group - a 14.6 percentage-point reduction (p = 0.04). Source: Clinical Pediatrics / PubMed Central (Lin et al.) (2016) →
  2. SMS reminders that stated the specific cost of the appointment to the health system reduced missed appointments in Trial One, with the DNA (did-not-attend) rate falling from 11.1% (control) to 8.4% (specific-costs message) - an odds ratio of 0.74 (95% CI 0.61-0.89), i.e. roughly a 24-26% relative reduction - at no additional cost. (Trial Two replicated this at an 8.2% DNA rate.). Source: PLOS ONE (Hallsworth et al.) (2015) →
  3. The performance gap between digital and AI leaders and laggards is widening: McKinsey reports leaders pull ahead on shareholder returns, and the average maturity spread between top and bottom performers jumped ~60% (from 10 points in 2016-19 to 16 points in 2020-22), reinforcing that the returns to transformation concentrate among top performers. Source: McKinsey & Company (2023) →
  4. Brandon Hall Group research on onboarding reports that done well, structured onboarding drives measurable gains in new-hire productivity, employee engagement, and retention; the page notes 41% of organizations experience greater than 5% turnover among new hires. Source: Brandon Hall Group (2024) →
Rohan Malhotra · Enterprise Software Consultant

Rohan advises mid-market and enterprise teams on ERP, CRM and custom software, and has led delivery on dozens of business-software builds.

Writes for Digital Heroes, shipping business software for 2,000+ brands across 55+ countries since 2017.

FAQ

Frequently asked questions

How much does a custom event ticketing platform cost for a venue group doing 200,000 tickets a year?
At that volume expect $150,000 to $400,000 for a full platform phased over 6 to 12 months, or $60,000 to $130,000 for a focused first release in 12 to 16 weeks that moves one or two rooms off your current provider. Those are Digital Heroes delivery bands across 2,000+ projects. At 200,000 tickets you are likely paying well over $500,000 a year in platform fees, so the payback math usually works inside two seasons. Reserved seating, settlement logic, and offline scanner apps are what move you toward the top of the band.
Is building our own ticketing system actually cheaper than Eventbrite fees?
Above roughly 40,000 tickets a year, usually yes. Eventbrite's published US list pricing for the Professional package is 3.7% plus $1.79 per ticket with 2.9% payment processing on top, which works out to about $2.97 of platform fee on a $32 ticket before processing. Below 40,000 tickets a year the build cost will not clear that spend and you should stay put. The bigger prize above that threshold is not the fee saving, it is owning the fan data and the checkout.
Can we migrate off Ticketmaster or AXS without losing our seat maps and past orders?
You can rebuild seat maps and import order history, but you rarely get a clean handover, so plan for a rebuild rather than a migration. Seat maps are typically recreated from your venue plans, which is a good thing because you will finally model your holds, kills, and ADA pairing correctly. Past orders usually arrive as CSV exports with email, event, and amount, so you will lose seat-level and scan-level history and should backfill only what you can. Budget for a season of running parallel before you fully cut over.
How long before our next onsale can we have a custom ticketing system live?
A focused first release ships in 12 to 16 weeks, so if your next major onsale is more than four months out you can be on it. Do not put your highest-demand show on a brand new platform first. Run a low-risk room or a mid-week show through it, load test at three times your worst historical peak, then graduate the big onsales. Any developer promising six weeks has not thought about the queue.
Do we own the code if an agency builds our ticketing platform?
You should, and it must be in the contract before work starts. Insist on full IP assignment, source in a repository you own, and infrastructure running in your own cloud accounts under your billing. Add a documented handover and, if the vendor is small, a source code escrow clause. If a developer resists any of this, you are trading platform lock-in for agency lock-in.
Do we have to be PCI compliant if we run our own ticket checkout?
Yes, but good architecture makes that a light burden rather than an audit. If card data never touches your servers and you tokenize through Stripe or Adyen using their hosted fields, you land in a much smaller SAQ scope. Ask any developer which SAQ level their design puts you in and why, before you sign the statement of work. A build that stores or processes raw card numbers on your infrastructure is an expensive mistake.
Does a custom ticketing platform have to show all-in pricing?
Yes. The FTC's rule on unfair or deceptive fees requires live event ticket sellers to display the total price including mandatory fees up front, and it applies to you whether you sell through a platform or your own software. Building your own actually makes this easier, because your fee engine calculates the true total at the first price display instead of bolting fees on at checkout. Have your developer show you the pricing display logic, not just describe it in a meeting.
Should we build our own seat map editor or license seats.io?
License the rendering, own the inventory logic. Seat map editors are a solved and expensive problem to rebuild, and seats.io or a similar component saves you weeks of frontend work. But never let a vendor own the seat state machine, meaning available, held, killed, comped, sold, transferred, scanned, because that is where your holds, ADA companion rules, and configuration flips live. Keep that in your own service and treat the map as a view over it.
Will a custom ticketing site survive a 10am onsale for a sold-out show?
Only if it was designed for that from day one, which is the most common failure point in this category. You need a token-based waiting room admitting at a rate your inventory service can absorb, inventory pre-sharded so hot sections do not serialize on a single row lock, idempotency keys on payment so a double-tap does not double-charge, and cart holds with hard expiry. Ask any developer to describe all four before you hire them. Then require a load test at three times your worst historical peak, run before the first real onsale rather than after it.
How much does it cost to build a custom booking system for my business?
Most custom booking systems cost $15,000 to $60,000 to build, based on what Digital Heroes has delivered across service businesses from salons to clinics. The low end covers a single-service scheduler with payments and automated reminders; the high end adds multi-staff calendars, memberships, packages, and a client mobile app. The single biggest cost driver is how many scheduling rules your business runs on: staff availability layers, buffer times, room or equipment conflicts, and cancellation policies.
How hard is it to move my client and appointment data out of Mindbody or Acuity?
Both platforms export clients and appointment history as CSV files, so the core migration is routine, typically 1 to 2 weeks of cleanup, field mapping, and import testing. The genuinely hard parts are stored payment cards, which cannot be exported directly and need a PCI-compliant token transfer through your payment processor, and future recurring bookings, which usually get rebuilt by script. Schedule the cutover for your slowest week and run both systems in parallel for a few days.
Should I hire a freelancer or an agency for my software project?
A skilled freelancer is the right call for a single-discipline scope under roughly $15,000, like a website, a plugin, or one integration. Above that, projects need design, backend, testing, and project management at once, and a solo builder becomes the single point of failure: if they get sick or take a bigger client, your project simply stops. Agencies bill 20-40% more per hour but carry continuity, code review, and someone to escalate to, which is what you are actually buying.
Can I build my product on a no-code tool like Bubble instead of hiring developers?
For testing whether anyone wants the product, yes, and Bubble's paid plans start at $29 a month, which is the cheapest validation you will ever buy. The ceiling arrives with complex data relationships, heavy integrations, performance at a few thousand users, and the fact that you cannot export a Bubble app to servers you control. A path many Digital Heroes clients take: prove demand on no-code, then rebuild custom once revenue justifies it, treating the no-code version as a paid prototype rather than a foundation.
What happens to my software if the agency shuts down or we stop working together?
Nothing dramatic, if the engagement was set up correctly: the code sits in your repository, hosting runs on your cloud account, and a handover document explains how to deploy and operate the system. Any competent replacement team can then take over in days rather than months. If the agency controls the repo, the servers, or the domain, fix that now, because renegotiating access during a dispute is the most expensive place to discover the problem.
Can custom booking software actually reduce no-shows?
Yes, and the two levers that work are card-on-file deposits and layered reminders, meaning an SMS at 24 hours with a confirm-or-reschedule link. Across the service businesses Digital Heroes has built for, a $10 to $20 deposit at booking cuts no-shows harder than any reminder cadence, because a financial commitment changes behavior more than a text does. Custom software lets you set deposit rules per service or per client's track record, something Calendly and Acuity apply per appointment type at best.
How many people does it take to build a booking platform?
A typical booking system team is four to five people: a project manager, a designer, one backend developer, one frontend developer, and part-time QA. On Digital Heroes projects that team ships an MVP in 6 to 10 weeks; a solo developer can build the same system but usually needs about three times the calendar time. You only need a larger team if native iOS and Android apps ship at the same time as the web platform.
What tech stack should a booking and scheduling platform use?
The stack that has aged best across our booking builds is React or Next.js on the frontend, Node.js or Django on the backend, PostgreSQL for data, Stripe for payments, and Twilio for SMS. PostgreSQL matters more than people expect because booking systems live or die on transactional integrity: two people must never win the same slot. Be wary of anyone proposing a no-code tool for the core calendar engine; those work for booking pages, not for concurrency-safe scheduling.
What mistakes do businesses make when building custom booking software?
The most expensive mistake is under-specifying scheduling rules; teams say they want Calendly but for their business, then discover 40 edge cases mid-build, each one a change order. The second is rebuilding every feature of the old tool, including ones staff never used, which inflates scope 20 to 30 percent in Digital Heroes audits of inherited projects. The third is skipping a parallel-run at launch; keep the old system live for two weeks so a bug never means an empty calendar.
We have outgrown Calendly. When is it actually worth building our own booking system?
Build when your scheduling no longer fits Calendly's model of one person, one event type, one slot. The triggers we see most: bookings tied to rooms or equipment, appointments needing multiple staff at once, pricing that varies by client or demand, or paying for 20+ seats at Calendly's $16 per user per month and still exporting everything to spreadsheets. Below roughly 10 users running simple 1:1 meetings, Calendly stays the cheaper option and custom rarely pays off.
Should I hire a freelancer or an agency to build my booking app?
A strong freelancer works for a simple booking page with payments, roughly the $5,000 to $12,000 range in our experience. Choose an agency once the project needs a designer, backend and frontend developers, and QA working at the same time, which describes nearly every system with staff schedules, payments, and reminders. The practical freelancer risk is bus factor: if one person leaves mid-project, an agency replaces them and you cannot.
Keep reading
let's build

Build something worth launching.

A plan, a team, a timeline, within 24 hours. No decks, no discovery calls. Tell us what you're building and we'll come back with a real scope and a real number.

message us directly · we reply within one business day

mission briefing

Monthly dispatch

Playbooks, real build costs, and what we're shipping. One email a month. No fluff.

visit us

New York HQ

1140 Broadway, Suite 704 · New York, NY 10001

Get directions
Online now

Hey there 👋 How can we help you today?