Skip to content

Booking Editor

The Booking Editor is where you create and modify all your reservations. This modal interface adapts to your specific needs, whether you're booking a single bowling lane for a walk-in customer or coordinating a multi-asset corporate event.

Three Booking Types: Product Bookings for regular activities like bowling, mini golf, or meeting rooms; Event Bookings for special events and parties with simplified group management; and Asset Blocking to mark assets unavailable for maintenance or special purposes.


Using the Booking Editor

How to Open the Editor

You can select asset times by choosing time slots on the calendar then saving selections, edit existing bookings by opening any booking and choosing "Edit" on any booking product, or use the right-click shortcut by right-clicking available time slots for quick access.

Editor Interface

The editor uses a tabbed interface that dynamically adapts based on your context and selections:

The tab selection logic considers factors like existing selections, opportunity context, and calendar entry points. When you have active selections or enter from an opportunity record, the system defaults to the Event tab with enhanced functionality.


Product Booking Tab

This is your main booking interface for regular activities like bowling, mini golf, meeting rooms, and other standard services.

Product Selection

Choose from your available products using the dropdown menu. The system automatically filters products into standard_products and event_products arrays, showing only regular products (those without the is_event_product flag) in this tab. This filtering ensures clean separation between standard bookings and special events.


Event Booking Tab

Perfect for parties, corporate events, tournaments, and any booking that needs multiple assets or special coordination.

Event Product Selection

The dropdown shows only event products (identified by the is_event_product flag in your system). These are automatically filtered from your product catalog and typically include birthday party packages, corporate event options, tournament setups, and special group activities. Event products are designed with simplified pricing structures and enhanced group management capabilities.

Asset Management

Asset Assignment - The system automatically assigns the best available assets, but you can review which specific assets are assigned and see time ranges for each asset. Assets are grouped by class for better organization and include detailed time range information.

Event Duration

All-Day Events: Toggle the "All-Day" option for events that run during your full operating hours. Perfect for:

  • Private parties with exclusive access
  • Corporate events with extended time
  • Tournaments that need setup and breakdown time

Custom Time Ranges: For events with specific start/end times:

  • Use the time pickers to set exact times
  • System automatically calculates duration
  • Conflict detection prevents double-booking

Asset Blocking Tab

Use this tab to mark assets as unavailable for maintenance, cleaning, or special circumstances.

Why Block Assets?

Common Reasons include scheduled maintenance or repairs, deep cleaning or sanitization, equipment setup for special events, safety inspections or compliance checks, and facility improvements or renovations.

Blocking Configuration

Reason for Block requires a clear explanation in the text field (255 character limit). This mandatory field helps other staff understand why assets are unavailable and creates an audit trail for operational decisions.

Block Duration

All-Day Blocking: Perfect for major maintenance or facility improvements. Covers your entire operational hours for the selected date.

Custom Time Ranges: For shorter maintenance windows or specific setup requirements:

  • Set precise start and end times
  • System warns if blocks conflict with existing bookings

Booking Workflow Examples

Standard Product Booking Workflow

  1. Select Calendar Slots: Use calendar selection tools to mark time slots, open the modal by clicking the save button
  2. Open Product Tab: Editor automatically opens with Product tab active based on context evaluation
  3. Choose Product: Select from the standard_products list excluding event products
  4. Configure Details: Complete the pricing group quantity selection & choose a time slot
  5. Review and Save: System validates the booking product and handles asset reservation
  6. Process Payment: Open the booking within the EPOS for transaction processing and customer assignment

Event Planning Workflow

  1. Access Event Tab: System may auto-select Event tab when the opportunity context is detected
  2. Select Event Product: Choose from filtered event_products list
  3. Set Asset Count: Use stepper controls, or type a number to specify asset quantity with automatic asset assignment
  4. Configure Timing: Utilize integrated timepicker component with timezone-aware date/time handling
  5. Review Asset Assignment: View booking_assets list with asset information and time ranges
  6. Complete Event Details: Form persistence maintains state across tab switches and modal interactions
  7. Save Event Booking: Comprehensive validation and backend integration with conflict detection

Asset Blocking Workflow

  1. Open Block Tab: Access blocking functionality with tab state controlled by isBlockTab getter
  2. Enter Reason: Mandatory text field with 255 character limit for audit trail documentation
  3. Set Quantity: Stepper control with automatic asset selection based on availability algorithms
  4. Choose Duration: All-day toggle or custom time range using integrated time management system
  5. Apply Block: Validation for date and time selections

Advanced Editor Features

State Management and Persistence

The booking editor implements sophisticated state management to ensure smooth user experience:

Form Persistence maintains your selections when switching between tabs or temporarily closing the modal. The system tracks editing states through is_editing flags and preserves form data across interactions.

Asset Reservation automatically reserves selected assets during the booking process, preventing conflicts with concurrent users. The system handles asset release on errors or cancellation through cleanup mechanisms.

Validation and Error Prevention

Real-time Validation provides immediate feedback, which evaluates tab-specific requirements and form completeness.

Date and Time Validation includes timezone-aware date checking to prevent past date bookings, and time range validation to ensure logical start/end time relationships.

Race Condition Prevention protects against concurrent booking attempts and ensures data consistency during high-traffic periods.


Tips and Best Practices


Quick Reference

Tab Selection Logic

Entry ContextDefault TabTab AvailabilityKey Features
Regular SelectionProductAll tabs availableFull booking options form integration
With Selections/OpportunityEventProduct tab disabledSimplified group management
Asset BlockingBlockBlock tab focusedMandatory reason specification

Validation Requirements

Tab TypeRequired FieldsKey ValidationsSpecial Features
ProductProduct selection, time slotsDate/time validation, availability checkingProduct Booking integration
EventEvent product, asset countDate/time validation, asset availabilityAutomatic asset assignment
BlockReason (255 chars), asset countDate/time validation, conflict checkingAsset reservation system

Integration Points

SystemPurposeKey Features
EPOSTransaction processingCart booking, permission validation
TimepickerDate/time selectionLightning Message Service communication
Asset ManagementResource allocationAutomatic assignment, conflict prevention
Validation SystemError preventionReal-time feedback, race condition protection

Technical Features

FeatureImplementationBenefits
State PersistenceForm data preservation across interactionsSeamless user experience
Modal PositioningDynamic viewport-aware placementPrevents overflow issues
Asset ReservationTemporary asset locking during editingPrevents booking conflicts
Race Condition PreventionConcurrent operation protectionData consistency assurance