Ir al contenido principal

Embed tickets · Pro plan

The whole checkout, as one part.

Not a link that takes people somewhere else. One iframe tag, and the ticket types, the buyer details, your own questions, the promo code and the running total all happen on the page you already own.

The whole integration

<iframe src="https://your-schedule.eventschedule.com/riverside-sessions?tickets=true&embed=true" width="100%" height="700" frameborder="0" style="border: none;"></iframe>

width: 100%

Riverside Sessions

Saturday, August 15 · 8:00 PM

General admission

$18

Supporter

$35

Promo code
RIVER10
Total $36
Pay $36

One tag, and two numbers in it. Choosing, answering, discounting and totalling all happen right there, in the space you gave it.

01 · The anatomy

Seven layers, and all of them are real.

The embed is not a cut-down version of the checkout that lives on your schedule. It is the same purchase form, in a smaller frame, with the navigation taken off.

  1. Riverside Sessions

    Saturday, August 15 · 8:00 PM

    The header bar

    Your schedule's accent colour, the event name, and the date and start time of the occurrence being sold. The name is a link out to the full event page, and it opens in the parent window rather than inside the frame.

  2. General admission

    $18

    Supporter

    $35

    The ticket rows

    Every ticket type on sale for that date, each with its own price and its own remaining count for that date. A multi-use pass is simply another type, add-ons appear once a ticket is chosen, and a type that has run out reads sold out. When every type has gone, the frame turns into a waitlist form instead of a dead end.

  3. Buyer details

    A name and an email address. Switch on individual tickets and each attendee gets their own row, their own confirmation email and their own QR code.

  4. Your own questions

    Custom fields you attached to the event or to a single ticket type, answered here at checkout instead of in a follow-up email thread.

  5. Codes

    A promo code box, once the event has a live code, and a gift card box on schedules that sell them. A code can also arrive pre-filled from the embed URL, so a link in a newsletter carries its own discount.

  6. Total and pay

    The running total, any discount applied, and the button that starts checkout on whichever payment method the event uses.

  7. Powered by Event Schedule

    The foot

    A "Powered by Event Schedule" line, and the one layer most readers of this page will never meet: the widget needs Pro on the hosted platform, and a Pro schedule does not carry branding. A selfhosted install behaves like a paid plan throughout, so it does not carry it either. In practice the line shows on an operator who runs their own free tier, and nowhere else.

Pro The ticket widget is on the Pro plan, and Event Schedule takes no platform fee on what it sells.

02 · The pin-out

A published interface, so you can wire it yourself.

The copy button hands you a tag that already works. Everything past that is a query string you can edit by hand, which is what makes one widget serve a Spanish page, a dark page and a discounted link without needing three of them.

  • Nothing to install - No script tag, no npm package, no build step. A block that accepts raw HTML is the entire requirement.
  • It cannot drift - Change a price, add a ticket type, sell out a date, and the frame on your site is already correct. The tag never changes again.
  • It works on selfhosted too - The same tag with your own install's address in it. Nothing about the widget calls out to us.

URL parameters

6 rows: one mode, one flag, three you can add
Query-string parameters accepted by the ticket embed URL
Parameter Kind What it does
tickets=true Mode Renders the ticket purchase form. This is what the Embed Tickets link hands you.
rsvp=true Mode Renders the registration form instead, for an event that takes RSVPs rather than payments.
embed=true Required Strips the schedule header, footer and banner, and is the flag that permits the page to be framed at all.
dark=true Optional Forces the dark finish. Left off, the widget follows the visitor's own system setting.
promo=CODE Optional Pre-fills the promo code box, so one link can carry its own discount.
lang=xx Optional Sets the interface language. Twelve are supported, Arabic and Hebrew among them, and those lay the form out right to left.

The height in the tag is a starting figure, not a ceiling. Set it to whatever suits the page, and the frame fills the width it is given.

03 · Finishes

It ships in two, and takes your colour.

Both are shown here at once, on purpose. In the wild the widget picks one from the visitor's own system setting, so it belongs on a dark site and a light site without you configuring anything.

Light finish

default

Riverside Sessions

Saturday, August 15 · 8:00 PM

General admission

$18

Supporter

$35

Total $36
Pay $36

What a visitor whose system is set light sees, whichever mode you are reading this page in.

Dark finish

dark=true

Riverside Sessions

Saturday, August 15 · 8:00 PM

General admission

$18

Supporter

$35

Total $36
Pay $36

The same part with the dark finish, forced by the URL or picked up from the visitor's own setting.

The bar takes your accent colour

The header bar is painted with the accent colour set on your schedule, and the text on it is chosen for you by brightness: white on a dark bar, black on a light one. These four bars are drawn by that same rule, and you can watch it flip halfway along the row.

Riverside Sessions #11429b · white ink
Riverside Sessions #9f1239 · white ink
Riverside Sessions #f59e0b · black ink
Riverside Sessions #34d399 · black ink

Twelve languages

Set lang=xx and the widget speaks it. Arabic and Hebrew lay the whole form out right to left, including the ticket rows and the total.

04 · Payment

None of the ticket price comes to us.

