Docs API reference Changelog
Sign in

Changelog

October 2026

  • Fixed Check-in scanner no longer opens the keyboard on iPhone and iPad.

    Tapping the check-in scanner on iOS no longer brings up the on-screen keyboard, and you can now edit quantities when checking in an order.

September 2026

New

Restricted landing pages can have their own authorization copy

The authorization form, confirmation and email for a restricted landing page can now be customized from the landing page itself. Ticket and RSVP holders keep seeing the event's authorization copy, so wording written for a presale gate won't reach them.

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.

  • Fixed Deleted promotion codes and coupons can no longer be redeemed.

    Once a coupon, or one of its promotion codes, is deleted, attendees can no longer apply that code; it shows as not found. Carts that applied it before it was deleted keep their discount.

  • Fixed Attendees can answer required questions added after they registered.

    When you add a required question after tickets are out, attendees, including those with invitation tickets, are sent back to answer it, and an invitation ticket's edit link works.

  • Fixed Declined page preview shows attendee names.

    The RSVP declined page preview now fills in variables like {{ first_name }} the same way the live page does, instead of showing an "undefined variable" error.

  • 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.

Updates by month

2026