opentripmodel / otm5-change-requests

Tracking and reporting bugs and change requests of the OTM5 specification.
5 stars 1 forks source link

Add 'transportEquipment' to Action '(un)load' #63

Closed BerjanWaanders closed 9 months ago

BerjanWaanders commented 2 years ago

Type of request

Is your feature request related to a problem? A vehicle type commonly used in transporting goods is the Long Heavy Vehicle (LHV - i.e. superlorry, LZV in Dutch). These vehicles consist of a truck and multiple trailers (often two, sometimes three) being modelled in OTM as one vehicle and multiple transportEquipment.

When loading multiple Consignments in a LHV, it is relevant for stakeholders such as the driver and the warehouse to know into which of the trailers (transportEquipment) the Consignment should be loaded. Why? Because trailers being loaded in the trip might be left a depot in order to be picked up by another vehicle in another trip (i.e. loading and unloading does not take place in the same trip).

Describe the solution you'd like The suggestion is to add 'transportEquipment' to Actions 'load' and 'unload' in order to link the Consignment to the Action.

{
    "id": "e81a7aa3-23a6-4089-b916-52b854c7b6f1",
    "consignment": {},
    "startTime": "2022-12-12T14:00:00Z",
    "endTime": "2022-12-12T14:30:00Z",
    "transportEquipment":{
        "entity":{
            "description": "compartment X",
            "equipmentType": "trailer",
            "equipmentSubType": "5216_k"
            // Keeping it simple for now, adding more fields tbd
        },
        "associationType": "inline"
    },
    "actionType": "load"
}

Describe alternatives you've considered Two alternatives have been considered. Both rely on using the 'type' 'transportEquipment' being present for Goods. 1) Adding Goods to Actions 'load' and 'unload'.

{
    "id": "e81a7aa3-23a6-4089-b916-52b854c7b6f1",
    "consignment": {},
    "startTime": "2022-12-12T14:00:00Z",
    "endTime": "2022-12-12T14:30:00Z",
    "Goods":{
        "entity":{
            "description": "compartment X",
            "equipmentType": "trailer",
            "equipmentSubType": "5216_k",
            "type": "transportEquipment"
        },
        "associationType": "inline"
    },
    "actionType": "load"
}

However, this can cause confusion, as Goods are more logically related to the Consignment.

2) This relates to the second option considered: using Goods in the Consignment for both 'type' 'items' and 'transportEquipment'. This is currently possible, but the downside of this option is having multiple Goods 'type' in one Consignment, being confusing.

bmeesters commented 1 year ago

Hello again @BerjanWaanders. And thanks again for your contribution. As discussed earlier I like the addition of adding the transportEquipment to the load/unload action to give more control for superlorries. IMO this would be a sensible addition.

@woutvandenheuvel any thoughts?

bmeesters commented 1 year ago

@thomaskolmans I understood you had a more general solution for this. Are you able to provide an example?

bmeesters commented 1 year ago

@thomaskolmans, could you provide us with some information how you solved this. We would like to be able to specifically load/unload to/from trailers in OTM5.

thomaskolmans commented 1 year ago

Yes! Sorry I was a bit busy - as you may have noticed from my non-response or submissions the past few months.

To support this explanation, please see my change request: #74

The way we do this is as follows: You have a Vehicle, that has certain TransportEquipment(s) attached to it. That Vehicle plus the attached TransportEquipment creates a combined StackCapacity.

In the load or unload action then defines where within that StackCapacity something has to be loaded.

We are however in favour of also adding Goods to the Load/Unload actions. As this is necessary in some use-cases.

The reason why we are in favour of doing it this way: It support a multitude of use-cases (all that we are aware of). It can define for instance a barge and the stowage-plan (one stop, with attachTransportEquipment actions under it with all StackPointer's where on the barge (Vehicle) it has to placed. Or for instance where goods have to be placed within a Trailer.

It's an abstraction of stacking, wether that is 2D or 3D.

Please let me know if this is clear and/or if you have any further questions.

To conclude, I am i support of adding Goods to these actions (we actually already use this internally) in combination with the StackCapacity.

bmeesters commented 1 year ago

Thanks for the elaborate answer @thomaskolmans! We can then schedule this change request for OTM5.6. Lets discuss the StackCapacity next meeting.

bmeesters commented 11 months ago

Decided to have it in OTM5.6

bmeesters commented 9 months ago

This is now part of OTM5.6 so can be closed.