I need to build a PHP/MySQL reservation management system for a client. The client manages reservations for accommodation, tours and a variety of other services. They handle reservations from various tour operators and/or directly from their own website.
Rather than having a collection of reservation records containing disparate unrelated customer names, it would make sense to have a main ‘customer’ database. The problem is how do we ‘match’ the customers from various bookings. We shall have a name and address in the vast majority of cases (and an email case in some, but not all, cases), but we can’t guarantee that the customer or tour operator will have entered/spelled the details exactly the same in any case. We certainly can’t rely on the customer providing a customer or reservation number – in fact they may have booked their accommodation through one of the agencies tour operators and then book car rental and tours directly from the client’s website without realising any connection until they arrive.
Has anyone got any clever ideas of the best way to take form data and reliably match the customer’s details with existing database records?
How about having them select a customer from a pre-determined list (with a search feature that allows them to find any given customer by name or phone number perhaps? That way you can use your serial id to relate keys across the tables.