'No venue (online or to be announced)']; foreach ($venues as $v) $venueOpts[$v['id']] = $v['name'] . ($v['city'] ? ', ' . $v['city'] : '') . ($v['capacity'] ? ' (' . $v['capacity'] . ' seats)' : '') . ($v['is_active'] ? '' : ' [inactive]'); $cover = upload_url($ev['cover_image']); ?>
Events

New event

Start with the basics. You add tickets on the next step.

$ev, 'tab' => 'details']); ?>
true, 'maxlength' => 190, 'class' => 'span-all']), allowed_html() ); ?> 120, 'help' => 'Leave empty to create one from the title. Shown as ' . url('/e/') . '…', 'pattern' => '[a-z0-9\-]*']), allowed_html() ); ?> 60, 'help' => 'Used for the filter on the home page, e.g. Music or Talks.']), allowed_html() ); ?> 300, 'class' => 'span-all', 'help' => 'Shown on event cards and in link previews.']), allowed_html() ); ?>
Format text, add images and video from the Media Library, or paste a YouTube or Vimeo link on its own line. Large video files play better from YouTube or Vimeo.
$venueOpts, 'help' => 'Address, map, access notes and capacity come from the venue.']), allowed_html() ); ?> 0, 'help' => 'Leave empty to use the venue capacity. Cannot exceed it.']), allowed_html() ); ?> true]), allowed_html() ); ?> 1): ?> language_options('Site default (' . GATECRAFT_LANGUAGES[language_default()] . ')'), 'help' => 'The language of this event page, its booking pages and buyer emails, for visitors who have not chosen one.']), allowed_html() ); ?> 1, 'max' => 100, 'help' => 'Leave empty for no limit across the whole booking. Each ticket category can also have its own maximum.']), allowed_html() ); ?> 3, 'maxlength' => 5000, 'class' => 'span-all']), allowed_html() ); ?>
['draft' => 'Draft (hidden)', 'published' => 'Published', 'archived' => 'Archived'] + ($ev['status'] === 'cancelled' ? ['cancelled' => 'Cancelled'] : [])]), allowed_html() ); ?> ['public' => 'Public, listed on the home page', 'unlisted' => 'Unlisted, link only']]), allowed_html() ); ?> $ev]); ?>
'Card (Stripe)'] : []) + array_map(fn($m) => $m['name'], offline_methods()); $allowedPay = json_decode((string)($ev['payment_methods'] ?? ''), true); ?>
Payment methods $pl): ?>
> 4, 'id' => 'f_payd_' . $pk, 'help' => 'For example another bank account or PayPay ID. Leave it as it is, or empty, to use the default from Settings. You can use {amount}, {booking_reference} and {pay_deadline}.']), allowed_html() ); ?>

No payment method is on. Turn one on in Settings, Checkout and payments.

Buyers choose one of these at checkout. Free tickets skip payment. Edit methods
Current cover image JPG, PNG or WebP up to 6 MB. The banner is shown at a 4:3 ratio, so 1600 × 1200 works best.
'Switch off to show the image as it is. The text then sits on a translucent panel.']), allowed_html() ); ?>
$ev, 'isNew' => $isNew]); ?>
Cancel

Danger zone

Cancelling stops sales, closes unpaid bookings and, if you choose, emails every confirmed buyer. Refund paid bookings from the Bookings page afterwards.

'off']), allowed_html() ); ?> 1000]), allowed_html() ); ?>

Delete is only possible while the event has no bookings.