BookMe Insights Technical Details
Data Generation Process
The Insights engine uses the following process to generate availability data:
- Initialization
- Loads Insights Settings configuration
- Retrieves advisor and location data
- Prepares simulation parameters
- Validates input configuration
- Simulation
- Runs availability engine simulation
- Processes 60-day forecast window
- Generates hourly time ranges for each advisor and meeting type
- Applies business rules and constraints
- Data Processing
- Enriches time ranges with reasons
- Calculates availability metrics
- Applies location/configuration constraints
- Applies advisor competence constraints (customer type and meeting theme)
Data Structure
Time Range Fields
Date and time related fields are stored using the selected timezone for the insights settings
Field | Description | Format |
---|---|---|
Start | DateTime component | DateTime |
StartDate | Date component | Date |
StartTime | Time component | Time |
Reason | Availability reason | Enum |
MeetingType | Meeting format | Enum |
AdvisorEmail | Advisor identifier | String |
LocationConfigurationName | Location name | String |
SettingId | Configuration ID | GUID |
DayOfWeek | Day of week | Enum |
HourOfDay | Hour (0-23) | Integer |
DurationInMinutes | Time range length | Integer |
NumberOfAvailableMeetings | Available meetings within the time range | Integer |
Time Range Reasons
Availability Status
- Available: Advisor is qualified and free for meetings
- ServiceGroupAvailable: Available through service group membership
Calendar-Related
- ReservedOrBooked: Existing BookMe meeting
- BusyAppointmentInstance: Single private appointment
- BusyAppointmentOccurence: Recurring private appointment
- BusyEventInstance: Single shared event
- BusyEventOccurence: Recurring shared event
Schedule Constraints
- BankClosingDay: Official bank holiday/closure
- Busy: Default calendar busy status
- WorkingFromElsewhere: Remote work status
- MaxMeetingsPerDay: Daily meeting limit reached
- OutsideWorkday: Outside configured working hours
- DayOfWeekUnavailable: Blocked weekday in advisor’s schedule
- MeetingTypeUnavailable: Meeting type not available for advisor
Meeting Processing
- PreProcessing: Pre-meeting preparation time
- PostProcessing: Post-meeting followup time
- TravelTime: Physical meeting travel buffer
- TimeBetweenMeetings: Required meeting gap
Buffer and Qualification
- WorkingTimeBuffer: Working hours buffer
- CalendarTimeBuffer: Calendar-based buffer
- Unqualified: Missing required qualifications (Customer type and/or meeting theme)
- Unbookable: Booking disabled for advisor
Other
- None/Unknown: Default/unspecified reason
Technical Implementation
Data Generation Rules
- Time Range Creation
- Generated in hourly intervals (configurable)
- Always starts at interval boundaries
- Maximum duration of 60 minutes
- Availability Calculation
- Processes advisor schedules
- Validates qualifications
- Applies meeting constraints
- Constraint Processing
- Evaluates calendar conflicts
- Applies buffer rules
- Processes travel requirements
- Checks service group rules