Instead of a mapping load, have you try to join your shipment table with your depot table with IntervalMatch (using the extended syntax) ?
- Shipments and TimeFrames are loaded
- Shipments contains at least DepotName and DeliveredTime
- TimeFrames contains DepotName, Start and End
- TimeFrames can contain many lines with the same depot name
You will have a script like this:
Left Join (Shipments)
IntervalMatch (DeliveredTime, DepotName)
Resident TimeFrames ;
Drop Table TimeFrames ;
Then, Shipments table will have two more fields Start and End. You can use those fields to create a flag if you don't want to keep them.