I would like to limit the number of simultaneous appointments to 1. The way I would this to function is when a new appointment is dropped onto the day view (I allow the user to create appointments using drag and drop from a list of customers) it would cause all the appointment below to move down to make room for the new appointment rather than creating an overlapping appointment.
I think this is not doable and my second choice is to create a button to straighten up the appointments after the fact.
The UltraDayView.CalendarInfo.GetAppointmentsInRange method gives you a subset of the Appointments that intersect with a given date/time range. You can use that method to determine whether one or more appointments intersect.