I suspect I have asked quite alot in one post and appreciate what I have created so far may not be the best way.
I agree that this is quite a lot. It's better to break things down and ask about one part of your list at a time.
Most basic issue I see in your post is that there appears to be confusion between "tables" and "layouts".
Your fields make up a record in a table created on the tables tab in Manage | Database | tables. Any given layout in your database file specifies a specific table in Layout Setup... There's a drop down list there where you select a "box" from Manage | Database | Relationships and that "box" in turn, refers to a specific table in your database. You can create any number of layouts with any name you want that all refer to the same table. You are not limited to the layout FileMaker creates for you with exactly the same name as your table.
I would like to be able to view appointments in layouts/yet to be created layouts:- Enquiry (allocated appointment),
I don't know what you mean by that.
Customers (all respective appointments)
If you define this relationship:
Customers::__pkCustomerID = Appointments::_fkCustomerID
(See the first post of: Common Forum Relationship and Field Notations Explained for an explanation of this notation.)
Then a portal to appointments placed on a Customers based layout will list all appointments for that customer. A portal filter (if you have fileMaker 11 or newer), can omit past appointments.
Calendar (all appointments)
SeedCode offers a free calendar you can add to your solution. There is also this simpler Calendar Demo file you can use as an example of how to set up your own calendar: https://www.dropbox.com/s/e8d03xvwe8vtz85/Calendar.fp7
Salesperson (all relevant appointments)
Just like we did with Customers, a SalesPerson layout can have a portal to Appointments if you have this relationship:
SalesPerson::__pkSalesPersonID = Appointments::_fkSalesPersonID