Building on Fulcrum: Dispatching
In the past few weeks my colleagues have showcased examples of how applications can be built on top of Fulcrum, utilizing our open source libraries and the Fulcrum API:
Today I would like to add an entry into the growing “Powered by Fulcrum” application library. We have received many requests from customers to incorporate dispatching functionality into Fulcrum. While we recognize the usefulness of such a feature, we also realize that “dispatching” can have multiple meanings depending on an organization’s workflow. Fulcrum has a wide variety of use cases, and our customers are able to utilize Fulcrum in ways we could never have imagined. With that thought in mind I decided to build an application utilizing the fulcrum-node library and Fulcrum API. The application does just one thing; it makes dispatching records, or more specifically assigning records, fast and easy.
The goals for my dispatching application were:
- Create an application that makes assigning records easy
- Provide another example of building something on top of Fulcrum that can serve as a starting point for customers to build upon
- Limit the functionality to keep the code easy to follow and provide documentation within the code to help explain how it works
The scenario I had in mind while creating my application is that of a company with a dispatcher and several technicians. The dispatcher uses my application to view and assign appointments to technicians. The appointments are kept in a Fulcrum app and the dispatcher and technicians have been granted access to the app. The appointments are manually entered into Fulcrum or they could be populated through a form on the company’s website. The dispatcher opens my application and can immediately see appointments needing to be assigned to a technician. The dispatcher can also view the current job queue for each technician. The appointment status is reflected in the color of the marker on the map. By dragging an appointment from the “Dispatcher” queue to a technician’s queue, the record is assigned to the technician. When the technicians sync the “Appointments” app on their mobile device, they will see the appointments currently assigned to them.
The dispatching app takes advantage of several open source tools in addition to Fulcrum. The technology I used includes:
- Fulcrum - for managing members, roles, and apps
- fulcrum-node - for the dispatching application
- Fulcrum API - for handling the communication between the fulcrum-node application and the Fulcrum database
- Leaflet - for the map
I realize that the application I created is not an out-of-the-box fit for all organizations and their unique dispatching workflow. My intent was to demonstrate the power and flexibility that can be achieved when the tools we have provided are combined to suit your organization’s specific needs. The source code for the dispatching app can be downloaded and easily modified. I added a lot of comments in the code, explaining what portions of the code should do. In future blog posts, I will be building additional features into the dispatching application as well as continuing to build new applications on top of the Fulcrum platform.