Chatbot Training FAQ Manager & Partial Reservation Completion
Chatbot Training FAQ Manager
A dedicated interface to view, create, edit, and delete every question-answer pair the chatbot has been trained on — giving you full control over your bot's knowledge base from one central place.
🧠 What changed
Until now, training FAQs could only be created through conversations (by clicking "Train bot for this response" or "Improve bot response" on a message). Once created, there was no way to review, correct, or delete them. This caused a growing, unmanageable set of training data with no visibility.
The new Manage Training FAQs view solves this completely.
📍 Where to find it
In Chatbot, click the "Manage Training FAQs" button in the top-right corner.
This opens a full drill-down view. Your conversations stay intact — click "Back to Conversations" (outlined button, top-left) to return. The view is also URL-persistent: refreshing the page while inside the manager keeps you in the manager, not back at conversations.
📋 The training FAQ table
The table shows every FAQ the chatbot has been trained on — both event-specific and site-wide.
| Column | Description |
|---|---|
| Question | The question the bot knows how to answer (up to 2 lines shown) |
| Answer | The response the bot provides (up to 2 lines shown) |
| Scope | Whether the FAQ applies to a specific event or the entire site |
| Visible | Whether the FAQ is published on the public FAQ page |
| Last Updated | Date and time the FAQ was last modified |
| Actions | Edit and Delete buttons |
Scope chip
| Chip | Color | Meaning |
|---|---|---|
| Event name (e.g. "Summer Festival") | Blue | Applies only to that event's chatbot |
| Site-wide | Purple | Applies to the entire site's chatbot |
Visible chip
| Chip | Color | Meaning |
|---|---|---|
| Yes | Green | Published on the public FAQ page |
| No | Grey | Only used internally for chatbot training |
🔍 Filters and search
Use the search bar to find FAQs by question or answer text. Additional filters let you narrow down:
| Filter | Options |
|---|---|
| Scope | All scopes, Event-specific, Site-wide |
| Event | Dropdown of all events (only visible when Scope = Event-specific) |
Filters combine — for example, scope "Event-specific" + a specific event shows only that event's training data. Use "Clear filters" to reset all at once.
➕ Creating a new FAQ
Click "Add FAQ" (top-right) to open the creation form. Fill in:
| Field | Details |
|---|---|
| Question | The question the chatbot should recognize |
| Answer | The response the chatbot should give |
| Apply to | "This event only" or "Entire site" |
| Event | Dropdown to select which event (only shown when "This event only" is selected) |
| Publish in FAQ page | Checkbox — if checked, the FAQ also appears on the public FAQ page |
Click "Create FAQ" to save. The table updates immediately.
Scope rule: If you don't have a white-label site, only "This event only" is available as scope.
✏️ Editing an existing FAQ
Click "Edit" on any row to open the edit form with the current values pre-filled. Modify any field and click "Save changes". All changes apply immediately to chatbot training.
Tip: Use edit to correct typos, improve the phrasing of an answer, or change the scope of an FAQ that was created for the wrong event.
🗑️ Deleting an FAQ
Click "Delete" on any row. A confirmation dialog asks you to confirm before the FAQ is permanently removed from chatbot training data.
Note: Deleting an FAQ does not delete the original conversation that generated it.
📱 Mobile support
The manager is fully responsive. On small screens, FAQs display as cards instead of table rows, each showing:
- Question (bold, 2-line clamp)
- Answer (muted, 2-line clamp)
- Scope and Visible chips side by side
- Date of last update
- Edit and Delete buttons
🔐 Permissions
| Role | Access |
|---|---|
| Owner | Full access — create, edit, delete |
| Administrator | Full access — create, edit, delete |
| Producer | Can create, edit, delete (assigned events only) |
| Analyst | No access to training management |
💡 Summary
- New "Manage Training FAQs" button in Chatbot header
- Full CRUD — create, view, edit, and delete any training FAQ
- Drill-down UX — no nested tabs; clean navigation with a persistent back button
- URL state — refreshing keeps you in the correct view
- Scope chips — instantly see if a FAQ is event-specific (blue) or site-wide (purple)
- Visible chips — see at a glance if a FAQ is published on the public FAQ page
- Filters — search + scope filter + event filter
- Mobile-friendly — card layout on small screens
Partial Reservation Completion
Complete only the tickets you need from an existing reservation — without cancelling anything. The remaining tickets automatically stay as a live reservation.
🧠 What changed
Previously, if a customer had 20 tickets reserved and only 4 were ready to be paid and picked up, the only option was to: cancel the entire reservation, create a new one for 4 tickets, complete it, then create another one for the remaining 16. Every time. That is three operations instead of one.
With partial completion, you select exactly how many (and which) tickets to complete in the same Complete purchase modal you already know. The selected tickets become a purchase, and the remaining ones are automatically preserved as a brand-new reservation — same customer info, same expiry, same payment method — no manual work required.
📍 Where to find it
In Ticket Office → Reservations, click the "Complete" action on any eligible reservation. The same Complete purchase modal opens, now with an additional "Tickets to complete" section at the bottom when the reservation has 2 or more tickets and is not a cart reservation.
Note: Cart reservations do not show the partial completion section. Complete them normally as before.
🎛️ Selecting tickets to complete
The selector adapts automatically based on the reservation type.
Numbered-seat reservations
Each seat appears as a compact chip showing the seat label (e.g. 2-A, 5-B). All seats start selected by default.
| Interaction | Result |
|---|---|
| Click a selected chip (blue, filled) | Deselects that seat |
| Click a deselected chip (outlined) | Selects that seat |
| Checkmark icon | Always visible — fades in/out so chip size never changes |
A counter chip in the section header shows "selected / total" at all times (e.g. 4 / 20).
Normal (non-seated) reservations
Each ticket type shows its name, the total reserved quantity, and a −/+ stepper to choose how many of that type to complete.
| Control | Behavior |
|---|---|
| − button | Decrease quantity (disabled at 0) |
| + button | Increase quantity (disabled at max reserved) |
| Number display | Always shows the current selection |
📊 Live summary
When the selection is fewer than the total, a summary bar appears at the bottom of the section:
| Pill | Color | Shows |
|---|---|---|
| Completing | Blue (primary) | Number of tickets that will become a purchase |
| Remaining as reservation | White with border | Number of tickets that will stay as a new reservation |
When all tickets are selected (full completion), the summary bar hides and the flow behaves identically to a normal complete.
✅ What happens after confirming
- The selected tickets are converted into a Purchase under the original reservation ID.
- A new Reservation is created automatically with the remaining tickets, keeping the same customer details, event date, expiry, payment method, and observations.
- If an email address is provided, the customer receives the confirmation email with the PDF of the completed tickets.
- If a ticket design is configured, the PDF is generated and can be printed or sent.
- The reservations table refreshes immediately, showing the new reservation alongside any others.
Tip: The new reservation created for the remaining tickets will appear in the table just like any manually created reservation — you can complete, edit, or cancel it at any time.
🚫 When partial completion is not available
| Condition | Behavior |
|---|---|
| Reservation has only 1 ticket | Selector does not appear — complete normally |
| Cart reservation | Selector does not appear — complete normally |
| 0 tickets selected | "Complete" button stays active but submitting shows an error toast: "Select at least one ticket to complete" |
📱 Mobile support
The entire selector is fully responsive:
- Seat chips wrap naturally across multiple lines with consistent sizing — no layout shift when selecting or deselecting
- Steppers use larger touch targets on mobile (44px hit area) for comfortable tapping
- Summary pills fill the available width side by side and remain readable on small screens
- The section integrates cleanly inside the existing Complete purchase modal scroll
🔐 Permissions
Same as completing a full reservation.
| Role | Access |
|---|---|
| Owner | Full access |
| Administrator | Full access |
| Producer | Full access (assigned events only) |
| Analyst | Read-only — cannot complete reservations |
💡 Summary
- No more cancel-and-recreate — partial completion replaces a 3-step manual workaround with a single action
- Seat-by-seat selection for numbered events — chip grid with toggle on click, all selected by default
- Quantity steppers for normal events — per-type −/+ controls capped at the reserved amount
- Live summary bar — always shows how many tickets are completing vs. staying as reservation
- Automatic new reservation — remaining tickets are preserved instantly, no extra work
- Full post-completion flow — email, PDF, ticket design, and notifications fire exactly as in a normal completion
- Cart reservations unaffected — they complete as before
- Mobile-optimized — larger touch targets, wrapping chips, responsive layout