Docs API reference Changelog
Sign in

Changelog

September 2026

New

Copy purchaser details onto a ticket

Filling in a ticket on your order no longer means retyping what you just gave us at checkout. Every unassigned ticket now has a "Copy purchaser details" button that fills the form with your name, email, phone and the answers you already gave, ready to save or change — and your ticket email arrives when you save. Tickets are no longer assumed to be for the buyer: a single-ticket order is still filled in for you, except on events that lock ticket details, where it's left open so you can assign it to whoever it's actually for.

  • Improved Reorder custom fields on invitation-only widgets.

    You can now drag and drop custom fields on an invitation-only widget to change the order they appear in on the registration form, just as you can on a landing page.

  • Fixed Add to Wallet for every ticket on a guest invitation.

    Invitation confirmation emails now show an Add to Wallet button for each ticket, so attendees with a +1 can save both passes instead of downloading them as a single zip file.

  • Fixed Tickets wait for payment before their QR code is emailed.

    Filling in a ticket on an order awaiting a bank transfer no longer emails a working QR code before the money arrives — the ticket is sent when the transfer settles, along with every other ticket on the order that's ready.

  • Fixed Ticket pickers only charge for the tickets they show.

    Registration pages and widgets no longer total up a ticket type the visitor can't see or change — a sold-out one, a deleted one, one the page excludes, or one outside the chosen time slot.

  • Fixed Promotion codes in a shared link survive a quantity change.

    A promotion code arriving in the page address — from a shared link, or on a registration page with no code field — is no longer dropped when the buyer changes a ticket quantity, and the buyer's name, email address and other form fields are no longer written into the address.

  • Fixed Income section no longer lingers after every paid ticket type is deleted.

    Deleted ticket types no longer count towards whether an event sells paid tickets, so an event that has gone free reads as one on its dashboard.

August 2026

New

Preselect tickets in a widget button

A widget button can now open with tickets already chosen: add data-tito-q-student="3" for each ticket type you want preselected. Point several buttons at the same widget to offer ready-made packages side by side — a school bundle, a couples ticket, a plain "Register" — all from one page. Discount codes and a narrowed ticket list work the same way, with data-tito-promotion_codes and data-tito-ticket_type_slugs. Learn more →

New

Lock ticket details once they're complete

A new "Attendee editing" section in Settings lets you stop attendees — and buyers holding the order link — from changing a ticket once it has a name, an email address and all its required answers. They see their details laid out instead of a form, with a message telling them how to reach you; you can write that message yourself or use the default. Tickets that still need assigning stay editable so the usual "fill in your details" flow keeps working, though the email address on them is locked too. It's off by default.

New

Optional "Edit details" button on the ticket confirmation page

Event organizers can now show an "Edit details" button on the ticket confirmation page for standalone tickets, giving attendees an easy way to get back and update their name, email, or custom field responses. Turn it on from the "Confirmation" template under Customization — it's off by default so nothing changes unless you enable it.

New

Issue tickets immediately when you approve a registration

Invitation lists that require admin approval now have an option to issue the ticket the moment you hit Approve. Attendees are marked as attending and get their confirmation email right away, so there's no separate step left for them to complete. It only applies to free ticket types, since paid registrations still need to go through checkout.

  • Fixed Phone number formatting when a number is rejected.

    A phone number that fails validation now keeps its country and drops stray formatting characters, so correcting it doesn't mean retyping the whole number.

  • Fixed Phone number errors when editing a ticket.

    Attendees editing their ticket details after purchase now see an explanation when a phone number can't be saved, instead of the form silently refusing to submit — and a phone number stored before it would have been checked no longer blocks unrelated edits to the same ticket.

  • Fixed First ticket of an order is complete straight after purchase.

    The first ticket of an order is now filled in and complete as soon as the buyer has paid, instead of showing as "incomplete" despite everything already being answered at checkout — and it stays editable.

  • Fixed Error messages when saving ticket details.

    Errors when saving ticket details now appear on invoice orders as well, and unanswered-question errors show in the event's own language rather than English on both ticket and registration forms.

  • Improved Order currency and promotion codes in templates.

    Customisable templates that include an order can now show {{ order.currency }} and loop over {{ order.promotion_codes }} to list the codes used and how much each one took off.

  • Fixed Send a message to invitations that have already been sent.

    "Send a message" is no longer greyed out when the invitations you've filtered to have all been sent already — for example when you filter to people who have accepted.

  • Fixed RSVP links in messages to invitees.

    {{rsvp.url}} now works in messages to invitations, and links to someone who has already accepted go straight to their RSVP without asking them to confirm their email address first.

  • Fixed The billing portal now opens your latest subscription.

    If you cancelled and later resubscribed, "Open billing portal" could show your old subscription. It now opens the most recent one, and resubscribing keeps your billing history together.

  • Fixed Expanding the order summary in the widget no longer blanks it.

    Tapping the ticket count in the widget to expand the order summary showed a blank panel. It now stays visible.

  • Fixed Fix landing page error with custom fields.

    Creating a new invitation-only landing page for an event with custom fields no longer raises an error.

  • Improved Reorder custom fields on invitation-only landing pages.

    You can now drag and drop custom fields on an invitation-only landing page to change the order they appear in on the registration form.

