How do I read the demurrage and detention timeline bars when they stop before the actual discharge date?

Read the bars as the free-time rules. Demurrage is free time inside the terminal, from discharge until pick-up. Detention is free time outside the terminal, from pick-up until the empty return. Combined free time is one pooled clock from the demurrage start to the detention stop. The last free day is derived from the free days on the matching rule.

To read a bar that ends before the actual discharge date, check which event anchors the window. Destination demurrage anchors on the port of discharge the carrier declares, not the final delivery place. If the carrier lists a seaport as the port of discharge and an inland place as the final destination, the trigger is on the seaport discharge. Compare like with like: vessel arrival and discharge are separate events, typically a day apart. For collection, read discharge then gate out, not vessel arrival. A free-time expiry is the last second of the final free day, and it is null when the window has not started, such as before discharge.

Example
A container is discharged at a seaport and then moves inland. The demurrage bar ends at the last free day counted from that seaport discharge. The later actual discharge date is a separate event. Read the bar as the free-time window, not as the container’s movement.