Preloader
Drag
Finestra di Work Planner con la dashboard di clienti, pezzi e appuntamenti
Desktop App

Work Planner: the visit calendar builds itself

A Python and PyQt5 desktop application that turns a list of customers and parts under maintenance into a weekly visit plan, with no manual scheduling.

In summary

In brief

What the problem was

Anybody servicing products installed at customer sites faces the same question every week: who to visit, in what order, and when. The answer depends on variables that are hard to hold in your head at once: how many parts that customer has, how long ago they were bought, and what it costs to reach them compared with the next customer.

As long as the plan is made by hand, you end up favouring the customers you remember rather than the ones who need it most, and crossing the province twice in the same day.

Dashboard di Work Planner con i totali di clienti, pezzi e appuntamenti

How it works

Work Planner holds the records of customers and of the parts under maintenance, and builds the calendar from that data. Generation applies explicit rules: how many parts each customer has, since when those parts have been in service, and how close the customers are to each other, measuring proximity by postcode so that destinations which sit together end up on the same day.

The calendar produced covers the five working days. The start date can be set, so the same set of customers can be replanned from a different Monday without redoing everything.

Appointments stay editable

From the calendar you add an appointment by choosing an existing customer or entering a new one, with date, town and address; you edit an existing appointment by changing the customer, town, address or postcode; or you delete it.

Every operation goes through rule validation, so a manual change cannot produce a plan that breaks the criteria it was generated with.

Calendario settimanale di Work Planner con la finestra di inserimento di un nuovo appuntamento
Finestra di modifica di un appuntamento in Work Planner con cliente, citta, indirizzo e CAP

From the dashboard to the export

The dashboard sums up the state in four numbers (total customers, total parts, total appointments and today’s appointments), and from there appointments can be generated or cleared in a single step.

Customers, parts and the calendar export to CSV, which is the format this data then goes into a spreadsheet or another system with.

The package

What was delivered

In detail

Technical details

Let's talk

Do you need software like this?

If you have a process you handle by hand today and would like to automate, tell me about it: we work out together whether it makes sense to build a tool on top of it.

Need something similar? This project is an example of desktop app development. The first meeting and the quote are free: write to me and we will talk it through.