What is Mimosa?

Mimosa will help you solve your scheduling problems however complex they may be. The software has been designed in close collaboration with hundreds of educational establishments around the world, evolving over a period of more than 10 years. It now contains more than 700 different features and options giving almost endless possibilities to create the timetables you want. The basic scheduling flow, however, remains simple and intuitive, allowing you to view and modify your schedule from the perspective of any resource making it easier for you to create a schedule that will satisfy all the demands that are placed on you.

Mimosa is a natural choice for schools and universities of all sizes since it has been designed from the start to address the challenges of academic scheduling. However, Mimosa is not tied to the academic world. You are free to define whatever resource types you need and create schedules for any combination of resources. Mimosa has been used to schedule conferences, seminars and many other time and resource dependent activities in a wide variety of business domains.

Mimosa is famous of the following reasons:

  • It is the solution to your scheduling challenges, however complex they may be.
  • It is already helping people to produce timetables in thousands of schools and universities in over 80 countries.
  • It has an easy-to-use point-and-click user interface that actively prevents you from making mistakes.
  • It contains in-built tools for schedule optimization, automatic allocation of resources, load-balancing, etc. to help you create better schedules and faster.
  • It has a one-time purchase price that includes free software upgrades and free support, forever.
  • It produces customizable timetables and calendar feeds for use from web, mobile or desktop applications.
  • It is easily integrated with other applications and management systems.

The power of Mimosa comes from these core features:

  • A user-friendly user interface prevents you from making common mistakes; instead you receive useful hints, answers to "What if...?" questions and context-sensitive help. Mimosa allows you to decide how you want to work. You can choose whether you create timetables automatically or interactively and you can create them in any order you want. You can change any part of the data or constraints, even after scheduling the timetables, and Mimosa will adjust accordingly, preventing you from creating inconsistencies and prompting you to re-schedule the impacted parts of your data. The revolutionary 2000 step undo/redo selection makes manual timetable scheduling a simple and enjoyable process.

  • The open nature of the software allows you to move data easily to and from other applications via numerous Clipboard selections and the text file conversion tools. You can use your favourite spreadsheet software to provide the input data for Mimosa or to create your own reports and layouts from Mimosa output data if the numerous built-in options for reporting do not support all your needs. It is easy to add your own administrative notes and data to your Mimosa data and you can choose whether or not to include them in Mimosa reports. Reports can be printed or published as web pages.

The open data format used by Mimosa can be used to integrate with any other software you may be using. Mimosa Software can provide consultancy and integration services to help you with this if needed.

  • The flexible data architecture of Mimosa allows it to easily adapt to any scheduling domain. It supports all school, university, organization or company structures since you can define the needed resource types and calendar schema according to your own special requirements. You can reserve parts of the calendar (make bookings) to prevent them being used by your timetables, lock selected events and set protection on parts of the calendar in order prevent unwanted mistakes. You can easily configure these special scheduling needs through the user interface or you can apply the included templates and sample files.
  • Mimosa's professional approach ensures you can always find a solution to your scheduling problem. Mimosa has been used to schedule timetables by thousands of institutions over many years and through intense co-operation with our clients we have created an extremely rich and robust toolbox for the most demanding scheduling environments. Besides its extensive support for manually creating complex schedules Mimosa also includes efficient timetable optimization tools which enable you to create a good initial solution, minimize the gaps in an existing solution or optimise students' event selections to name just a few uses. The contributions of your peers to the development of Mimosa mean that you don't have to go through the pain they have been through, among Mimosa's 600+ features and options there is sure to be a solution to your problem. If not, Mimosa Software's professional staff can provide custom features to address your unique needs on request.
  • Mimosa is a scalable solution. A single-user license for Mimosa allows you to manage up to 300,000 timetables covering 30 slots in a day for a 7-day week with 255 scheduling periods (terms) and over 8000 resources in one single small file. No third-party databases or additional software is used with Mimosa enabling us to guarantee maximum performance, reliability and easy maintenance, combined with a low end-user price.
  • With a multi-user license unlimited number of users or departments in your organization can use Mimosa simultaneously, without blocking each other, and can merge their files over a network so expanding Mimosa's capacity even further. This feature does not require any specific network architecture or technology to be in place. Mimosa merges and synchronizes all files automatically, lists possible conflicts and removes them from the combined files.

