I want to run an dancing festival on-line booking system to rent to my customers.
My customers pay for each festival managed by the system.
Customer: who use the platform to manage the event;
user: who attend the event.
Each festival has several activities (ex. workshop, practices, lessons, dancing nights, etc) scheduled during the event and services (shiatsu, transfert, etc.) not scheduled in a specific moment and usable by user during all the festival.
Some activities can be booked if not scheduled in the same moment (ex. workshops, lessons) other can be booked even scheduled in the same moment with other (ex. practices, dancing nights).
Some service can be booked only one time (ex. coming transfert, going transfert), and other can be booked several times (ex. shiatsu).
Some activity (ex. Workshop) need a partner.
Some activity (ex. Workshop) have price depending the quantity (qty=1 -> $12, qty=2 -> $20, qty=3 -> $30, ...) with no rule (customer have to specify price for each qty).
Other activity (ex. Practice) have specified price for each activity (pratice day one $5, pratice day two $7, pratice day three $3, ...). The same for services (1 shiatsu -> $12, 2 shiatsu -> $20, ...) (coming transfert -> $15, going transfert -> $20).
User can buy activities or services in bundle (ex. dancing night pass, practice pass, all activity pass, ecc.) so customer have to specify which activities and services are included in the bundle.
The bookig form is organized in 6 steps that user can walk forward, back or jump-in (steps bar on the top of the form). Steps change color dependig the completation state.
1. Start booking or login (openID, user/pass)
2. Activities and services
3. Personal data
4. Chose a partner
4.A. Look for a partner
4.B. Advertise as partner
5. Price & discount
6. Pay & logout
Framework: CodeIgniter 2
UserInterface: YUI2 + JQuery
Detailed specification in PBM