I think there are 2 options here
Option 1
Only allow users to book through the form you have, add items later in the details screen of the booking using another form (can be a form container, or a form screen).
Option 2
Use a custom form.
Add a user-specific booking ID column in the work table for the form.
Add a single value column in the user profiles table to cast the booking ID value to that table (first > Work table > Booking ID column).
The button to open the form should check if a booking ID is presented. If presented, just show the details screen for the custom form row, else set a unique ID value to that column.
Now, every item added should contain the booking ID.
Since booking IDs are not cleared when the user moves back using a “Cancel” button you create, they will stay there until the user submits the booking (and you clear the booking ID, prepare for the next iteration).