Documentation

Cadulis software technology at the service of your teams


Cadulis leverages a wide range of cutting-edge technologies.
Below you’ll find information about some of them, to give you a clearer picture.

Scalability

Do you find that Cadulis works really well? So do we :) But thanks to this top-notch organization, your business is growing and you’re wondering if Cadulis will remain just as responsive?
Rest assured, our architecture is scalable, meaning server resources adapt according to demand. We’ve tested by injecting up to 10,000 interventions simultaneously.

A growing company, however, requires a specific organization to compartmentalize activities and teams. Here again, Cadulis provides the tools to assist you.

Performance

Responsiveness is one of our clients’ top requirements. Nobody wants to wait, even just a few seconds, for a page to load. Here are some of the strategies we’ve implemented to make our application completely smooth and frictionless:

  • An automatically scalable system. With Kubernetes hosting, the Cadulis infrastructure adapts its own resources to user needs. During off-peak periods (holidays, specific times of day/night), hosting costs decrease. This allows us to offer you the best rates on the market.
  • Most processes have been made asynchronous and fault-tolerant. For example, sending an automatic email after closing an intervention can be performed a few minutes after closure if the system is under heavy load. In case of an error, Cadulis will retry sending a bit later. This way, you can continue your activities without experiencing unpleasant slowdowns. In this spirit, and with client feedback, we have been able to define certain processes as lower priority.
  • Efficient calculation funnels. Imagine the number of calculations required to determine the best time slot for your intervention: you need to check all the slots of all your technicians, calculate distances and travel times between all interventions, and compute all profitability metrics! Yet, the slot suggestion identifies the most profitable field workers and slots in just a few seconds. Two key tricks make this possible: extrapolated travel time calculation (see the article on machine learning) and a funnel that quickly eliminates field workers who are too far away, lack the right skills, or already have a full schedule.
  • Caching. Our users (activity managers or field workers) often visit the same page multiple times. In these cases, the page is cached, which prevents the system from recalculating travel times, distances, profitability, etc., each time it is opened. Part of this caching system is also what enables Cadulis to be used without a network connection (see the article on offline mode).

Machine Learning

Machine learning has helped us solve a common problem: how to keep calculations simple while maintaining accuracy. The calculation in question is determining travel time from the GPS coordinates of two points.

GPS coordinates can give us the straight-line distance (as the crow flies)—taking into account the curvature of the Earth, the calculation is precise and extremely fast. But from there, how do you determine the real or even approximate travel time, without relying on an external mapping system, which is very costly in precious calculation seconds? These calls, lasting about 0.2 seconds, make up the largest part of the calculation time.

What does travel time depend on? Mainly the density of road infrastructure such as expressways and highways near the field worker’s starting point. This is where our machine learning comes in: to convert straight-line distance to travel time, we use a correction coefficient, which initially takes a low value for each field worker.

With this value, a maximum number of field workers pass the filtering stages of the slot suggestion, and as a result, for the first calls (often performed during testing), response times are not fully optimized.
Each time a call to a third-party mapping system is actually made for this field worker, the coefficient is adjusted based on real traffic data.
After a few calls, each field worker has a realistic coefficient, and the slot suggestion filters retain only the most relevant field workers for the calls.

Machine learning describes a system that becomes more and more efficient as it is used. That’s exactly what happens here.

Blockchain

With cryptocurrencies and Bitcoin, blockchain has become a buzzword. Yet beyond the financial sector, this technology can truly provide solutions to everyday problems we encounter.

For example, in our field service planning and optimization application, Cadulis, blockchain is a promising avenue for securing the digitization of documents.
Here’s a concrete example:
Imagine a technician coming to install fiber in your apartment. At the end of the intervention, you sign a document (on paper) to confirm the intervention took place. This signature is not binding regarding the proper functioning or quality of the intervention, nor does it certify your identity, that you are the apartment owner, or the indirect client of the intervention. Nothing certifies that the field worker won’t modify the document content after it’s signed.
And yet, this signature has legal recognition that digital signatures do not yet possess.

Our digital system, however, is inherently more secure: at the moment of signing, the date is recorded. Every modification is tracked with the identifier, date, and content of the changes.

To go even further, the intervention report (or more precisely, its hash) can be stored in a blockchain. This makes it easy to legally prove that the document is tamper-proof, unforgeable, with timestamping and even geolocation.
That’s enough to nip many disputes in the bud.

Another concrete case concerns the transport of hazardous waste. The responsibility for these products lies with the producer until their destruction; with blockchain, the producer can securely track the journey of the various documents attached to the products being transported.