Arrival time invalid


#1

Dear Support Team,
Firstly thanks for RouteXL great work, but i do need some help here,

My input JSON as below:
the id: 1656 (659 delivery) & 1658 (660 delivery) are having the same ready and due timing. but RouteXL return arrival for this 2 with different arrival which having huge gap.

Input JSON (FULL DETAILS):
{
“6”: [{
“id”: “1652”,
“name”: “Start Address Yung Sheng Road, Block 177, Singapore 610177”,
“lng”: “103.7214502”,
“lat”: “1.3334268”,
“driver_id”: “6”,
“prefer_timing”: null,
“delivery_date”: “2018-04-20 08:00:00”
}, {
“id”: “1653”,
“name”: “657 pickup”,
“lng”: “103.80825099999993”,
“lat”: “1.284648”,
“driver_id”: “6”,
“prefer_timing”: “0”,
“delivery_date”: “2018-04-20 09:00:00”
}, {
“id”: “1655”,
“name”: “659 pickup”,
“lng”: “103.80825099999993”,
“lat”: “1.284648”,
“driver_id”: “6”,
“prefer_timing”: “0”,
“delivery_date”: “2018-04-20 09:00:00”
}, {
“id”: “1657”,
“name”: “660 pickup”,
“lng”: “103.80825099999993”,
“lat”: “1.284648”,
“driver_id”: “6”,
“prefer_timing”: “0”,
“delivery_date”: “2018-04-20 09:00:00”
}, {
“id”: “1659”,
“name”: “661 pickup”,
“lng”: “103.80825099999993”,
“lat”: “1.284648”,
“driver_id”: “6”,
“prefer_timing”: “0”,
“delivery_date”: “2018-04-20 09:00:00”
}, {
“id”: “1660”,
“name”: “661 delivery”,
“lng”: “103.664277”,
“lat”: “1.307163”,
“driver_id”: “6”,
“prefer_timing”: “1”,
“delivery_date”: “2018-04-20 09:00:00”,
“restrictions”: {
“ready”: “30”,
“due”: “180”,
“after”: 4
}
}, {
“id”: “1654”,
“name”: “657 delivery”,
“lng”: “103.645949”,
“lat”: “1.3331869”,
“driver_id”: “6”,
“prefer_timing”: “0”,
“delivery_date”: “2018-04-20 12:00:00”,
“restrictions”: {
“after”: 1
}
}, {
“id”: “1656”,
“name”: “659 delivery”,
“lng”: “103.676596”,
“lat”: “1.318358”,
“driver_id”: “6”,
“prefer_timing”: “3”,
“delivery_date”: “2018-04-20 19:00:00”,
“restrictions”: {
“ready”: “660”,
“due”: “840”,
“after”: 2
}
}, {
“id”: “1658”,
“name”: “660 delivery”,
“lng”: “103.645949”,
“lat”: “1.3331869”,
“driver_id”: “6”,
“prefer_timing”: “3”,
“delivery_date”: “2018-04-20 19:00:00”,
“restrictions”: {
“ready”: “660”,
“due”: “840”,
“after”: 3
}
}
]
}

RouteXL return (FULL DETAILS):
(
[id] => 61STpi46
[count] => 9
[feasible] => 1
[route] => Array
(
[0] => Array
(
[name] => Start Address Yung Sheng Road, Block 177, Singapore 610177
[arrival] => 0
[distance] => 0
)

        [1] => Array
            (
                [name] => 661 pickup
                [arrival] => 11
                [distance] => 12.7
            )

        [2] => Array
            (
                [name] => 659 pickup
                [arrival] => 11
                [distance] => 12.7
            )

        [3] => Array
            (
                [name] => 657 pickup
                [arrival] => 11
                [distance] => 12.7
            )

        [4] => Array
            (
                [name] => 660 pickup
                [arrival] => 11
                [distance] => 12.7
            )

        [5] => Array
            (
                [name] => 661 delivery
                [arrival] => 27
                [distance] => 32.7
            )

        [6] => Array
            (
                [name] => 659 delivery
                [arrival] => 34
                [distance] => 35.8
            )

        [7] => Array
            (
                [name] => 657 delivery
                [arrival] => 666
                [distance] => 42
            )

        [8] => Array
            (
                [name] => 660 delivery
                [arrival] => 666
                [distance] => 42
            )

    )

)

Please help, thanks in advance.


#2

Two things are happening here:

  1. The last location in your input will always be the final destination, the arrival point of the route. So, any time windows for this location will have no effect on the order of the other destinations.

  2. If the arrival time is before the ready time, the route will be paused until the ready time. E.g. in your case location with name “659 delivery” has an arrival time of 34 but the ready time is 660. The driver will then wait from 34 till 660 before he can make the delivery.


#3

Dear RouteXL,
Thanks for your prompt response,

Understand on Point 1.
For Point 2, any chance to make the arrival time for “659 delivery” to be 660 instead of 34?
I need to calculate the ETA (Estimate Time Arrival) based on the RouteXL arrival, with value 34 are not able to do so.

Really appreciate your help :slight_smile:


#4

We do not see that happening in the short term. It would not be a big change but it has some impact. Our system has been like this since long, and other people have build their system upon it. If we change this now, they may run into problems.


#5

Dear RouteXL,

Point taken, thanks again for your prompt support :slight_smile: