I'm building a booking system for administrators who may not be very comfortable with computers. Every appointment needs to be linked to a customer, so I'm trying to decide how the creation flow should work. Should the user start by selecting an existing customer, with an option to create one if there's no match? I'm concerned that sending them from the appointment form to a separate customer form and then back again will feel awkward or cause them to lose their progress. What layout or step-by-step process would make this as simple and reliable as possible?
4 Answers
For less technical users, consider showing a short list of recent customers first, such as the last five or ten people booked. Add search for cases where the person isn’t in the recent list, plus a prominent “New customer” button. Most bookings may be repeat visits, so this can reduce typing and make the first step much easier.
Think about which information is truly required before the appointment can be made. You might only need a name and one contact detail to create the booking, then allow the administrator to complete the customer’s full profile afterward. That keeps the urgent scheduling task short while still leaving room for more detailed records later.
Start the appointment flow with a customer selector that supports searching existing customers. Put a clearly labeled “Create new customer” option beside the search results, and open the customer form inline or in a small modal. Once the customer is saved, return them to the appointment form with that customer already selected. This avoids unnecessary page changes and keeps the whole process feeling like one task.
You can also split the process into clear steps: choose or create the customer, then enter the appointment details, then review and save. If someone has to create a customer midway through, preserve the appointment information they already entered so an interruption doesn’t wipe it out. Save progress between steps where practical, and validate on the server when the final submission is made.
Before creating a new customer, check for likely duplicates using details such as phone number or email address. That becomes especially important when multiple administrators are adding customers.

A modal works well here because it prevents the back-and-forth navigation problem, as long as the customer form stays short and easy to understand.