Hey, 

I use a lot of quartz calendars in my rules like this:

rule "my rule"
calendars "myCalendar"  
when

But defining them in java is quite verbose. Also I often use the same calendar for only one rule. I believe the calendar is part of the logic and therefore don't like to initialize it elsewhere but with the logic code in the rule.

DailyCalendar myCalendar = new DailyCalendar( 7, 0, 0, 0, 8, 0, 0, 0 );
myCalendar.setInvertTimeRange( true );
ksession.getCalendars().set( "myCalendar", QuartzHelper.quartzCalendarAdapter( myCalendar ) );

I would rather define calendars directly in the rule files or even exactly where I use them, e.g.

rule "my super rule"
calendars DailyCalendar(   7, 0, 0, 0, 8, 0, 0, 0, true );
when

or defining them in the rule file like this: (example)

declare "myCalendar"
@role(calendar)
@type( daily )
@from (7,0,0)
@until (8, 0, 0)
@invert(true)
end

and the use them as ever. 

I couldnt find anything like this in the documentation, but would not be surprised if it is actually already possible somehow.
 
If not I would like to suggest this as a new feature ;)  (I think I'd prefer the second example with declare)

- Alex