I own a tropical resort and do teach this course to people who just turn up - I tell them it'll take three full days so long as they work conscientiously. If anyone contacts me beforehand to arrange to do it I always put them off and tell them to do it at home. Not that I don't like teaching it, but I think it should be done to a much more relaxed timescale over at least a week or two. Similarly with the divemaster course - I really don't like teaching it to anyone who won't be with me at least a month, because it's so much about time in the water. My own DM course was an internship that took over a year, and my own Rescue course was spread over several weeks of evenings plus two days at weekends. We didn't just do everything once in one place, but several times in different environments, sometimes land-based, sometimes boat-based.
As in so many diving courses, it depends whether you want to learn something and become a better diver, or just get the card. If it's for your son the first thing to do is to dispel the desire he probably has for instant gratification.