Service Management for Authorised Apple Service Providers
Python HTML JavaScript CSS
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
servo Installation fixes Jun 19, 2018
.gitignore Ignore envs and cert stuff Jun 19, 2018
AUTHORS Added authors Sep 15, 2015
LICENSE Fixed wrapping Sep 16, 2015 Use the gsxws from PyPI Jun 27, 2018 Cleanup Apr 24, 2017 Installation fixes Jun 19, 2018 Initial commit Aug 4, 2015
requirements.pip Use the gsxws from PyPI Jun 27, 2018 Remove template debug setting Jun 19, 2018 Initial commit Aug 4, 2015


Servo is a service management system for Authorised Apple Service Providers. It allows you to run your entire service business from within the same interface. Originally created in 2012 it is being used by service providers both large and small all around Europe.

Main features include:

  • Flexible workflow management (create separate queues for different types of work, customize statuses and time limits per queue)
  • Complete integration with GSX (do warranty and part lookups, create and edit repairs, stocking orders, part returns, etc)
  • A rich set of communication tools (two-way email support, SMS sending, GSX escalations, attachment support)
  • Inventory management (product categories, stocking per location, bracketed markup)
  • Robust customer database (hierarchical customer data, custom fields)
  • Fast Spotlight-style search
  • Statistics and reporting
  • Rule-based automation
  • Dedicated check-in interface for customers and POS staff
  • API for integration with external systems
  • It's not FileMaker Pro

The Obligatory Screenshots

Servo Screenshot 1 Servo Screenshot 2 Servo Screenshot 3

System Requirements

The application is written in Python on top of the excellent Django web framework and depends on the latest stable versions of the following components for operation:

  • PostgreSQL
  • Memcache
  • RabbitMQ
  • uwsgi
  • Python 2.7


Install and start PostgreSQL, nginx, memcached, rabbitMQ (only necessary if you want to use automated rules). Then install the necessary Python packages:

$ pip install -U -r requirements.pip

Then clone the code:

$ git clone my_servo_folder
$ cd my_servo_folder
$ pip install -U -r requirements.pip

Next, run the installation script:

$ ./

For testing, you can run Servo without any extra setup:

$ cd my_servo_folder
$ python ./ runserver

If you want to run rules, set ENABLE_RULES = True and start the worker task:

$ celery -A servo worker -B -l info -s /tmp/celerybeat-schedule

Then fire up your browser and got to http://localhost:8000/

The VMWare Image

You can also download a preconfigured VMWare image here. Please read the included README files for instructions.


First, back up your database:

$ ./ backupdb


$ ./ selfupdate

After which you should restart your Servo instance. The method depends on how it's deployed.


End-user documentation for the system is available here. A user-friendly list of changes is published here.


  • Q: Why use Django?
  • A: Because it works. Django also has the best documentation of any framework I've seen (especially coming from PHP and Zend Framework)
  • Q: Why is Servo open-source?
  • A: Because it's a mission-critical application and open-sourcing it means that companies will always have access to it.