The timing of the double haul varies a bit, but lets start with the haul itself.

There are two motions - the pull and the drift.

The purpose of the pull is to increase the load in the rod beyond that which can be achieved by rod motion alone.

The purpose of the drift is to reset the hand so that it can be done again on the next loading move.

Although the timing of the pull varies - it always coincides with an increase in the loading of the rod, or it should.

We can collect some slack with the line hand to improve pick up, kind of a pre-haul. I do it all the time subconsciously. I wouldn't refer to that as the haul itself necessarily, but if you called it part of the haul I wouldn't argue as long as it's continous and there is still some room to pull/load once the line is lifted off the water.

In other words there is no reason not to slowly start the haul to lift the line and transition into the actual loading stroke with haul.

So let's conclude that a haul is not a single instantaneous event but instead it's a gradually accelerating action that parallels the casting stroke itself.

It should start slow and accelerate to a release. It should be timed to apply rod load in the proper manner, that is to say not deflect the rod too early or past it's prime.

As far as timing for the haul on the forward stroke...

Once again as long as the pull follows the principles of good casting you can pre-load a little to eliminate slack in a tail-wind but lose that percentage on the stroke load as you go. In a headwind you may let the wind straighten the backcast and save all of the haul to pierce forward at the acceleration point of the cast.

So in conclusion, the haul should be applied in parallel to proper casting load for the situation at hand.