Event Schedule charges no platform fee on ticket sales. Card processing runs through your own Stripe account, so what it costs is between you and Stripe.

Stripe

Opens in the parent window

Your own connected account. The buyer leaves the frame for the payment page and comes back to your site when it is done.

Invoice Ninja

Opens in the parent window

For anyone already invoicing through Invoice Ninja, including the payment-link mode.

Custom payment URL

Opens in the parent window

Point the event at any payment page you already run, and it is used instead.

Cash or at the door

Finishes in the frame

No processor involved. The order is recorded, confirmed and emailed without the buyer leaving your page, and a free ticket on a cash event finishes here too.

Payment portals frequently refuse to be loaded inside an iframe, so the three that use one break out to the parent window rather than failing quietly in a box on your page. It is decided by the event's payment method, not by the amount, and it is the one thing the widget deliberately does outside the frame.

05 · Operating conditions

What the part needs to run.

Short list, and it is the whole list. If the Embed Tickets link is not showing on your event, one of these four is the reason.

Plan

Pro or Enterprise

The ticket widget is a paid feature. The calendar embed, which puts your dates on a page rather than a checkout, is free on every plan.

Event

Saved, and not unlisted

The link appears on an event that exists and is publicly reachable. An unlisted event is link-only and can carry a password, so it gets no widget.

Mode

Tickets or registration on

One of the two switches has to be on. The link appears the moment it is, so add at least one ticket type before you paste the tag anywhere.

Host page

Any HTML

One iframe tag. No script, no package, no build step, and nothing that needs updating when your events change.

Served noindex

The framed page carries a noindex, nofollow tag, so your own page is the one search engines read. The embed never competes with it.

Never carries ads

Free schedules can show ads on their public pages. Embeds are excluded on every plan, so nothing appears on your site that you did not put there.

Framing is opt-in

Only the embed routes may be framed at all. Everything else on the platform refuses, which is why the flag in the URL is not optional.

06 · Fitting it

Three steps, once.

Put something on sale

Open the event, go to the Tickets section, and switch on tickets or registration. Add at least one ticket type so there is something to buy.

Copy the tag

Click Embed Tickets next to the heading. The panel shows the embed URL, the iframe tag and a live preview of the widget as it will look on your page.

Paste it in

Drop the tag into your website's HTML where the form belongs. Any block that takes raw HTML will accept it, and you never touch it again.

Which plan, and which embed

Pro this page

The ticket widget

The purchase or registration form itself, on your page. Comes with the rest of ticketing: promo codes, custom fields, waitlist and QR check-in.

Free the other one

The calendar embed

A different tag for a different job: your whole schedule on the page, linking out to each event. Free on every plan.

Free selfhosted

On your own server

The same widget with your install's own address in the tag, included at no extra cost.

Free forever. Upgrade when you're ready.

$0
Scheduling, calendar sync, newsletters, and 25 tickets a month
$9/mo
Unlimited tickets, QR check-in, event graphics, and no branding

Zero platform fees on ticket sales. You only pay Stripe's processing fee.

See all plans

07 · Questions

Asked before it goes on the site.

How do I get the embed code?

Open the event in the admin portal and go to the Tickets section. Switch on tickets or registration, then click the Embed Tickets link next to the heading (it reads Embed Registration on an RSVP event). The panel gives you the embed URL, a ready-made iframe tag, and a live preview of the widget. Copy the tag into your website's HTML wherever the form belongs.

Which payment methods work inside the widget?

All of them: Stripe, Invoice Ninja, a custom payment URL, and cash or at the door. Which window the checkout finishes in is decided by the event's payment method rather than by the amount. On cash it completes inside the frame. Stripe, Invoice Ninja and custom payment URL open in the parent window instead, because payment portals frequently refuse to be framed, and the buyer lands back on your page afterwards.

Can I use it for free events and registrations?

Yes. If the event takes registrations rather than payments, the tag carries rsvp=true instead of tickets=true and the widget renders the registration form. RSVP with a capacity per date is free on every plan, though the widget that embeds it is on Pro.

Does it follow dark mode?

Yes. The widget reads the visitor's own system setting, so it lands light on a light site and dark on a dark one. Add dark=true to the embed URL to force the dark finish whatever they have set.

What does it cost, and what do you take from a sale?

The ticket widget is on the Pro plan. Event Schedule charges no platform fee on ticket sales at all: card processing runs through your own Stripe account, so what it charges is between you and Stripe. On a selfhosted install the widget is included at no extra cost.

Will the framed page compete with my own page in search?

No. Every embed URL is served noindex, nofollow, so the framed page is never the one a search engine lists. There are no ads inside an embed either, on any plan, and framing is only permitted on the embed routes themselves.

My event repeats every week. Which date does the tag sell?

The tag you copy points at the next occurrence that matches the event's days, worked out at the moment you copy it. Copy a fresh tag when you want the page to sell a later date.

Free to start

Fit it once, and sell from your own page.

width: 100% · height: 700

Claim a schedule, put an event on sale, and copy one tag into the site you already have. Nothing to install, and no cut of the ticket price.

.eventschedule.com
Get started free

No credit card required