/* * Copyright 2009-2012 by KNURT Systeme (http://www.knurt.de) * * Licensed under the Creative Commons License Attribution-NonCommercial-ShareAlike 3.0 Unported; * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://creativecommons.org/licenses/by-nc-sa/3.0/ * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package de.knurt.fam.core.model.config; /** * rules for booking a facility forced to user with a specific role * * @author Daniel Oltmanns * @since 1.20 (09/01/2010) */ public interface SetOfRulesForARole { /** * return units of smallest minutes bookable that must be booked at least. * every facility can be booked for at least n minutes. this n minutes cannot * be set directly in the system, but the units of smallest minutes * bookable. * * @see #getSmallestMinutesBookable() * @return units of smallest minutes bookable that must be booked at least. */ public int getMinBookableTimeUnits(); /** * set the units of smallest minutes bookable. this is for the minimum * minutes that can be booked. * * @see #getMinBookableTimeUnits() * @param minBookableTimeUnits * the units of smallest minutes bookable. */ public void setMinBookableTimeUnits(int minBookableTimeUnits); /** * return units of smallest minutes bookable that must can be booked at * maximum. every facility can be booked for maximum n minutes. this n minutes * cannot be set directly in the system, but the units of smallest minutes * bookable. * * @see #getSmallestMinutesBookable() * @return units of smallest minutes bookable that can be booked at maximum. */ public int getMaxBookableTimeUnits(); /** * set the units of maximum minutes bookable. this is for the maximum * minutes that can be booked. * * @see #getMaxBookableTimeUnits() * @param maxBookableTimeUnits * the units of maximal minutes bookable. */ public void setMaxBookableTimeUnits(int maxBookableTimeUnits); /** * return the units of facilities, that must be booked at once. on facilities * with more then one capacity unit, there may be a minimum count of units * to book. for example: if the facility is 24 eggs, you may want set 6 eggs * at minimum. if the facility is the unit self, return 1. * * @see FacilityBookable#getCapacityUnits() * @return the units of facilities, that must be booked at once. */ public int getMinBookableCapacityUnits(); /** * the minimum bookable capactiy units to set. * * @see #getMinBookableCapacityUnits() * @param minBookableCapacityUnits * to set */ public void setMinBookableCapacityUnits(int minBookableCapacityUnits); /** * return the units of facilities, that can be booked at once. on facilities * with more then one capacity unit, there may be a maximum count of units * to book. for example: if the facility is 24 eggs, you may want set 12 * eggs at maximum. if the facility is the unit self, return 1. * * @see FacilityBookable#getCapacityUnits() * @return the units of facilities, that can be booked maximal at once. */ public int getMaxBookableCapacityUnits(); /** * the max bookable capacity units to set. * * @see #getMaxBookableCapacityUnits() * @param maxBookableCapacityUnits * to set */ public void setMaxBookableCapacityUnits(int maxBookableCapacityUnits); /** * return the minutes the reminder mail must be send to the booker. before a * session starts, a reminder mail can be send to the booker. return the * minutes the reminder mail shall be sent before the session starts or * <code>null</code>, if no mail shall be sent. * * @see CronjobAction * @return the minutes the reminder mail must be send to the booker. */ public int getReminderMailMinutesBeforeStarting(); /** * set the minutes for the reminder mail. * * @see #getReminderMailMinutesBeforeStarting() * @param reminderMailMinutesBeforeStarting * to set */ public void setReminderMailMinutesBeforeStarting(int reminderMailMinutesBeforeStarting); }