e
easyopti

Comprehensive User Guide

Master Opti-Planning down to the smallest detail: from setting up your employees to generating optimal schedules compliant with legal and financial constraints. This comprehensive guide walks you through step by step.

1. The Opti-Planning Philosophy

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 objective is to calculate millions of combinations per second to find the best possible shift assignment for your employees, while simultaneously balancing three fundamental dimensions that often conflict:

  • Demand (Coverage of needs): Do you have the right number of people, at the right time, with the right skills to run your organization? This is the solver's top priority.
  • Compliance (Hard constraints): Does the schedule respect maximum working hours, mandatory rest periods (e.g., 11 hours between shifts), daily limits (e.g., max 13 hours), and consecutive working days?
  • Fairness and Preferences (Soft constraints): Are difficult shifts (e.g., closings, weekends) evenly distributed among team members? Are employee preferences and unavailabilities respected as much as possible?

Quick Start: Templates

To get familiar with the tool, click the View Template button at the top right of the application. It allows you to instantly load a complete dataset tailored to your industry (Hospitality, Healthcare, Retail, 24/7 Manufacturing, etc.) and see how the AI operates.

2. General Settings and AI Configuration

Interface Mode

Before starting, you can simplify the interface by enabling or disabling advanced modules using the checkboxes at the top of the screen: Enable Sequences and Enable Financial Metrics. This will hide unnecessary columns and panels if you don't 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 payroll week starts on Monday, make sure this setting is set to Monday.

Export

Set the CSV Delimiter (Semicolon, Comma, or Tab) used for all application exports to ensure compatibility with your version of Excel or payroll software.

Optimization Configuration (The AI Engine)

These settings control the solver's behavior:

  • Intensity and Max Time: Determines the calculation depth. "Basic" is very fast, while "Intensive" will search longer (up to the time limit defined in seconds) to solve complex scenarios or optimize costs down to the exact cent.
  • Priority Handling: Defines how the AI manages trade-offs. In "Flexible" mode, the AI may allow a higher-priority rule to be breached if it helps satisfy dozens of secondary rules. In "Strict" mode, the priority order is absolute.
  • Fairness Targets: Select the shifts (e.g., Night shifts, Weekends) that the AI should strive to distribute equally among all employees.

Strategic Priorities (Drag-and-Drop)

You can reorder the 3 main AI objectives (Costs, Fairness, Preferences) using drag and drop. The objective at the top of the list will be the AI's highest priority.

Pro tip: The small button between two objectives lets you toggle between > (Strictly greater than) and >= (Equality). If you set "Costs >= Fairness", the AI will consider both objectives as having equal importance.

3. Step 1: Shifts and Skills

Before starting, you must define the scope of your operations. These elements will serve as the foundation for all scheduling.

Shifts

A shift defines a standardized working time slot (e.g., MORNING, EVENING, NIGHT). It includes a start time, an end time, and a break duration in minutes. Breaks are automatically deducted from actual working hours for time tracking 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 it as an overnight shift ending the following day. Rest periods will be calculated accordingly.

Skills

Define the roles required for your activity, such as Kitchen, Dining Room, Bar, Manager, Nurse, Care Assistant. An employee can possess one or more of these skills (multi-skilling), and demand will always be specified for a specific skill.

4. Step 2: The Employee Grid

This is where you define the legal and contractual profile for each employee. Each column directly impacts the solver's optimization algorithm. Accurate configuration is key to successful scheduling.

Tip: Use the "Duplicate" button at the end of the row to quickly create similar profiles.
EmailOptional. Only used if you wish to email the generated schedule directly to the employee using the "Share" button.
ContractPermanent: The AI will attempt to reach maximum contractual hours to optimize fixed salary costs. Contingent/Temp: The AI will avoid scheduling them unless needed 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 calculates pro rata by day), Manual (you enter the exact quota), or Copy (uses the full-week quota). For very short schedules (e.g., a 3-day event), only the "Period" column will be displayed to adjust the quota for this specific duration.
Max Hrs/Wk & OvertimeThe base contractual hours and the maximum allowed weekly overtime. Exceeding the total triggers a blocking error.
Hourly Rate & PremiumsGross hourly rate and multiplier (e.g. 1.25 for +25%). Used to calculate the total cost and guide the artificial intelligence.
Min Rest & Max SpanThe mandatory legal rest period between two shifts (e.g. 11h) and the maximum daily span (e.g. 13h). Set to 0 to disable.
Shifts/Day & Consec. DaysMaximum number of shifts per day (2 allows split shifts, 1 forces continuous shifts) and maximum number of consecutive working days.
Required SequencesCheck the work sequences (rotations, cycles) that this employee must follow. The artificial intelligence will handle placing them optimally in the schedule.