July 2026

New

Reporting is now available to everyone

Reporting is out of beta and available on every account. Open Reporting in the event sidebar for sales, income, coupon usage, and invitation response reports — each with date filtering and PDF, CSV, or Excel downloads. Learn more →

New

Default and priority countries at checkout

Attendees no longer have to scroll a long alphabetical list to find their country at checkout. Set a default country (for example, where your event is held) and priority countries in Settings → Localization, and they'll be preselected and pinned to the top of the country list.

New

Add an option to send a confirmation email when adding an attendee manually

When you add an attendee from the admin dashboard, you can now check a box to send them their ticket confirmation email right away, instead of sending it separately afterward.

New

Phone number question type

Ask attendees for their phone number with the new phone number question type. The input pairs a searchable country selector with a number field, recognizes pasted international numbers, and stores every answer in a consistent international format that's ready for SMS delivery. Phone number fields across the dashboard and profile gain the same country selector, and phone answers now display in a readable international format on ticket, order, and check-in views.

  • Fixed Promotion codes now work in the embedded widget.

    Applying a promotion code in the embedded widget no longer leads to a missing page — the discount is applied and the code is shown in the widget.

  • Fixed Optional questions no longer flag manually added attendees as incomplete.

    Manually added attendees no longer show a "Custom field responses missing" warning when the only unanswered questions are optional.

  • Improved Documentation for event reporting.

    The docs now cover event reports — what each report shows, filtering by date, and downloading as PDF, CSV, or Excel. Learn more →

  • Improved Persistent date range for reports.

    Pick a date range once — a custom range or a rolling one like month, quarter or year to date — and every report remembers it, so you don't have to reapply the filter each time you switch report.

  • Improved Add custom styles without overriding a template.

    Add your own CSS to the default web, email, widget, and PDF layouts by creating a stylesheet component — no need to override the whole template to tweak a few styles. Learn more →

  • Fixed Show discard and publish buttons when editing theme in the advanced editor.

    Theme changes made in the advanced editor now surface the discard and publish buttons, so you can save them like anywhere else.

  • Fixed Embedded widget checkout works again on external sites.

    Continuing from a widget embedded on your own website reliably hands over to checkout again, and choosing no tickets shows the error inside the widget.

  • Fixed Start over on the cart no longer shows a blank page for widget checkouts.

    Choosing "Start over" on the cart after starting a widget checkout now takes you back to the widget cleanly, rather than to an almost-blank page that needed a reload.

  • Fixed Free orders no longer show as unpaid or link to an invoice.

    Fixed free orders showing an "unpaid" badge and linking to an invoice on the order detail screen in admin — they're now labeled "free" with no invoice link.

  • Improved Better instructions for setting up your own custom domain.

    Improve the instructions for setting up your own custom domain with more detail and with better feedback on which elements have been done. It now shows your progress and checks your DNS settings.

  • Fixed Widget no longer shows a blank page when you continue without selecting a ticket.

    Continuing through a widget without choosing a ticket now shows the "please choose at least one item" message instead of a blank page.

  • Fixed Custom field descriptions no longer break the surrounding form.

    Fixed custom field descriptions garbling the form markup around them on registration, checkout, and confirmation pages.

  • Improved Checkbox descriptions are now clickable.

    Single checkbox questions now show the question first with the description beneath, and attendees can click anywhere on either to toggle the checkbox.

  • Improved Spot incomplete tickets at a glance in the attendees list.

    Tickets that are still missing a name, email, or a required question answer now show an "Incomplete" badge in the attendees list, and you can filter the list by status to find them.

  • Fixed Send invitations button on invitation lists now respects messaging permissions.

    The "Send invitations" button on an invitation list's overview now honors your account's messaging permissions, matching the gating already applied on the invitations list.

  • Fixed Customize no longer looks blank for invite-only events.

    Events without public registration now show invitation previews in Customize, and Invitations appears in the main sidebar instead of hiding under More.

  • Fixed Order and ticket references shown as opaque codes.

    Order and ticket references that happen to spell real words (e.g. #BEEF) now display in a monospaced font on attendee-facing pages and emails, so they read as codes rather than words.

Updates by month

2026