I am designing my first app. I am a equine sales agent and I am trying to manage all the info that I receive on a daily basis.
I have a list of horses available for sale and a list of people looking for horses. I need the system to match the available horses with the people looking by different criteria. I believe that I need to have four types of users - admin, trainers, clients and public.
So currently I have a table for the horses available, a table for the horse requests and a table for users.
I my industry many times I never actually deal with the person buying or selling the horse, but sometimes I do. Many times I deal with the trainer who is either selling the horse for the owner or buying a horse for the purchaser.
So I need to be able to link trainers to clients and clients to trainers, additionally I need to note which user owns the horse available and which user is the trainer. I also need to be able to track which user submits a request and who their trainer is. Sometimes a trainer will tell me what types of horses they are looking for... for multiple clients. When the trainer logs on I want them to be able to view all the matches for all of their clients. While when a client logs in I want them only to view matches for them not the other clients of their trainer.
My question is: Do I need to have a table for trainers and one for clients (owners/buyers)? Or can I use just one user table and still link the different types of users?