Here is one idea that I tested, and it works:
First create a duration attribute called duration.
Activate this update rule:
If BO.Pickup WAS CHANGED AND NOT(BO IS NEW) Then
BO.duration=BO.Pickup-OLD_VALUE(BO.Pickup)
BO.Arrival=BO.Arrival+BO.duration
Set it to:
Dynamic
Do not run on server
Form initialization: No
Came up with this in a few minutes so it might need some improvements.