Publish an event
Upload photos, add flexible text and image sections, choose your public organizer name and publish a stable event link.
An event is a shell with dated occurrences
Create the event in Event Management in Boni Panel, then add at least one occurrence and one ticket type. Nothing is bookable until the event is published.
| Field | What it controls |
|---|---|
| Name, description, media | What the public page shows |
| Venue and address | Where it happens, including map location where provided |
| Timezone | How start and end times are displayed; India Standard Time by default |
| Slug | The shareable public URL segment for the event |
| Status | Draft, published, archived or cancelled |
An occurrence is one dated instance with its own start, end and capacity. Choose Show dates only when a date is confirmed but its clock time is still to be shared. A recurring workshop is one event with several occurrences, which keeps the page, branding and reporting together.
Ticket types
Each ticket type is priced and limited independently.
| Setting | Effect |
|---|---|
| Price | Zero makes the type free; any other amount routes the order through payment |
| Maximum per order | Caps how many of this type one booking may contain |
| Sales window | Opens and closes sales for this type without unpublishing the event |
| Per-occurrence capacity | Caps this type for a given occurrence |
Two caps, deliberately
Occurrence capacity is a shared ceiling across every ticket type in that occurrence. Per-occurrence type capacity caps one type within it.
Set both when a venue has a hard headcount but you also want to limit a specific category. For example, a 50-seat occurrence can carry an unlimited-by-type student category and a 10-ticket guest category: the venue never oversells, and guests stay capped at 10.
Availability is enforced atomically at booking time, so two people booking the last seat at the same moment cannot both succeed.
Checkout rules
An event can require details before a booking completes and limit the size of one order.
| Rule | Use it for |
|---|---|
| Require buyer phone | Registrations you will contact or verify |
| Require buyer email | Anything that must receive the confirmation and ticket links |
| Maximum tickets per order | One-registration-per-person events such as affiliation-gated entry |
Registration questions
Open Booking & registration in the event editor. Add short text, phone, select-one or checkbox questions, with optional hints and HTTPS information links. Mark only necessary answers required. A required declaration starts unchecked for the customer; optional marketing updates should include a no-updates choice.
The event owns its questions, so the same configuration drives the booking UI and authorized API. Answers are private: open an order’s Details to read the labels and answers captured at booking time. Editing a question later does not rewrite earlier answers. Order lists, public pages, ticket wallets and QR codes do not display them.
Ticket descriptions, visibility, capacities and sales windows survive ordinary event edits. Use sales windows for early-bird and standard packages sharing the same occurrence capacity. The public page offers the currently active prices.
Photos and public contact
Open Events → Edit. In Event photos, choose Upload photos and select JPG, PNG or WebP files from your device (up to 10 MB each). You can add up to 12 photos, preview them, move them up or down, and remove them. Add an image link instead is available if you already have an HTTPS image URL. The first photo is the cover.
With multiple photos, Automatically cycle through photos is on by default; turn it off for manual browsing. Visitors can pause, choose thumbnails, use arrows or swipe. Automatic cycling pauses during interaction and respects reduced-motion preferences.
Add page sections
Choose Add section under Page sections. Add a title, text, photos or any combination. Use the formatting buttons for bold, italic, lists and links, and Preview formatting to check the result. Move sections up or down to control their order.
Choose Slideshow, Photo grid, or Photos beside text. Show the whole image works well for partner logos; Fill the frame works well for photographs. Each section supports up to 12 photos, with up to 12 sections and 60 section photos per event. Section slideshows start with manual browsing; enable automatic cycling when useful.
For a previous-event section, add a title such as “A look at our last event”, a short recap and photographs. For partners, use a photo grid with whole-image display, logos and a short introduction. The same sections also work for an itinerary, venue details or anything else your visitors need.
Turn off Show this section on the event page to keep a section as a private draft. Removing a photo from a section removes that reference. Uploads stay private until they are used in a published event’s visible photos or sections. Save the event to update its existing public page.
Change your public organizer name
Open Event Management → Organizer profile, or choose Edit organizer name and contact details in the event editor. Set Public organizer name to your business or organizer name. Public email and phone are optional. Choose Save organizer details.
The new name appears at the top of your event pages. Existing event links stay the same. This edits public branding and contact details; legal, GST and settlement details are managed separately. If another administrator saved first, reload before saving again.
In Contact section, choose Use organizer details, Custom event contact, or Hide contact section. Custom name, note, email, phone and HTTPS website fields are optional. Add an email, phone or website for the public contact section to appear. Hiding the section retains your custom details for later. These are public organizer details; keep private attendee information out of them. Save the event to update its existing public link.
A consistent public link
The event editor suggests a public slug from its name. Choose a distinct slug before saving; the saved public slug stays stable when you edit the event name. Published pages use https://bino.bot/e/<publicSlug>. The slug must be unique. Use Open event on a published event to open its shareable page.
For a recurring workshop, add several occurrences to one event. Create a separate event when its description, venue or offer needs its own page.
Manage your team
In Boni Panel, select your organization and open Workspace → Team access. An owner or admin can invite a member by email, choose their role, and select access to installed apps. Choose Admin for another event organizer who should manage the team. You can edit or remove their access from the same screen. Team access is part of the workspace and does not require an HR app.
The screen shows member-seat usage and any configured limit. Invited and active members count toward usage. Adding a member does not itself introduce a new charge.
Request a change
Open Workspace → Requests, describe the change or problem, and send it to Boni. You can add details and track review, progress and the outcome in the same place. Leave out passwords and sensitive customer information. Add modules remains the place to request another app; its review progress also appears in Requests.
Boni reviews requests before starting work. Approved product changes become a tracked task aimed at improving the shared product. Completion appears as being verified until Boni confirms delivery. You can withdraw a request before approval.
Vendors and costs
Open Vendors & costs on the event. Add the suppliers involved, describe their roles, and add planned cost lines in rupees with delivery status and notes. For example, breakfast and honey can come from different suppliers without needing a special event template.
Save the plan before leaving. If someone else saves first, the screen asks you to reload so their work is preserved. Supplier contacts and costs are private organizer information.
With Accounting installed for the same organization, Load suppliers & bills lets you link canonical supplier and invoice records. Boni Accounting takes you to the shared financial workflow. Marking a delivery received does not post an invoice or pay a supplier.
Publish when the event, dates, ticket types and checkout setup are correct. Review Organizer, tax & settlement before opening paid bookings.
Next: Booking and payments.
Authorized integrations
The organization API exposes the same vendor plan:
| Operation | Route |
|---|---|
| Read the current plan and version | GET /v1/org/events/{eventId}/operations |
| Save a reviewed plan | PUT /v1/org/events/{eventId}/operations |
A save supplies expectedVersion, suppliers and costLines; API money amounts are integer INR paise. A stale version returns 409, so an integration reloads and reconciles the plan before submitting again. An exact replay produces the same result. These records stay private to the organizer.
Use the authorized organization integration route and credentials provided during onboarding. Keep credentials out of public event links and pages. Optional Accounting references link the existing supplier and invoice owners; they do not create another financial ledger.
Registration API contract
Authorized event writes use bookingPolicy.registrationQuestions with up to20 questions. Each question has a stable fieldId, label, type (text, phone, select or checkbox), optional required, hint, HTTPS informationUrl, and distinct options for select questions. Booking APIs accept registrationAnswers keyed by field id. Required answers and valid choices are enforced before inventory holds; unknown fields are rejected. The scoped order-detail API exposes snapshots of answered labels and values, while ordinary summaries omit them.
Presentation API contract
Authorized event create/update APIs accept the ordered images array (zero to 12 HTTPS URLs), optional gallery: {autoplay: false} for manual browsing, and optional contact with mode (inherit, custom or hidden), name, role, email, phone and HTTPS website. Omitted fields in a partial update are preserved. Both public event URL formats use the same presentation.
Optional ordered contentBlocks use a stable blockId, title, body (Markdown), images, layout (gallery, grid, image-left, image-right), imageFit (cover or contain), gallery.autoplay and visible. Hidden sections are excluded from public projections. Omitted fields in partial updates remain unchanged.
Upload a file with POST https://panel.boni.one/api/event-ticketing/media, using the authorized organization bearer key and multipart fields file and orgId. The response contains asset.url, which can be added to event or section images. An identical retry reuses the photo. Do not put integration keys in public pages or URLs.
Read public organizer details with GET /v1/org/profile; save with PUT /v1/org/profile using the current expectedVersion, name, contactEmail and contactPhone. Empty contact strings clear those optional fields. A stale version returns 409; reload and reconcile before retrying.