Notice that in this mode, we will have entire shedule re rendered on date navigation, so "date" attribute should be updated on DateRangeChangeEvent. This can be achieved by binding following listener method to "dateRangeChangeListener" attribtue:

public void dateRangeChanged(ScheduleDateRangeChangeEvent event) {
    FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Date range changed", event.toString()));
    Calendar calendar = Calendar.getInstance();
    calendar.setTime(event.getStartDate());
    if (AbstractSchedule.VIEW_MONTH.equals(getView())) {
        calendar.add(Calendar.DATE, 15);
    }
    setInitialDate(calendar.getTime());
}
            

Right schedule does not have "dateRangeChangeListener" attribute bound, so after re render it stays on the initial date.