Event sign-up widget
Sign-ups for courses, events and single dates directly on your website, with products, required fields and payment.
The widget shows an event from vynst (inwendo ERP) with dates, location and prices, and accepts sign-ups. It asks exactly for the details you set up for the event, checks free places and the sign-up period, and opens the payment page if needed.
<div data-iw-event-signup
data-iw-host="club.iw-erp.de"
data-iw-event-id="523"></div>
<script src="https://club.iw-erp.de/frontend_assets/backend/iw_erp_web_ui/event-signup.js" async></script>
Shortcode: [iw-event-signup host="club.iw-erp.de" event-id="523"]
Which event
| Attribute | Meaning |
|---|---|
data-iw-event-id |
ID or short name (slug) of the event. Short form: data-iw-event |
data-iw-event-token |
token of a non-public event (starts with EBE) |
data-iw-invite-token |
token of an invitation (starts with BEIV) |
data-iw-booking-id |
offer only this one date |
data-iw-selected-product |
preselect this product |
Only enter tokens if you have them. Placeholders such as optional would be sent as a real token.
More options
| Attribute | Default | Meaning |
|---|---|---|
data-iw-redirect-payment |
on | false: do not open the payment page automatically, only show the link |
data-iw-success-payment-base-url |
payment page of vynst | own address for the payment link. The payment token is appended. |
data-iw-session-token |
empty | session of a logged-in member. The member then signs up with their account. |
data-iw-theme…, data-iw-text-… |
Styling and texts |
Texts you change often: send (button), success (message afterwards), notYetOpen (sign-up not open yet), legal (note on the terms).
Set up in vynst
- The event must be public and allow sign-ups via the website. Non-public events are released with
data-iw-event-token. - Your website must be listed under CORS - Permitted origins. See Enable in vynst.
- If Registration - Minimum app version (
event_sign_up_allow_self_min_ui_version) is set, the widget must be at least this version. The widget reports itself as2026090201. A higher value in vynst blocks sign-ups via the website. - For paid sign-ups, set up a payment provider.
Events
iw:event-signup:ready, :validated, :submitted, :payment-opened, :error and :link (click on a link in the widget). An example for Google Analytics:
document.querySelector('[data-iw-event-signup]')
.addEventListener('iw:event-signup:submitted', () => {
gtag('event', 'sign_up', { method: 'vynst' });
});
API
The widget uses GET /api/event/base_event/{id}, POST /api/event/public/test_base_event_signup for the check, and POST /api/event/public/base_event_signup to sign up. If you want to build your own form, you will find them under Events.