mapbox / mapbox/node-or-tools

Multiple time windows per location

Open
#8 4 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
155
Forks
47
PR merge metrics
No merged PRs in 30d

Description

We should expose the possibility to specify multiple time windows per location.

Use-case: you can service a location between 9am--11am and between 1pm--3pm.

---

Implementation:
- Sort intervals per location by start then stop, assert for non-overlapping
- Take the min and max and set `CumulVar(n)->SetRange(minStart, maxStop)`
- Walk over adjacent intervals and remove in between `CumulVar(n)->RemoveInterval(stop, start)`.

Contributor guide

Open the contributing guide

Research direction

Start by locating the location time-window handling in the C++ routing bindings and the uses of CumulVar(n). Review how intervals are currently represented, then implement the stated sorting, non-overlap assertion, range restriction, and removal of gaps. Done means a location can accept multiple non-overlapping windows such as 9am–11am and 1pm–3pm.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, node.js
Domain
backend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.