[ADD] Second version of calendar;
[ADD] validations + test;
[UPDATE] exception model