Game version: 1.17.13
OS: Win 10
Wrong behavior (part A):
When setting an alternative (longer) route using waypoints for an one-time freight in endless mode, the calculated time gets changed and the contract payout gets reduced. In contrast the hint says "One-off contracts have fixed timing. Only entry time can be modified".
Wrong behavior (part B):
If a former contract used a waypoint and another new contract with the same mandatory stations is inspected, the route is saved with the waypoint. The new contract displays maximum payout while using a waypoint, but when the same waypoint is deleted and added again, the payout gets reduced.
Expected behavior:
To clarify, this behavior (part A) is desirable for commuters. It does not work for the one-time freights in my opinion, because in contrast their average speed is much lower than their top speed and the track limit too.
The contract timing should not be recalculated using the traveled distance with the expected average speed. The timing of the mandatory stops should stay fixed with the calculation of the shortest route and it should recalculate the average speed necessary for the alternative route instead.
At least, the payout should not get reduced, as the dispatcher should be responsible for setting and then keeping the schedule. Particularly because realistically the travel times are shorter than calculated for these trains and they reach their destination many minutes ahead of schedule, a general reduction of contract payout feels wrong in this case.
I could reproduce both behaviors on a second map (Prague) in a new save and it should work the same on every map.