Techniques to schedule activities. In one method, a request to book an appointment for an activity in a particular schedule is initially received. In response, time slots available in the schedule for booking the activity are determined, and a set (all or a subset) of the time slots is provided as possible appointment choices. The time slots in the set are temporarily locked. A next set of time slots or more time slots may be requested (if the time slots provided are not acceptable or desirable), in which case additional time slots may be provided. Thereafter, a selection for one of the time slots is received. In response, the activity is booked in the selected time slot and previously locked time slots are released. The locked time slots may also be released if no selection is received after a particular amount of time.