Git Product home page Git Product logo

delivery-fee-calculator-api's Introduction

Run with Docker

Run

  ./start-service.bat

or

  ./start-service.sh

API Specification

Request Type

  POST

Local Endpoint Url

  http://localhost:8080/api/fees/delivery-fee

Sample Request PayLoad

  {"cart_value": 1000, "delivery_distance": 1000, "number_of_iems": 4, "time": "2024-01-27T15:00:00Z"}

Sample Response PayLoad

{ "delivery_fee": 200 }

Using curl:

 curl -X POST "http://localhost:8080/api/fees/delivery-fee" -H "Content-Type: application/json" -d '{"cart_value": 1000, "delivery_distance": 1000, "number_of_iems": 4, "time": "2024-01-27T15:00:00Z"}'

Business Logics

The delivery fee can never be more than 15€, including possible surcharges.

===================================

The delivery is free (0€) when the cart value is equal or more than 200€. If the cart value is less than 10€, a small order surcharge is added to the delivery price. The surcharge is the difference between the cart value and 10€. For example if the cart value is 8.90€, the surcharge will be 1.10€.

===================================

Example 1: If the number of items is 4, no extra surcharge Example 2: If the number of items is 5, 50 cents surcharge is added Example 3: If the number of items is 10, 3€ surcharge (6 x 50 cents) is added Example 4: If the number of items is 13, 5,70€ surcharge is added ((9 * 50 cents) + 1,20€)

===================================

A delivery fee for the first 1000 meters (=1km) is 2€. If the delivery distance is longer than that, 1€ is added for every additional 500 meters that the courier needs to travel before reaching the destination. Even if the distance would be shorter than 500 meters, the minimum fee is always 1€. Example 1: If the delivery distance is 1499 meters, the delivery fee is: 2€ base fee + 1€ for the additional 500 m => 3€ Example 2: If the delivery distance is 1500 meters, the delivery fee is: 2€ base fee + 1€ for the additional 500 m => 3€ Example 3: If the delivery distance is 1501 meters, the delivery fee is: 2€ base fee + 1€ for the first 500 m + 1€ for the second 500 m => 4€

===================================

During the Friday rush, 3 - 7 PM, the delivery fee (the total fee including possible surcharges) will be multiplied by 1.2x. However, the fee still cannot be more than the max (15€). Considering timezone, for simplicity, use UTC as a timezone in backend solutions (so Friday rush is 3 - 7 PM UTC). In frontend solutions, use the timezone of the browser (so Friday rush is 3 - 7 PM in the timezone of the browser)

===================================

delivery-fee-calculator-api's People

Contributors

harinda05 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.