A rule-based geospatial reasoning system for trip price calculations
A rule-based geospatial reasoning system for trip price calculations
Samenvatting
Taxi companies have been delivering booking apps in response to passengers’ raising expectations of being able to choose an affordable cab, when and where he or she desires. YourDriverApp is a new white label application developed by taxiID that is set to provide such booking apps to companies worldwide. Despite the fact that ourDriverApp is new, the application depends on the price calculation functionality of a legacy system, which was not designed with internationalization in mind. Company administrators are obligated to define trip prices for particular postal codes and address combinations, so that matching trips can be calculated with the associated prices. But how would these prices be defined in countries without a postal code system? The aim of this study is to create a solution that solves this problem. Research questions are answered by gathering information available in the public domain, after which the acquired knowledge is translated to proposals. Accepted proposals will be implemented iteratively to create a working trip price calculation system. In order to make location definitions universally interpretable, postal codes and addresses are replaced by geometry datatypes. They provide part of the solution of matching pricing rules, but the benefits of these definitions are lost when areas overlap. A hierarchy of priority based rules tied to reusable locations eliminates these competing rule matches. A microservice is created with a single responsibility of calculating trip prices, using a JSON Web Token that allows user identity to be transferred in the payload of the token, thereby delegating authentication to the core system, safeguarding the single responsibility concept of the microservice. Functional programming techniques allow deterministic functors to be generated for consistent price calculations, while visual representations of pricing rule criteria allow users to reason about the inner workings of the system. The final product consists of an independent microservice that calculates trip prices, and associated views in the portal that allow users to define their prices, regardless of their nationality.
Organisatie | Hogeschool van Amsterdam |
Opleiding | Informatica |
Afdeling | Digitale Media en Creatieve Industrie |
Jaar | 2018 |
Type | Bachelor |
Taal | Engels |