There's no need to use -- if using * ... if you do you're essentially duplicating the coercion of the Booleans.

If you did opt for * approach you would use:

=SUMPRODUCT((Bookings!G$7:G$576=B17)*(Bookings!A$7:A$576>=$C$12)*(Bookings!A$7:A$576<$C$12+7)*Bookings!J$7:J$576)

Double unary is arguably quicker & is also slightly better in terms of handling the summation range should it contain non-numerics
(ie should any cell in J7:J576 be a string like "Apple" the * approach would generate a #VALUE! error result whereas -- method would not (the Apple entry would simply be ignored)).