For more details on the capabilities of Mimosa refer to the technical specifications. To see how Mimosa works in practice read the tutorial.

The Scheduling Challenge

Contrary to simple booking systems which have few dependencies, scheduling is in many cases much more complicated. Each event (or event as they are called in Mimosa) contains a variable number of resources (or resources), that should be kept linked together in timetables. When hundreds or thousands of activities and resources are linked together, the resulting system becomes dynamic and multidimensional. Humans cannot easily manage and memorise the contents of several matrices and their dependencies and the complexity of creating timetables even for a very small school may easily increase. This is where Mimosa comes in.

Mimosa is not only a resource (or room) reservation application. The purpose of this kind of application is only to manage bookings of resources at given time-periods. In many cases, these tasks can be implemented with a spreadsheet application. The complexity arises, when resources (such as rooms, teachers, groups) are not independent, but linked together at certain time-periods. With the help of events, Mimosa enables to link up to 240 resources of any kind in each event, and it automatically takes care that conflicts cannot occur. An event cannot be scheduled at a time when any of it's resources is already reserved for another event. The simpler room resource reservation functionality is a subset of Mimosa that comes as a by-product.

Often the primary goal is to create a feasible solution, which does not have any overlaps of resources, that is, the same resource should not be occupied by two or more activities at the same time. A secondary goal is to make schedules that are meaningful, without scattering activities randomly across the timetables, by grouping related events. Users should have the possibility to view the data from different angles and make decisions that lead to better solutions, but in no case lead to errors.

None of the resources have conflicting timetables

One of the resources (Group 1) has conflicting timetables

When the user has created the activities (courses, exams, meetings, etc.) that link the resources (teachers, classes, rooms, equipment, etc.) together, Mimosa automatically takes care that their timetables never overlap and provides several visual tools that allow you to find the permissible options and schedule activities to timetables in the best possible way.

Mimosa allows you to create timetables automatically or manually, and in any combination of these two approaches. Creating timetables manually often requires similar talents to those needed for solving the tasks below. Mimosa will support your efforts by not allowing you to make any mistakes, enabling you to undo and redo your changes to find what works best and by ensuring all your hard work is safely stored on disk.

Once you have started to input your data in Mimosa, you will soon forget how complicated a task you are actually working with. You do not necessarily need any pencil or paper while you work, since all data is now at your fingertips, and you can forget all those pitfalls and conflicts you previously tracked. You can easily jump from one window to another, view the data from any angle, find, sort, browse and schedule first, then add any of the missing resources. You can print your reports on any printer or as web pages, or select one of the numerous Clipboard formats, and use your spreadsheet software as your companion.

Core concepts in Mimosa

Events and resources

Contrary to institution-specific solutions, the basic concepts in scheduling, such as classes, teachers, rooms, students and equipment, are not explicitly defined in Mimosa. The common name we use for these basic building blocks is resources. The user, with the help of categories, defines the different resources that will be used. Each resource has a key, with a maximum length of 15 characters, and a name, with a maximum length of 200 characters. As an example, the resource category "Teachers" might contain one resource for each teacher in the school, the resource name would be the name of the teacher and the resource key would typically be formed from their initials.

Resources are the things you are creating timetables for. In schools and universities resources are, in most cases, teachers, rooms and students or sets of students (groups or classes) but may also include equipment such as projectors and other teaching aids. You can define whatever resources you like and, with the help of categories, you can give names and shortcuts for each type of resource you create.

In schools and universties, you can define the resources either by groups or by individual students or by both:

