Your customer will see the Schedule Builder tool. On the first page of the tool, they will choose which Participant will be attending the Time Block (Appointment), and which date they will be attending. There is a dropdown menu to choose from their list of existing Participants. They can also add a new Participant, or they can edit an existing Participant, directly from the Schedule Builder via the Add and Edit Icons.
Your customer will choose a calendar date. They can page through months on the Calendar, and for their convenience, they can return to the current month via the "today" button.
If there is an Appointment available on a certain date, that date will be clickable. If there is no appointment available on a date, it will be shaded. For one week in the screenshot below, I put a red x through the unavailable days, and a green box around the available days.
If they select a date with an appointment, then the next screen will be shown.
The Locations screen will be shown next if there are multiple Locations available on the selected date. Your customer can then select the Location. 
Choosing the Location returns the next screen. Note, If there is only one Location available for that date, then that Location is auto-selected, and the screen is bypassed.
The next screen will list Products that are available at that Location and on that date. Your customer can select them by clicking the Add to Cart button.
If there are multiple times for the Product, then your client will instead see a Choose Times button,
Clicking it will return the Choose Time modal. Selecting a time will highlight, and then the Customer will click the Save button.
Once the date, or the date-time, has been selected, your Customer will click the Save & Continue button.
The last screen in the Schedule Generator displays Addon Products. If the Addon is Required, this will be identifiable via a label. In this example, I am requiring each Participant to have a Camper Tee-Shirt to be easily identifiable at camp, so I am using the Requiring a Product to be Purchased Once feature. If the Addon is Dependent (and therefore not optional), then your customer can choose (or not choose) to purchase it. In this example, I am offering an optional aftercare Timeblock product.
Your customer will choose Addon items similar to how they choose items on the Products screen, except when an Addon has variations, then they will need to select it. They can then click the Save & Continue button.