You can probably solve this more easily with a single xpath retrieve (or rather, two and a subtract action for performance reasons):
1. Retrieve all tables
2. Retrieve all tables with a reservation that overlap with the selected start time
3. Subtract the list from step 2 from the list in step 1. This should give you your list of available tables.