Thank you for your post.
Create a table that shows all the 7-day and 5-day cruises for a ship. For example, let's say "Solstice" sails the following schedule:
DATE - # DAYS
6/1/2009 - 5
6/7/2009 - 7
6/16/2009 - 7
6/25/2009 - 7
7/4/2009 - 5
7/10/2009 - 7
The customer when selects "Solstice" will then be presented with the above dates. Depending on the 5-day or 7-day, different itineraries would display which is based upon the sail date, the number of days, the ship, etc. These itineraries would exist in another table that includes, ship and number of days.
This should probably get you pointed in the right direction. Let me know if you need clarification for any of the above ideas.
Thank you TS Gal
Let me run this over you and see if it will work
I will build the ship's itinerary on a different table for all the dates because even though they segments sold as different cruises by the cruiseline I do not sell the cruise I sell the tours for each city so I have a list of all the dates a ship is in by port
Doing this when I am working with my client and I ask the question Are you taking a cruise then he answers yes - I ask Cruiseline and Ship and I also ask Embark and Debark date by obtaining answers for this then my itinerary should populate with - Celebrity Solstice Dec 13- to Dec 20
Embark Dec 13 and it should list all the ports the Solstice is in between Dec 13 and Dec 20 being driven by Embark and Debark date answered by client.
I would also ask Start and End date for their trip and if this is different from Embark and Debark Date then these dates should be added to the clients itinerary as blank lines for me to fill in as they are not related to embark and debark from the ship
Does this makes sense?
Thank you for the additional information.
The particular cruise may have a start date and end date, or it may just include a start date with the number of days. Be careful with those dates, because 3 days, 2 nights usually means 2 days. For example, December 13 to December 15 may be 3 day cruise; not 2 days.
If you ask a client for a start date and end date, you can create another relationship based upon those dates to see what cruises are available in that time frame. If the client is looking for a cruise between December 10th and December 20th, your cruise December 13 to December 20 would appear, but if the client is looking between December 10th and December 19th, the cruise will NOT appear, because the cruise returns on the 20th. Does that make sense?
Now, going back to 13th and 20th, you could have the itinerary show up for those days, and if the couple were set on leaving the 10th for vacation, you can then handle the air itinerary and the hotel accommodations for the time up to the 13th before catching the cruise.
I have built a master itinerary where I am keeping all ships and where they are during the year on each day - I have a booking layout which is where I enter the booking details for a clients and when I ask the following question
Are you taking a cruise Yes/No
This information should allow me then to built an itinerary for the booking in the following fomat
Date Day City Arrival Time - Departure Time
What I want is to fetch information and prefill itinerary fileds for those dates where a cruise is involved all the data should come if available from the master itinerary that belongs to the ship selected - The dates that are outside the embark and end date wil be empty waiting for me to fill according to the parameters of the client's booking
And voila I should have an itinerary for the booking
Can you tell me what kind of relation I need or how do I make it fetch for the master itinerary defined by dates if the booking involves a cruise??
The relationship would be the same as my last post. You would have the cruise, and the dates. In the client's itinerary, you would have a complete set of dates beginning with the starting date ending with the ending date. If the vacation is 14 days, there would be 14 records. Each day of the cruise would correspond to the itinerary of the cruise ship, and those daily vacation records would be populated. Mostlikely, there will be multiple events for each day, so that would require another table.