Metadata-Version: 2.1
Name: volunteer-scheduler
Version: 2019.4.28
Summary: Volunteer workshift scheduler
Home-page: https://github.com/imreszakal/volunteer-scheduler
Author: Imre Szakál (imreszakal.com)
Author-email: imre.szakal@gmail.com
License: UNKNOWN
Project-URL: Bug Reports, https://github.com/imreszakal/volunteer-scheduler/issues
Project-URL: Funding, https://PayPal.Me/imreszakal
Project-URL: Source, https://github.com/imreszakal/volunteer-scheduler
Description: # Volunteer workshift scheduler for a helpline
        Code written in Python finds the best possible schedule for volunteers while incorporating constrains and special requirements using **[CP-SAT Solver](https://developers.google.com/optimization/cp/cp_solver)** (Constraint Programming - boolean SATisfiability problem Solver).
        
        Java version is in development.
        
        ### The problem
        Arranging volunteers for a helpline service for the period of one month.
        
        There are three types of work that could be done on the same day:
        - Phone shift: Every day.
        - Chat shift: Mondays and Wednesdays.
        - Observer shift: Any day.
        
        ### Constraints:
        Properties of each volunteer:
        - Available days.
        - Function: doing phone, chat, both or observation for training purposes.
        - Maximum amount of weekend shifts.
        - Whether their shifts have to be on separate weeks.
        - Whether they welcome observers.
        - Whether they want to work alone.
        - Whether they cannot yet work alone.
        - List of people they do not want to work with.
        
        Each volunteer has to have 4 days between their shifts.
        
        ### Priorities:
        1. Have minimum one volunteer for each day.
        2. Fill chat shifts.
        3. Have a second volunteer even on phone days.
        4. Employ observers on days when there is only phone shift.
        
        ### Objective:
         Maximize filled shifts.
        
        <hr>
        
        ## Installation
        
        Requires 64-bit Python 3.7
        
        <code>pip install helpline-scheduler</code>
        
        ## Usage
        1. Select your language in config.py: EN/HU/CN
        
           Alternatively you can create your XX language extension by creating the corresponding data_XX.csv and language_XX.py files.
        2. Export corresponding data/data_XX.csv file into a spreadsheet, fill in your data, then export back into this file.
        3. Execute the program from its directory:
        
        <code>python schedule.py</code>
        
        ## Output
        
        1. Prints results into the terminal and saves it into schedule_YYYY_MM____YYYYMMDD_hhmm.txt.
        2. Saves results into schedule_YYYY_MM____YYYYMMDD_hhmm.csv which can be conveniently imported into a spreadsheet.
        
Keywords: schedule scheduling helpline workshift ortools
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: End Users/Desktop
Classifier: Topic :: Office/Business :: Scheduling
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Programming Language :: Python :: 3.7
Requires-Python: >=3.5
Description-Content-Type: text/markdown
