Shifts

Every created shift creates a trip. You can easily create multiple shifts per resource per day.
Check out the Shift schema here for more information.

{
  "resources": [
    {
      "name": "R-1",
      "start": {
        "latitude": 50.923554431590595,
        "longitude": 4.890691212789399
      },
      "shifts": [
        {
          "from": "2023-01-01T08:00:00",
          "to": "2023-01-01T10:00:00"
        },
        {
          "from": "2023-01-01T14:00:00",
          "to": "2023-01-01T17:00:00"
        },
        {
          "from": "2023-01-02T14:00:00",
          "to": "2023-01-02T17:00:00",
          "overtimeEnd": "2023-01-02T19:00:00"
        }
      ]
    },
    {
      "name": "R-2",
      "start": {
        "latitude": 50.13244568727387,
        "longitude": 4.541447618241604
      },
      "shifts": [
        {
          "from": "2023-01-01T08:00:00",
          "to": "2023-01-01T10:00:00"
        }
      ]
    }
  ],
  "jobs": [
    {
      "name": "JOB-1",
      "location": {
        "latitude": 50.54963315022148,
        "longitude": 4.848855475505483
      },
      "duration": 3600
    },
    {
      "name": "JOB-2",
      "location": {
        "latitude": 50.65910297910443600,
        "longitude": 4.007987934186738
      },
      "duration": 3600
    },
    {
      "name": "JOB-3",
      "location": {
        "latitude": 50.324969095932296,
        "longitude": 4.010111317974326
      },
      "duration": 3600
    },
    {
      "name": "JOB-4",
      "location": {
        "latitude": 50.53457539132416,
        "longitude": 4.69167867847318
      },
      "duration": 3600
    },
    {
      "name": "JOB-5",
      "location": {
        "latitude": 50.94837893617721,
        "longitude": 4.001604640663746
      },
      "duration": 3600
    },
    {
      "name": "JOB-6",
      "location": {
        "latitude": 50.89633806889935,
        "longitude": 4.45161298168845
      },
      "duration": 3600
    },
    {
      "name": "JOB-7",
      "location": {
        "latitude": 50.48191907288704,
        "longitude": 4.311723085641562
      },
      "duration": 3600
    },
    {
      "name": "JOB-8",
      "location": {
        "latitude": 50.1824046123600988,
        "longitude": 4.355240303516217
      },
      "duration": 3600
    },
    {
      "name": "JOB-9",
      "location": {
        "latitude": 50.09960152277046,
        "longitude": 4.46586698360070229
      },
      "duration": 3600
    },
    {
      "name": "JOB-10",
      "location": {
        "latitude": 50.78868282668716,
        "longitude": 4.167956383823208
      },
      "duration": 3600
    },
    {
      "name": "JOB-11",
      "location": {
        "latitude": 50.53056087774939,
        "longitude": 4.282406918673002
      },
      "duration": 3600
    },
    {
      "name": "JOB-12",
      "location": {
        "latitude": 50.519348446781116,
        "longitude": 4.36006931427360264
      },
      "duration": 3600
    },
    {
      "name": "JOB-13",
      "location": {
        "latitude": 50.87057720121589,
        "longitude": 4.805958437379695
      },
      "duration": 3600
    },
    {
      "name": "JOB-14",
      "location": {
        "latitude": 50.11812826431248,
        "longitude": 4.062272710168633600
      },
      "duration": 3600
    },
    {
      "name": "JOB-15",
      "location": {
        "latitude": 50.6360015506794105,
        "longitude": 4.411104770406091
      },
      "duration": 3600
    }
  ],
  "options": {
    "partialPlanning": true
  }
}
{
  "score": {
    "hardScore": 0,
    "mediumScore": -28800,
    "softScore": -19754,
    "feasible": true
  },
  "trips": [
    {
      "visits": [
        {
          "arrival": "2023-01-01T14:21:30",
          "job": "JOB-13",
          "location": "50.87057720121589;4.805958437379695",
          "breakTime": 0
        },
        {
          "arrival": "2023-01-01T15:54:45",
          "job": "JOB-6",
          "location": "50.89633806889935;4.45161298168845",
          "breakTime": 0
        }
      ],
      "resource": "R-1",
      "date": "2023-01-01",
      "departureTime": "2023-01-01T14:00:00",
      "waitTime": 0,
      "travelTime": 3285,
      "workTime": 10485,
      "serviceTime": 7200
    },
    {
      "visits": [
        {
          "arrival": "2023-01-02T15:15:13",
          "job": "JOB-11",
          "location": "50.53056087774939;4.282406918673002",
          "breakTime": 0
        },
        {
          "arrival": "2023-01-02T16:25:19",
          "job": "JOB-12",
          "location": "50.519348446781116;4.360069314273603",
          "breakTime": 0
        },
        {
          "arrival": "2023-01-02T17:39:50",
          "job": "JOB-7",
          "location": "50.48191907288704;4.311723085641562",
          "breakTime": 0
        }
      ],
      "resource": "R-1",
      "date": "2023-01-02",
      "departureTime": "2023-01-02T14:00:00",
      "waitTime": 0,
      "travelTime": 5990,
      "workTime": 16790,
      "serviceTime": 10800
    },
    {
      "visits": [
        {
          "arrival": "2023-01-01T08:15:38",
          "job": "JOB-9",
          "location": "50.09960152277046;4.465866983600702",
          "breakTime": 0
        }
      ],
      "resource": "R-2",
      "date": "2023-01-01",
      "departureTime": "2023-01-01T08:00:00",
      "waitTime": 0,
      "travelTime": 938,
      "workTime": 4538,
      "serviceTime": 3600
    },
    {
      "visits": [
        {
          "arrival": "2023-01-01T08:58:55",
          "job": "JOB-15",
          "location": "50.63600155067941;4.411104770406091",
          "breakTime": 0
        }
      ],
      "resource": "R-1",
      "date": "2023-01-01",
      "departureTime": "2023-01-01T08:00:00",
      "waitTime": 0,
      "travelTime": 3535,
      "workTime": 7135,
      "serviceTime": 3600
    }
  ],
  "totalTravelTimeInSeconds": 13748,
  "totalServiceTimeInSeconds": 25200,
  "workloadFairness": 0.2,
  "unserved": [
    "JOB-1",
    "JOB-2",
    "JOB-3",
    "JOB-4",
    "JOB-5",
    "JOB-8",
    "JOB-10",
    "JOB-14"
  ],
  "status": "SOLVED"
}
{
  "score": {
    "hardScore": 0,
    "mediumScore": -28800,
    "softScore": -19754,
    "feasible": true
  },
  "conflicts": [
    {
      "constraint": "Shift End Conflict",
      "score": "-5990hard",
      "resource": "R-1"
    }
  ],
  "unresolved": [
    {
      "constraint": "SHIFT_END_CONFLICT",
      "score": "-5990hard"
    },
    {
      "constraint": "JOB_DAY_INDEX",
      "score": "-16soft"
    },
    {
      "constraint": "TRAVEL_TIME",
      "score": "-13748soft"
    },
    {
      "constraint": "UNUSED_RESOURCES",
      "score": "-28800medium"
    }
  ]
}