Asking a design question like "Design a booking system, but with recurring appointments" is like asking "Write a function to order a list of string, but it has to work with arbitrary UTF-8 strings, in any locale, respecting alphabetical order conventions". It's a deceptively simple question that gets impossibly hairy if you try to make it work in a real-world, general, way.