{"action":"opened","issue":{"url":"https://api.github.com/repos/pickleworks/WhenWhereScheduler/issues/82","labels_url":"https://api.github.com/repos/pickleworks/WhenWhereScheduler/issues/82/labels{/name}","comments_url":"https://api.github.com/repos/pickleworks/WhenWhereScheduler/issues/82/comments","events_url":"https://api.github.com/repos/pickleworks/WhenWhereScheduler/issues/82/events","html_url":"https://github.com/pickleworks/WhenWhereScheduler/issues/82","id":120861933,"number":82,"title":"Recurring events vs. availability ","user":{"login":"mhelali","id":12175057,"avatar_url":"https://avatars.githubusercontent.com/u/12175057?v=3","gravatar_id":"","url":"https://api.github.com/users/mhelali","html_url":"https://github.com/mhelali","followers_url":"https://api.github.com/users/mhelali/followers","following_url":"https://api.github.com/users/mhelali/following{/other_user}","gists_url":"https://api.github.com/users/mhelali/gists{/gist_id}","starred_url":"https://api.github.com/users/mhelali/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mhelali/subscriptions","organizations_url":"https://api.github.com/users/mhelali/orgs","repos_url":"https://api.github.com/users/mhelali/repos","events_url":"https://api.github.com/users/mhelali/events{/privacy}","received_events_url":"https://api.github.com/users/mhelali/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/pickleworks/WhenWhereScheduler/milestones/3","html_url":"https://github.com/pickleworks/WhenWhereScheduler/milestones/Milestone%203","labels_url":"https://api.github.com/repos/pickleworks/WhenWhereScheduler/milestones/3/labels","id":1114476,"number":3,"title":"Milestone 3","description":null,"creator":{"login":"pickleworks","id":5339896,"avatar_url":"https://avatars.githubusercontent.com/u/5339896?v=3","gravatar_id":"","url":"https://api.github.com/users/pickleworks","html_url":"https://github.com/pickleworks","followers_url":"https://api.github.com/users/pickleworks/followers","following_url":"https://api.github.com/users/pickleworks/following{/other_user}","gists_url":"https://api.github.com/users/pickleworks/gists{/gist_id}","starred_url":"https://api.github.com/users/pickleworks/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pickleworks/subscriptions","organizations_url":"https://api.github.com/users/pickleworks/orgs","repos_url":"https://api.github.com/users/pickleworks/repos","events_url":"https://api.github.com/users/pickleworks/events{/privacy}","received_events_url":"https://api.github.com/users/pickleworks/received_events","type":"User","site_admin":false},"open_issues":17,"closed_issues":0,"state":"open","created_at":"2015-05-18T01:38:58Z","updated_at":"2015-12-07T20:36:36Z","due_on":null,"closed_at":null},"comments":0,"created_at":"2015-12-07T20:36:36Z","updated_at":"2015-12-07T20:36:36Z","closed_at":null,"body":"Problem comes form availability vs. events.\r\n\r\nLet’s say I’m a hairdresser and always will have Tuesdays at 9 open to see clients. So maybe I use new event to setup recurring.\r\n\r\nThe idea being one person would reserve one Tuesday at 9, another maybe next Tuesday. But these reservations would be independent as far as ClientReservationsTable goes and NOT recurring.\r\n\r\nAnd all the Tuesdays will need to have same availability id, because if I changed one to 8 PM because I am no longer available at 9, I don’t want to manually have to be deleting the 9 PM availability from not to end of time, so we have to do what normal calendars do: Do you want to change just this occurrence or all availabilities? If they say just this one, then we have to create a new availability id for the rouge availability.\r\n\r\nPain, but clear enough I think.\r\n\r\nHere is what gets crazy:\r\n\r\nSay the acting teacher has availability for his advanced class. It runs for 6 weeks on Mondays and Wednesdays. Now is this is a different kind of recurring? Maybe not from provider point of view, he can still use recurring features. BUT when from the reservations point of view this is going to be a different situation because all those 12 availabilities would get one reservation id, and if you sign up for one, then you are signing up for the whole thing. (AND maybe you can’t add if first class is already passed!).\r\n\r\nThis is even more pain… but I think that information then would have to go in the service table, where we describe all things about the service, including if it is a single event one or a recurring one (could be forever recurring)… and I think we need to add a field “can_join_service_if_first_one_in_recurring_has_already_passed”. That’s the idea but to cover all possibilities it should really be “can_join_service_if_nth_in_recurring_has_already_passed” where 0 means you can’t join if current date is already passed beginning of first event. 1 means you can join if missed first class but not if missed second class and so on.\r\n"}}