Comprehensive User Guide
Master every detail of Opti-Planning: from employee configuration to generating perfect schedules under legal and financial constraints. This comprehensive guide walks you through step by step.
1. The Philosophy of Opti-Planning
Opti-Planning is not just a digital spreadsheet. It is an artificial intelligence engine (combinatorial solver) that runs directly and locally in your browser, guaranteeing total data privacy.
Its purpose is to calculate millions of combinations per second to find the best possible assignment for your employees, while simultaneously balancing three fundamental and often competing dimensions:
- Demand (Coverage of Needs): Do you have the right number of people, at the right time, with the right skills to run your facility? This is the engine's absolute priority.
- Compliance (Hard constraints): Does the schedule comply with maximum hours, mandatory rest periods (e.g., 11h between shifts), daily shift spans (e.g., 13h max), and consecutive working days?
- Fairness and Preferences (Soft Constraints): Are undesirable shifts (e.g., closing shifts, weekends) fairly distributed across team members? Are employee preferences and unavailabilities respected as much as possible?
Quick Start: Templates
To get familiar with the tool, use the View Template button located at the top right of the application. It allows you to instantly load a full dataset tailored to your industry (Hospitality, Hospital, Retail, 3x8 Factory, etc.) and see how the AI responds.
2. General Configuration & AI
Interface Mode
Before starting, you can streamline the interface by enabling or disabling advanced modules via the checkboxes at the top of the screen: Enable Sequences and Enable Financials. This will hide unnecessary columns and panels if you do not need them.
Schedule Configuration
- Date and Duration: Set the start date and total duration (up to 366 days).
- First day of the week: Crucial for calculating weekly overtime. If your accounting week starts on Monday, make sure this setting is set to Monday.
Export
Set the CSV Separator (Semicolon, Comma, or Tab) used for all application exports to ensure compatibility with your version of Excel or payroll software.
Optimization Configuration (The AI Brain)
These settings dictate the behavior of the calculation engine:
- Intensity and Max Time: Determines calculation depth. "Basic" is very fast, "Intensive" will search longer (up to the specified time limit in seconds) to resolve complex situations or optimize costs down to the exact cent.
- Priority Separation: Defines how the AI handles trade-offs. In "Soft" mode, the AI can accept violating a high-priority rule if it allows satisfying dozens of secondary rules. In "Strict" mode, the priority order is absolute.
- Fairness targets: Select the shift slots here (e.g. Nights, Weekends) that the AI should endeavor to distribute evenly among all employees.
Strategic Priorities (Drag & Drop)
You can reorder the 3 main AI objectives (Costs, Fairness, Preferences) using drag and drop. The top objective will be the AI's top priority.
Pro tip: The toggle button between two objectives switches between > (Strictly greater than) and >= (Equal priority). If you set "Costs >= Fairness", the AI will treat both objectives as having identical importance.
3. Step 1: Shifts and Skills
Before starting, you must define your business framework. These elements will serve as the foundation for all scheduling.
Time Slots (Shifts)
A shift defines a standardized work time slot (e.g., MORNING, EVENING, NIGHT). It has a start time, an end time, and a break duration in minutes. The break is automatically deducted from actual working time for hour and payroll calculations.
Important note: If the end time is earlier than the start time (e.g., 22:00 to 06:00), the system automatically recognizes that it is an overnight shift ending the next day. Rest times will be calculated accordingly.
Competencies (Skills)
Define the roles required for your activity, such as Kitchen, Dining Room, Bar, Manager, Nurse, or Caregiver. An employee may possess one or more of these skills (cross-functionality), and staffing requirements are always set for a specific skill.
4. Step 2: The Employee Grid
This is where you define the legal and contractual profile of each employee. Each column directly impacts the solver's mathematical calculations. Precise configuration is key to a successful schedule.
| Optional. Only used if you want to email the generated schedule directly to the employee using the "Share" button. | |
| Contract | Fixed: The artificial intelligence will try to approach maximum hours to make the fixed salary profitable. Extra (Backup): The artificial intelligence will avoid scheduling them except to cover critical understaffing. |
| Partial Weeks (Start/End) | If your schedule does not start on the first day of your accounting week, the first and last weeks are "partial". You can choose how to calculate the hour quota for these truncated weeks: Proportional (automatically calculated prorata based on days), Manual (you enter the exact quota), or Copy (uses the quota from a full week). |
| Max H/Wk & Overtime | The base contractual hours and maximum allowed overtime hours per week. Exceeding the total generates a blocking error. |
| Hourly Rate & Surcharge | Gross hourly rate and multiplier (e.g. 1.25 for +25%). Used to calculate total cost and guide the AI. |
| Min Rest & Max Daily Spread | Mandatory legal rest period between shifts (e.g., 11h) and maximum daily amplitude (e.g., 13h). Set to 0 to disable. |
| Slots/Day & Consecutive Days | Maximum number of slots per day (2 allows split shifts, 1 forces continuous shifts) and maximum number of consecutive working days. |
| Mandatory Sequences | Check the work sequences (rotations, cycles) this employee must follow. The AI will optimally place them in the schedule. |
5. Step 3: Staffing Requirements
Specify how many people are required for each time slot and skill, day by day. This is the target that the AI will try to achieve.
The Power of Presets
You can create multiple Templates for the same day by clicking + Preset. For example, create a "Low Season" template and a "High Season" template, or "Sunny" and "Rainy". You can then toggle between them with a single click (radio button) to see how the schedule adapts. The active template (highlighted in blue) is the one that will be sent to the AI engine.
- Use the Copy Previous Day button to quickly duplicate all requirements from the previous day.
- Use the small arrow next to a template to copy the values from the template on its left.
- Red cells indicate an invalid value (must be a positive number).
6. Step 4: Schedule Editor and Rules
Once employees and requirements are defined, click Optimize. The engine will clear unlocked assignments and calculate the best possible combination.
Display and Readability
You can adjust cell width and height using the sliders at the top of each grid for better readability. The widths of the Requirements and Schedule grids are synchronized for easier vertical reading.
Managing Contingencies: The Rules System (Locks and Requests)
In the results grid, click on any cell to open the rules menu. This is where you manage leave, sick leave, preferences, or manual assignments.
1. Rule severity
- Blocking (Lock): The artificial intelligence MUST comply with this rule. If it is mathematically impossible (e.g., forcing someone to work when they have reached their hour quota), it will report a blocking error.
- Preference (Wish): The AI will make every effort to satisfy the rule based on the assigned weight (from 1 to 5) and the strategic priority "Honor preferences".
2. Rule Action
- Absence: Blocks any assignment on this day (Leave, Sick, Forced Rest).
- Hard assignment: Forces the employee onto a specific shift AND skill.
- Required Shift (Flexible Skill): Forces the employee to work a shift, but allows artificial intelligence to select their skill based on requirements.
- Conditional rule: If working on this day, the employee MUST perform this skill (but the AI can choose to assign a day off).
- Forbidden: Prevents the employee from working a specific time slot or skill.
Quick and Bulk Action Buttons
- Lock All: Converts all AI-computed assignments into strict rules. Useful if you are satisfied with the current schedule and want to freeze a baseline before re-running optimization on the rest.
- Unlock All: Removes all manual rules (locks and preferences) but keeps the calculated schedule.
- Clear Calculations: Removes AI assignments while preserving your manual rules.
- Clear All: Resets the grid to zero (assignments and rules).
- Copy Day-1: Available in the header of each day (to copy all rules from the previous day) or in an employee's popover (to copy only their rules).
- "Rule Actions" Menu: Allows bulk deletion of all hard locks, all soft preferences, or converting all hard locks to preferences with a specific weight.
- Export Rules: Downloads a CSV file containing the current schedule converted entirely into rules. You can modify this file in Excel and then re-import it via "Import CSV" to enforce a complete schedule.
The Warnings Dashboard
Located above the schedule, it lists all violations. Blocking errors (Red) mean that the schedule is illegal (e.g. rest period not respected) or understaffed. Minor errors (Orange) relate to non-compliance with preferences or soft quotas. You can filter this table by employee, day, or error type. Click on an error to center the grid on the problematic cell.
7. Step 5: Financial Rules
The Financial Rules panel allows you to add fixed bonuses to specific assignments, independently of the base hourly rate.
- Click a cell in the grid to add a bonus for an employee on a given day.
- You can target a specific time slot (e.g., Night Allowance), a specific skill (e.g., Responsibility Allowance), or both.
- Use the Copy Previous Day button to quickly carry over bonuses from the previous day.
- These bonuses will automatically be included in the total employee cost calculation in the Analysis tab, and the AI will attempt to minimize them if the "Minimize costs" objective is active.
8. Step 6: Analytics and Dashboards
These dashboards allow you to review the quality of the generated schedule from different angles. You can toggle between a Weekly or Monthly view.
Workload Analysis
Quickly see if your employees are under-scheduled or working overtime thanks to the progress bars. Exceeding base contract hours is shown in yellow, and exceeding the authorized overtime quota is highlighted in red.
Financial Analysis
Estimate the exact labor cost of your schedule. The table details for each employee:
- Base: The cost of regular hours (or guaranteed fixed salary).
- Overtime: The cost of overtime (including premium pay).
- Bonuses: The sum of fixed bonuses defined in the financial rules.
- Total: Overall cost per period.
- Extrapolated Cost: A 30-day cost projection based on the current schedule, useful for short schedules.
Fairness Analysis
Check that undesirable shifts (defined in the configuration, e.g., Night shifts, Weekends) are fairly distributed among all employees. The chart shows the number of assignments to these target shifts for each person.
Preferences Analysis
Measure your team's satisfaction rate. This dashboard compares the number of requests submitted by each employee (non-blocking manual rules + sequence preferences) with the actual number of requests respected by artificial intelligence in the final schedule.
9. Data Import via CSV
To save time, Opti-Planning allows you to bulk import your data from Excel or CSV files. This feature is available for Employees, Requirements, Rules (Locks), and Bonuses.
How does the import work?
- Click the CSV Import button in the corresponding section.
- Select your file. The system will automatically detect the delimiter (comma, semicolon, tab).
- The Mapping step: This is the crucial step. The system will attempt to automatically match your file's columns to Opti-Planning fields by reading the headers. You can manually adjust these mappings using the drop-down menus.
- Review the data preview, then validate the import. Any potential errors (e.g., employee not found) will be listed before confirmation.
10. Sharing and Communication
Once the schedule is approved, you can share it directly with your teams using the Share button located at the top right of the application.
Individual Send
In the dropdown menu, click the Email icon next to an employee's name. The application will generate a text message containing only their personal schedule and open your default email client.
Bulk Send
Select multiple employees using the checkboxes, then click the Email button at the bottom of the menu. The application will generate a global message containing the entire team's schedule. Note: Email addresses are placed in BCC to ensure confidentiality.
11. Save and Export
Opti-Planning runs entirely in your browser. To avoid losing your data, you have several options in the File menu and via the PDF/CSV Export button:
File Menu (Backups)
- New (Clear All): Fully resets the application.
- Cloud: Create a free account to save, rename, and load your schedules on our secure servers.
- Local (.ezopti): Download or import an encrypted backup on your computer for offline use.
PDF and Excel Export
- PDF: Generates a printable document containing the schedule for each selected employee (one per page).
- Excel CSV: Generates a global summary table (database format).
- Individual PDFs / CSVs: Generates and downloads a separate file for each selected employee.
- Global CSV Export: Downloads all application data (employees, staffing requirements, rules, etc.) into a folder.
12. Advanced Feature: Work Sequences
Sequences are the most powerful tool in Opti-Planning. They allow you to model complex work patterns, shift rotations (e.g., 3x8, 5x8), or specific union rules, and assign them to your employees.
Understanding Relative Time
It is crucial to understand that all time information defined in a sequence is relative to the sequence itself, not to the overall schedule horizon. Day 1 corresponds to the first day the sequence starts for a given employee. If a 7-day sequence starts on the 15th of the month, Day 1 of the sequence will be the 15th, Day 2 will be the 16th, etc. Advanced rules are evaluated only within this specific cycle.
1. Creation and Anchoring
Use + New Sequence to create a cycle from scratch, or + Horizon Sequence to create a sequence that is exactly the size of your current schedule. Anchoring defines when the sequence starts (absolute dates) and whether it repeats in a loop (Cyclic).
2. Daily Rules
For each day in the sequence, define what the employee MUST DO or MUST NOT DO. E.g.: "Day 1: Must do MORNING", "Day 2: Must not do NIGHT".
3. Floating Quotas
Limits the occurrence of an event. Examples:
- Full Cycle: "Maximum 2 Nights across the entire 14-day sequence".
- Rolling Window: "Maximum 1 working weekend out of 2" (14-day window, Max 2 'Weekend' days).
4. Conditional Rules
Create logical rules. Example: "IF assigned on Sunday, THEN Monday MUST NOT contain an assignment" (Compensatory rest).
5. Transitions
Enforce a minimum rest period right before Day 1 of the sequence starts, and right after the end of the last day of the sequence. Useful for shift pattern changes (e.g., switching from Night to Morning).
- Severity: The transition can be hard (blocking) or set as a simple preference (with a weight).
- Strict Mode: If enabled, rest is calculated exactly at the sequence boundary. Otherwise, the engine looks for rest anywhere between the last shift and the start of the sequence.
13. Advanced Feature: The Artificial Intelligence Engine
To achieve the desired results, it is essential to understand how artificial intelligence thinks. The solver operates on a Penalty system. Every time a rule is violated, artificial intelligence receives penalty points. Its sole objective is to find the schedule with the lowest possible penalty score.
To offer maximum flexibility while guaranteeing compliant schedules, the system is divided into two main layers: Absolute and Relative.
A. The Absolute Layer: Hard Constraints
These are non-negotiable rules. The engine will always prefer leaving a gap in the schedule rather than violating these rules. However, if the situation is mathematically impossible, the artificial intelligence must make a choice using a strict hierarchy of blocking penalties:
Level 1: Manual Rules and Skills
This is the supreme rule. If you set a Hard constraint on the schedule, or if an employee lacks the required skill, the artificial intelligence will never violate this rule.
Level 2: Blocking Sequences and Consecutive Days
Just below, you will find sequence rules defined as Hard (blocking), as well as compliance with the maximum consecutive working days and maximum shifts per day.
Level 3: Rest, Max Hours, and Amplitude
Compliance with the minimum rest period between shifts, overtime caps, and maximum daily spread.
Level 4: Demand and Requirements
This is the lowest hard constraint. It means artificial intelligence will always prefer leaving a position unfilled rather than forcing an employee to work if they haven't had their rest period or are on leave.
B. The Relative Layer: Strategic Priorities and Preferences
Once hard constraints are met, the artificial intelligence uses the Strategic Priorities component to arbitrate between your various objectives. The order of these priorities defines a penalty multiplier.
- Priority 1: High Multiplier
- Priority 2: Medium Multiplier
- Priority 3: Low Multiplier
1. Minimize costs
The artificial intelligence will track down every single overtime hour. It will prioritize Permanent contract employees who have not reached their quota, and will avoid using Temporary contracts as much as possible. It will also attempt to minimize financial bonuses.
2. Distribute fairly
The AI will count how many times each employee is assigned to the fairness targets defined in the configuration. It will prefer assigning 2 difficult shifts to everyone rather than 4 to one person and 0 to others.
3. Honor preferences
All non-hard rules are called Soft Constraints (Preferences). Each preference has a Weight from 1 to 5:
- Weight 5: Very important
- Weight 4: Important
- Weight 3: Standard
- Weight 2: Minor
- Weight 1: Optional
The final penalty for an unfulfilled request is calculated as follows: Base points linked to Weight multiplied by the Requests goal Multiplier in strategic priorities.
For Advanced Users: The Accumulation Effect
Strategic objectives are separated by a multiplier factor that you can adjust using the settingPriority separation :
- Flexible:Costs add up quickly. AI may accept violating a high-priority goal if it allows satisfying several secondary goals.
- Standard (Balanced):It takes a large number of secondary violations to offset a high-priority violation.
- Strict:Absolute priority to order. AI will almost never sacrifice a high-priority goal for secondary goals.
It's not a bug, it's anintended feature. The compounding effect allows artificial intelligence to find the tipping point where overall well-being outweighs a strict financial rule, and vice versa. Indeed, if for example we separate priorities by a factor of one million (where the 'Priority separation' setting is 'Strict'), the artificial intelligence could decide to make 1,000 employees extremely unhappy just to save a single euro in costs.
14. Troubleshooting and Updates
Clear browser cache
Opti-Planning is updated regularly to offer improved performance (especially through updates to the WebAssembly artificial intelligence engine). If you experience unexpected behavior, calculation errors, or display issues after an update, the first step is to clear your browser cache (Ctrl+F5 or Cmd+Shift+R). This will force the download of the latest version of the application and optimization engine.