I'm planning on tying Joomla + InfusionCRM together, and want to use DTregister at the center of my major operations if it can do this. I know this is a long list.. but this is how my business works. If DTregister doesn't work this way, I would seriously consider PAYING for a custom version which DOES work the way I want it to work. InfusionCRM can handle "products." And I sell books as products. However, what I sell most of is "seats in my classes." So I need a full reservation system to hold seats for people in classes and keep students informed as things progress. The current "hand-spun" php implementation works roughly as follows (which I need ported to Joomla and InfusionCRM): -Students can "suggest" a city, and what class type they want in that city (based on airport codes.) -When I get enough interest in a city, I can decide to create a new class in that city -Typically three classes are available in a single week in the same city: Class1(Mon-Tues),Class2(Wed-Thurs), Class3 (Fri) -Classes are not declared "on" until we get "MIN NUMBER OF REQUIRED PAID SEATS" for each class (which is usually 7) -Student sees classes within the week they want to sign up for -They register for a class and can pay immediately by credit card, or "hold a seat" with a promise of a PO. -If student pays by credit card, they get a receipt -If student promises to pay by PO they get an invoice -In either case, "Paid" or "seat held" Students get an auto-respond email saying "Thanks for paying, don't make travel arrangements yet, class isn't yet declared 'on.' We'll let you know when that happens." -Held seats are released in 14 days if PO is not received -All "held" seats are released 14 days before first starting day of class week (so, 14 days before the Monday of the week of a class.) -A class must have X paid students to be declared "on" (typically 7) -A student can call me / email me to move his seat to ANOTHER week's class up to 14 days before start of class -If a class doesn't "run" (due to not enough paid students), the class is canceled and we can either a. Ask the student which class(es) in what weeks they want to move to (send links to help them pick the next class(es) automatically or b. Refund their money (they must call for this option.) -If a class gets the required number of students, I manually change the class status to "CONFIRMED." -At that point, PAID students get a WELCOME LETTER for that class which explains: Location, Dates, (students may receive three welcome letters for the same week because usually they sign up for all three classes IN that week.) -Paid students from this point forward immediately get the specific class welcome letter -Registration is closed for a particular class when the number of available seats in that class is at MAX -Students can still sign up for a "waiting list" for a particular class -Students click on a unique link in that CLASS WELCOME LETTER email. We see an acknowledgment in our system that they've READ the letter. (That way, later, they cannot say they DIDN'T get the letter.) -The system sends them the CLASS WELCOME LETTER each Monday and Friday until they acknowledge it. -14 days before class, my assistant gets emailed a list of people who have not acknowledged their welcome letters. She makes calls to them. Other notes: -Students can show "interest" in a specific class (without paying.) We then list them as "Interested (Not Paid)" in the class roster, and they do not "count" toward the paid count. If the class is "on" they get one letter (expressing the class is on, and they should pay now to get their seat) or if the class is not yet declared (expressing that they should pay now for when the class is on.) -"interested" and "waiting list" students get emailed whenever anything needs to be sent to the whole specific class (like we change the start time of just one class) or a message to all students within a week (like we moved the classroom to a new building.) -Students may not be signing themselves up. They could be self-paying (own credit card) or using a "company buyer" (ie: secretary, purchasing department) person could be signing them up. We need fields which capture this information and send only billing stuff to the purchaser, and only "class is on / not yet on" emails to student. -If a student signs up for one class in a week he pays full price . -If a student signs up for two classes in a week he gets $100 discount for the second class -If a student signs up for three classes in a week, he gets another $100 discount for a total of $200 discount. -When a new class is available, it automatically shows up in my outward facing calendar for everyone to see, and click on to sign up immediately. -I should be able to do the following actions and make everyone aware of these changes immediately: -Change the week of the classes (then all three classes in that week move to the new week.) -Change the location of the classes (date stays the same) -In these cases, the welcome letters are resent and the acknowledgment we have on record are cleared. We need new acknowledgments from students that they realize the class has been moved / changed -All students who have taken a class are put into different buckets for future marketing. Buckets might include: ClassTypeTaken, CityOfOrigin, CityWhereClassRan, etc. The point is to be able to up-sell customers who have been through my classes and let them know later that NEW classes are available, etc. Marketing followup to be done via InfusionCRM. I know this is a long list.. but this is how my business works. If DTregister doesn't work this way, I would seriously consider PAYING for a custom version which DOES work the way I want it to work. Let me know your thoughts. Thanks !