1. OptaWeb Employee Rostering Introduction

1.1. What is OptaWeb Employee Rostering?

Every organization faces planning problems: providing products or services with a limited set of constrained resources (employees, assets, time and money). One such planning problem is employee shift rostering: assigning shifts to employees. OptaWeb is a web application and REST service that solves employee shift rostering problems using the OptaPlanner engine.

1.2. System Properties

These system properties can overwrite default properties of the application, for example, by passing -Doptaweb.generator.zoneId="America/New_York" to Spring Boot. These system properties might also be exposed as OpenShift template parameters.

  • optaweb.generator.timeZoneId: The time zone ID for the automatically generated tenants. For example America/New_York. This defaults to the system default Zone ID.

  • optaweb.generator.initial.data: What data to initially put in the database. Supported values are: EMPTY (no data) and DEMO_DATA (several tenants of various sizes). This defaults to DEMO_DATA

The OpenShift docker image also supports these parameters:

  • org.optaweb.employeerostering.persistence.datasource

  • org.optaweb.employeerostering.persistence.dialect

  • org.optaweb.employeerostering.persistence.hbm2ddl.auto

  • org.optaweb.employeerostering.persistence.id.generator

2. Architecture

optaWebEmployeeRosteringArchitecture
optaWebEmployeeRosteringClassDiagram
optaWebEmployeeRosteringSolverInputOutput