Scheduling is done through events. An event in Mimosa can represent any activity in the real world that needs to be scheduled in your timetables. The event definition indicates which of your resources need to be present and how many periods need to be reserved from their timetables in order to perform the real world event or activity. A one-off event, like a meeting, may only need one time period to be scheduled whereas a recurring event, like a course of periods, may be scheduled over several time periods per week over several weeks. Events can be categorised like resources and must be supplied with codes and names.

Note that you do not need to know or attach all resources to events before you can schedule them. For instance, you can create events having only the teacher and/or room and attach rest of the resources after scheduling.

In schools and universities events are typically used to schedule courses on different subjects, each of which may require the presence of a teacher, a group of students and a room (the resources) and which may take place several times a week over several weeks (the periods of the event and their allocation to the weeks of the schedule). However, events can also represent meetings, exams, self-study periods, maintenance periods for rooms or equipment, planned absences or any other real world event or activity that needs to be considered in your timetables.

Events, resources and timetables:

Linking of events with resources and timetable slots creates a complicated system which if often difficult to manage by humans. Mimosa is a tool which is intended to solve all problems associated with timetables. Even in most complicated setups, Mimosa takes care that conflicts (or clashes, or overlaps) in timetables cannot take place.

Weeks x Days x Slots:

The time frame over which events are scheduled is split into weeks (1-255), days of the week (1-7) and daily time periods (1-30). The maximum number of time periods you can use for your schedules is 53,550 (=255x7x30). The parameters for the scheduling time frame are set in Options|Limits and Options|Time.

There are several ways to split a school year into weeks. Some schools follow exactly the same timetable each week throughout the year and therefore use only one week for scheduling, some may change the timetable every week and need to schedule each week separately while others may divide the year into terms or semesters and create a different timetable for each period (i.e. one week per period). All these variations can be handled by the Mimosa calendar. You can even work with several school years at once since the maximum capacity of 255 weeks is more than large enough for that.

In Mimosa one week can even be defined to represent many calendar weeks. This gives you great flexibility in deciding how you schedule your events when they repeat in different patterns through the scheduling period; you can schedule one week and copy it the required number of times or you can just define and schedule one week and give it a length of the required number of calendar weeks.


In Mimosa you create timetables for your resources by scheduling the events you have allocated to each of the weeks of your schedule. When you schedule an event in the timetable of one resource Mimosa automatically schedules it in the timetables of all the other resources required for the same event, taking care that no conflicts occur. You can easily switch between the timetables of the different resources required for an event when doing this. When all events have been scheduled you can publish the timetables for each resource for each week of your schedule.

Examples of educational environments where Mimosa is used

  • Class-teacher scheduling: Secondary and primary schools are examples of institutions where students are organised in "classes". All students in the same class take exactly the same set of events. Typically, teachers and classes are busy most of the day, and it can be difficult to find times when each teacher can meet with the required classes without conflicts.
  • Event scheduling: In event scheduling, the system helps you determine the day and time for each section of each event. The objective is normally to create an event timetable that minimises the number of (potential) student conflicts while respecting restrictions arising from the availability of teachers, as well as rooms and equipment restrictions. Unlike in the Class-Teacher setting, students typically have more freedom in selecting their events, which adds to the complexity of creating event schedules.
  • Student scheduling (Student sectioning): Student scheduling normally occurs after the timetables have already been created. In some schools, events can be offered in more than one section (that is, different instructors may offer the same event at different times). Student scheduling is needed to help you decide which students should be placed in each section to minimise student conflicts and balance section sizes.
  • Teacher assignment: Normally, each teacher in a school has a number of different events that could be assigned to teach. Teacher assignment helps you to assign teachers to events all the while making sure that teachers are satisfied with the results, all of the required events are covered and conflicts are avoided.
  • Classroom assignment: Classroom assignment normally takes place after the timetable has been fixed. Each event section must be assigned to a specific classroom, and to meet the restrictions of capacity, location, preference, and special equipment need to take into consideration.
  • All of these scheduling tasks can be handled with the same application. Mimosa has its own menu selections also for special cases like Personalised timetables, Block scheduling, Intake scheduling and Cycling timetables.