5. Step 3: Staffing Requirements

Specify how many people are required for each shift and skill, day by day. This is the target that the AI will aim to meet.

The Power of Presets

You can create multiple Presets for the same day by clicking + Preset. For example, create a "Low Season" preset and a "High Season" preset, or "Sunny" and "Rainy". You can then toggle between them with a simple click (radio button) to see how the schedule adapts. The active preset (highlighted in blue) is the one that will be sent to the artificial intelligence.

  • Use the Copy Prev. Day button to quickly duplicate all staffing requirements from the previous day.
  • Use the small arrow next to a preset to copy the values from the preset to its left.
  • Cells in red 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 easy vertical reading.

Managing Contingencies: The Rules System (Locks and Preferences)

In the results grid, click any cell to open the rules menu. This is where you manage leave, sick leave, preferences, or manual assignments.

1. Rule Severity

  • Hard constraint (Lock): Artificial intelligence MUST follow 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.
  • Soft constraint (Preference): Artificial intelligence will do its best to satisfy the rule based on the assigned weight (from 1 to 5) and the strategic priority "Respect wishes".

2. Rule Action

  • Absence: Blocks any assignment on that day (Time off, Sick leave, Mandatory rest).
  • Strict assignment: Forces the employee onto a specific shift AND skill.
  • Presence (Flexible skill): Forces the employee to work a shift, but lets artificial intelligence choose their skill based on demand.
  • Conditional rule: If working that day, the employee MUST perform this skill (although the AI can choose to assign a day off).
  • Forbidden: Prevents the employee from working a specific shift or skill.

Quick and Bulk Action Buttons

  • Lock All: Converts all AI-calculated assignments into hard constraints. Useful if you are satisfied with the schedule and want to freeze a baseline before re-running optimization on the rest.
  • Unlock All: Removes all manual rules (locks and preferences) while retaining the calculated schedule.
  • Clear Calculations: Removes AI assignments while keeping your manual rules.
  • Clear All: Resets the grid completely (assignments and rules).
  • Copy Previous Day: Available in each day header (to copy all rules from the previous day) or in an employee popover (to copy only their rules).
  • "Rule Actions" Menu: Allows bulk deletion of all strict locks, all preferences, or converting all strict locks into preferences with a specific weight.
  • Export Rules: Downloads a CSV file containing the current schedule converted entirely into rules. You can edit this file in Excel and 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 the schedule is non-compliant (e.g. rest period violation) or understaffed. Minor errors (Orange) relate to unfulfilled 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 affected 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 to an employee for a given day.
  • You can target a specific shift (e.g., Night Bonus), a specific skill (e.g., Responsibility Bonus), 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 employee's total cost calculation in the Analysis tab, and the AI will attempt to minimize them if the "Minimize costs" objective is active.

8. Step 6: Analysis and Dashboards

These dashboards allow you to review the quality of the generated schedule from different angles. You can switch between a Week or Month view.

Export Tip:Use the Week/Month Dates button to export a CSV file containing the exact start and end dates corresponding to each "Week X" or "Month Y" column in the analysis tables.

Workload Analysis

Quickly view whether your employees are under hours or working overtime using the progress bars. Exceeding the base contract hours is shown in yellow, while exceeding the allowed overtime quota is highlighted in red.

Financial Analysis

Estimate the exact labor cost of your schedule. The table breaks down for each employee:

  • Base: The cost of regular hours (or the guaranteed fixed salary).
  • OT: The cost of overtime hours (including premium rates).
  • Bonuses: The sum of fixed bonuses defined in the financial rules.
  • Total: The overall cost per period.
  • Extrapolated Cost: A 30-day cost projection based on the current schedule, useful for short schedules.

Fairness Analysis

Ensure that difficult shifts (defined in settings, e.g., Nights, 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 table compares the number of requests submitted by each employee (soft manual rules + sequence preferences) with the number of requests actually honored by artificial intelligence in the final schedule.

9. CSV Data Import

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 importing work?

  1. Click the Import CSV button in the corresponding section.
  2. Select your file. The system will automatically detect the delimiter (comma, semicolon, tab).
  3. The Mapping step: This is the crucial step. The system will try to automatically match the columns in your file to Opti-Planning fields by reading the headers. You can manually adjust these mappings using the drop-down lists.
  4. Review the data preview, then confirm the import. Any errors (e.g., employee not found) will be listed before confirmation.

10. Sharing and Communication

Once the schedule is validated, you can share it directly with your teams using the Share button located in the top right corner of the application.

Individual Send

In the drop-down 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.

Group Send

Select multiple employees using the checkboxes, then click the Email button at the bottom of the menu. The application will generate a master message containing the entire team's schedule. Note: Email addresses are placed in BCC to ensure privacy.

11. Backup and Export

Opti-Planning runs entirely in your browser. To prevent data loss, you have several options via the File menu and the Export PDF/CSV 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 an overall 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, coverage requirements, rules, etc.) in a folder.

12. Advanced Feature: Work Sequences

Sequences are Opti-Planning's most powerful tool. They allow you to model complex work patterns, shift rotations (e.g., 3x8, 5x8), or specific labor agreement rules, and then 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 your schedule's overall 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, and so on. 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 matches the exact length 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 of the sequence, you define what the employee MUST DO or MUST NOT DO. E.g., "Day 1: Must work MORNING", "Day 2: Must not work NIGHT".

3. Floating Quotas

Allows you to limit the occurrence of an event. Examples:

  • Entire Cycle: "Maximum 2 Nights across the entire 14-day sequence".
  • Rolling Window: "Maximum 1 weekend worked out of 2" (14-day window, Max 2 'Weekend' type days).

4. Conditional Rules

Create logical links. Example: "IF assigned on Sunday, THEN Monday MUST NOT contain an assignment" (Compensatory rest).

5. Transitions

Enforce a minimum rest period right before the start of Day 1 of the sequence, and right after the end of the last day of the sequence. Useful for cycle changes (e.g., transition from Night to Morning).

  • Severity: The transition can be hard-constrained or defined as a soft preference (with a weight).
  • Strict Mode: If enabled, rest is calculated strictly 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 expected results, it is essential to understand how the artificial intelligence reasons. The solver operates on a Penalty system. Every time a rule is violated, the artificial intelligence incurs penalty points. Its sole objective is to find the schedule with the lowest possible penalty score.

To provide maximum flexibility while ensuring legal schedules, the system is split into two main layers: Hard Constraints and Soft Constraints.

A. The Hard Constraint Layer: Non-negotiable Rules

These are inviolable rules. The engine will always prefer leaving an unassigned shift over violating these rules. However, if a scenario is mathematically overconstrained, the artificial intelligence must make a trade-off using a strict hierarchy of hard penalties:

Level 1: Manual Rules and Skills

This is the top-priority rule. If you set a Hard rule on the schedule, or if an employee lacks the required skill, the artificial intelligence will never violate this constraint.

Level 2: Hard Sequences and Consecutive Days

Directly below are sequence rules defined as Hard, as well as compliance with maximum consecutive working days and maximum shifts per day.

Level 3: Rest, Max Hours, and Daily Span

Compliance with minimum rest time between shifts, maximum overtime caps, and maximum daily span.

Level 4: Staffing Demand and Requirements

This is the lowest-ranked hard constraint. This means the artificial intelligence will always prefer leaving a position unstaffed rather than forcing an employee to work without sufficient rest or while on leave.

B. The Soft Constraint Layer: Strategic Priorities and Preferences

Once all hard constraints are met, the artificial intelligence relies on Strategic Priorities to balance your various business objectives. The ordering 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 employees on Permanent contracts who have not reached their quota, and avoid using Extra contracts as much as possible. It will also attempt to minimize financial bonuses.

2. Distribute fairly

The artificial intelligence will count how many times each employee is assigned to the fairness targets defined in the configuration. It will prefer giving 2 difficult shifts to everyone rather than 4 to one person and 0 to the others.

3. Respect preferences

All non-blocking rules are called 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 preference is calculated as follows: Base points linked to the Weight multiplied by the Preferences objective Multiplier in the strategic priorities.

For advanced users: The accumulation effect

Strategic objectives are separated by a multiplying factor that you can adjust via the parameterPriority separation :

  • Flexible:Costs accumulate quickly. The AI may accept violating a high-priority objective if it allows fulfilling several secondary objectives.
  • Standard (Balanced):It takes a large number of secondary violations to offset a high-priority violation.
  • Strict:Absolute priority given to order. The AI will almost never sacrifice a higher-priority goal for secondary ones.

It's not a bug, it's afeature by design. The accumulation effect allows the artificial intelligence to find the tipping point where overall well-being outweighs a strict financial rule, and vice versa. Indeed, if for instance we separate priorities by a factor of one million (the 'Priority Separation' parameter value is 'Strict' in this case), the artificial intelligence might 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 provide improved performance (notably via 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 latest version of the application and optimization engine to download.