Booked Scheduler Administration

Administration

If you are in a group with the Application Administrator role assigned then you will see the Application Management menu item. All administrative tasks can be found here.

Setting up Schedules

When installing Booked Scheduler a default schedule will be created with out of the box settings. From the Schedules menu option you can view and edit attributes of the current schedules.

Schedules can be displayed starting on any day of the week and for any number of days. For a schedule to display starting on the current day, set the Starts On option to Today.

Each schedule must have a layout defined for it. This controls the availability of the resources on that schedule. Clicking the Change Layout link will bring up the layout editor. Here you can create and change the time slots that are available for reservation and blocked from reservation. There is no restriction on the slot times, but you must provide slot values for all 24 hours of the day, one per line. Also, the time format must be in 24 hour time. You can also provide a display label for any or all slots, if you wish.

A slot without a label should be formatted like this: 10:25 - 16:50

A slot with a label should be formatted like this: 10:25 - 16:50 Schedule Period 4

Below the slot configuration windows is a slot creation wizard. This will set up available slots at the given interval between the start and end times.

Schedule Administrators

A group of users may be set up with permission to manage resources. In order for a group to be set as the schedule administrator the group must first be granted the Schedule Administrator role. This is configured from the Groups admin tool. Once that role has been added, the group will be available in the Manage Schedules tool.

Schedule Administrators have the same capabilities as Application Administrators for any resource that is on a schedule which the group is assigned to. They can change schedule details, black out times, manage and approve reservations.

Setting up Resources

You can view and manage resources from the Resources menu option. Here you can change the attributes and usage configuration of a resource.

Resources in Booked Scheduler can be anything you want to make bookable, such as rooms or equipment. Every resource must be assigned to a schedule in order for it to be bookable. The resource will inherit whatever layout the schedule uses.

Setting a minimum reservation duration will prevent booking from lasting shorter than the set amount. The default is no minimum.

Setting a maximum reservation duration will prevent booking from lasting longer than the set amount. The default is no maximum.

Setting a resource to require approval will place all bookings for that resource into a pending state until approved. The default is no approval required.

Setting a resource to automatically grant permission to it will grant all new users permission to access the resource at registration time. The default is to automatically grant permissions.

You can require a booking lead time by setting a resource to require a certain number of days/hours/minutes notification. For example, if it is currently 10:30 AM on a Monday and the resource requires 1 days notification, the resource will not be able to be booked until 10:30 AM on Sunday. The default is that reservations can be made up until the current time.

You can prevent resources from being booked too far into the future by requiring a maximum notification of days/hours/minutes. For example, if it is currently 10:30 AM on a Monday and the resource cannot end more than 1 day in the future, the resource will not be able to be booked past 10:30 AM on Tuesday. The default is no maximum.

Certain resources can have a usage capacity. For example, some conference rooms may only hold up to 8 people. Setting the resource capacity will prevent any more than the configured number of participants at one time, excluding the organizer. The default is that resources have unlimited capacity.

Requiring check in/check out will give the reservation owner the opportunity to record when they actually begin and end a reservation. You can optionally automatically release a reserved time if a user does not check in within a given amount of time. To automatically release reservations you must configure the autorelease job.

Application Administrators and applicable Schedule and Resource Administrators are exempt from usage constraints.

Resource Administrators

A group of users may be set up with permission to manage resources. In order for a group to be set as the resource administrator the group must first be granted the Resource Administrator role. This is configured from the Groups admin tool. Once that role has been added, the group will be available in the Manage Resources tool.

Resource Administrators have the same capabilities as Application Administrators for any resource which the group is assigned to. They can change resource details, black out times, manage and approve reservations.

Resource Images

You can set a resource image which will be displayed when viewing resource details from the reservation page. This requires php_gd2 to be installed and enabled in your php.ini file. More Details

Resource Statuses

Setting a resource to the Available status will allow users with permission to book the reservation. The Unavailable status will show the resource on the schedule but will not allow it to be booked by anyone other than administrators. The Hidden status will remove the resource from the schedule and prevent bookings from all users.

Resource Groups

Resource Groups are a simple way to organize and filter resources. When a booking is being created, the user will have an option to book all resources in a group. If resources in a group are assigned to different schedules then only the resources which share a schedule will be booked together.

If using resource groups, each resource must be assigned to at least one group. Due to the group hierarchy, unassigned resources will not be able to be reserved.

Drag and drop resource groups to reorganize.

Right click a resource group name for additional actions.

Drag and drop resources to add them to groups.

Resource Types

Resource types allow resources that share a common set of attributes to be managed together. Custom attributes for a resource type will apply to all resources of that type

Setting up Accessories

Accessories can be thought of as ancillary resources used during a reservation. Examples may be projectors or chairs in a conference room.

Accessories can be viewed and managed from the Accessories menu item, under the Resources menu item. Setting a accessory quantity will prevent more than that number of accessories from being booked at a time.

Setting up Quotas

Quotas restrict reservations from being booked based on a configurable limit. The quota system in Booked Scheduler is very flexible, allowing you to build limits based on reservation length and number reservations.

Quota limits "stack". For example, if a quota exists limiting a resource to 5 hours per day and another quota exists limiting to 4 reservations per day, a user would be able to make 4 one-hour-long reservations but would be restricted from making 3 two-hour-long reservations. This allows powerful quota combinations to be built.

Quotas applied to a group are enforced for each user in the group individually. It does not apply to the group's aggregated reservations.

It is important to remember that quota limits are enforced based on the schedule's timezone. For example, a daily limit would begin and end at midnight of the schedule's timezone; not the user's timezone.

Application Administrators are exempt from quota limits.

Setting up Announcements

Announcements are a very simple way to display notifications to Booked Scheduler users.

From the Announcements menu item you can view and manage the announcements that are displayed on users dashboards. An announcement can be configured with an optional start and end date. An optional priority level is also available, which sorts announcements from 1 to 10.

HTML is allowed within the announcement text. This allows you to embed links or images from anywhere on the web.

Setting up Groups

Groups in Booked Scheduler organize users, control resource access permissions and define roles within the application. Setting resource permissions for a group will grant access to all members of that group. Users can individually be granted additional resource permission.

Roles

Roles give a group of users the authorization to perform certain actions.

Application Administrator: Users that belong to a group that is given the Application Administrator role are open to full administrative privileges. This role has nearly zero restrictions on what resources can be booked. It can manage all aspects of the application.

Group Administrator: Users that belong to a group that is given the Group Administrator role are able to manage their groups and reserve on behalf of and manage users within that group. A group administrator must first be assigned the Group Administrator role. This group will then be available in the Group Administrators list.

Resource Administrator: Users that belong to a group that is given the Resource Administrators role have the same capabilities as Application Administrators for any resource which the group is assigned to. They can change resource details, black out times, manage and approve reservations.

Schedule Administrator: Users that belong to a group that is given the Schedule Administrators role have the same capabilities as Application Administrators for any resource that is on a schedule which the group is assigned to. They can change schedule details, black out times, manage and approve reservations.

Viewing and Managing Reservations

You can view and manage reservations from the Reservations menu item. By default you will see the last 14 days and the next 14 days worth of reservations. This can be filtered more or less granular depending on what you are looking for. This tool allows you to quickly find an act on a reservation. You can also export the list of filtered reservations to CSV format for further reporting.

Reservation Approval

Setting $conf['settings']['reservation']['updates.require.approval'] to true will put all reservation requests into a pending state. The reservation becomes active only after an administrator approves it. From the Reservations admin tool an administrator will be able to view and approve pending reservations. Pending reservations will be highlighted.

Viewing and Managing Users

You can add, view, and manage all registered users from the Users menu item. This tool allows you to change resource access permissions of individual users, assign users to groups, deactivate or delete accounts, reset user passwords, and edit user details. You can also add new users to Booked Scheduler, which is especially useful if self-registration is turned off.

Reservation Colors

Reservation colors can be set for individual users, resources, or dynamically based on a custom attribute value. The slot background color of a reservation on the Schedule and Calendar views will be displayed in this color.

Custom Attributes

Custom Attributes are a powerful extension point in Booked. You can add additional attributes to Reservations, Resources, Resource Types and Users.

Attributes can be configured as single line text box, a multi-line text box, a select list (drop down), or a checkbox. All attributes can be configured to be required. Textbox attributes allow an optional validation expression to be set. This value must be a valid regular expression. For example, to require a digit to be entered the validation expression would be /\d+/

User, Resource, and Resource Type attributes can be limited to a single entity. These attributes will have an Applies To property. If an attribute is configured to apply to a single entity then it will only be collected for that entity.

Reservation attributes will be collected during the reservation process. To collect an attribute value only for specific users or resources, check the 'Collect In Specific Cases' option and pick the cases when the attribute should be shown.

User attributes are collected when registering and updating a user's profile.

Resources attributes are entered when managing resources and will be displayed when viewing resource details.

Resource Type attributes are entered when managing resource types and will be displayed when viewing resource details.

Admin only attributes are only shown to users who have administrative privileges over that reservation.

Private attributes are only shown to the reservation owner and those users who have administrative privileges over that reservation.

Custom attributes are available to plugins and can be used to extend the functionality of Booked.

Blackout Times

Blackout Times can be used to prevent reservations from being booked at certain times. This feature is helpful when a resource is temporarily unavailable or unavailable at a scheduled recurring interval. Blacked out times are not bookable by anyone, including administrators.

Reporting

Reports are accessible to all application, group, resource and schedule administrators. When the currently logged in user has access to reporting features, they will see a Reports navigation item. Booked Scheduler comes with a set of Common Reports which can be viewed as a list of results, a chart, exported to CSV and printed. In addition, ad-hoc reports can be created from the Create New Report menu item. This also allows listing, charting, exporting and printing. In addition, custom reports can be saved and accessed again at a later time from the My Saved Reports menu item. Saved reports also have the ability to be emailed.

Credits

Credits allow control over a user's usage. Credits must first be enabled in the application configuration before they can be managed. Once enabled, administrators will have the ability to set the credit redemption rates for peak and off peak times. Peak times are defined per schedule.

If a reservation would bring a user over their credit limit, the reservation will be rejected. Administrators can manage user credits when managing user details.

Reservation Reminders

Users can request that reminder emails are send prior to the beginning or end of a reservation. In order for this feature to function, $conf['settings']['enable.email'] and $conf['settings']['reservation']['enable.reminders'] must both be set to true. Also, a scheduled task must be configured on your server to execute /Booked Scheduler/Jobs/sendreminders.php

On Linux, a cron job can be used. The command to run is php followed by the full path to Booked Scheduler/Jobs/sendreminders.php. The full path to sendreminders.php on this server is /home/sites/cityrc.co.uk/public_html/booking/Jobs/sendreminders.php

An example cron configuration might look like: * * * * * php -f /home/sites/cityrc.co.uk/public_html/booking/Jobs/sendreminders.php

If you have access to cPanel through a hosting provider, setting up a cron job in cPanel is straightforward. Either select the Every Minute option from the Common Settings menu, or enter * for minute, hour, day, month and weekday.

On Windows, a scheduled task can be used. The task must be configured to run at a frequent interval - at least every 5 minutes. The task to execute is php followed by the full path to Booked Scheduler\Jobs\sendreminders.php. For example, c:\PHP\php.exe -f c:\inetpub\wwwroot\Booked\Jobs\sendreminders.php

Configuring Autorelease Job

On Linux, a cron job can be used. The command to run is php followed by the full path to Booked Scheduler/Jobs/autorelease.php. The full path to autorelease.php on this server is /home/sites/cityrc.co.uk/public_html/booking/Jobs/autorelease.php

An example cron configuration might look like: * * * * * php -f /home/sites/cityrc.co.uk/public_html/booking/Jobs/autorelease.php

If you have access to cPanel through a hosting provider, setting up a cron job in cPanel is straightforward. Either select the Every Minute option from the Common Settings menu, or enter * for minute, hour, day, month and weekday.

On Windows, a scheduled task can be used. The task must be configured to run at a frequent interval - at least every 5 minutes. The task to execute is php followed by the full path to Booked Scheduler\Jobs\autorelease.php. For example, c:\PHP\php.exe -f c:\inetpub\wwwroot\Booked\Jobs\autorelease.php

Configuring Waitlist Notification Job

On Linux, a cron job can be used. The command to run is php followed by the full path to Booked Scheduler/Jobs/sendwaitlist.php. The full path to sendwaitlist.php on this server is /home/sites/cityrc.co.uk/public_html/booking/Jobs/sendwaitlist.php

An example cron configuration might look like: * * * * * php -f /home/sites/cityrc.co.uk/public_html/booking/Jobs/sendwaitlist.php

If you have access to cPanel through a hosting provider, setting up a cron job in cPanel is straightforward. Either select the Every Minute option from the Common Settings menu, or enter * for minute, hour, day, month and weekday.

On Windows, a scheduled task can be used. The task must be configured to run at a frequent interval - at least every 5 minutes. The task to execute is php followed by the full path to Booked Scheduler\Jobs\sendwaitlist.php. For example, c:\PHP\php.exe -f c:\inetpub\wwwroot\Booked\Jobs\sendwaitlist.php

Configuring Missed Checkin Notification Job

On Linux, a cron job can be used. The command to run is php followed by the full path to Booked Scheduler/Jobs/sendmissedcheckin.php. The full path to sendmissedcheckin.php on this server is /home/sites/cityrc.co.uk/public_html/booking/Jobs/sendmissedcheckin.php

An example cron configuration might look like: * * * * * php -f /home/sites/cityrc.co.uk/public_html/booking/Jobs/sendmissedcheckin.php

If you have access to cPanel through a hosting provider, setting up a cron job in cPanel is straightforward. Either select the Every Minute option from the Common Settings menu, or enter * for minute, hour, day, month and weekday.

On Windows, a scheduled task can be used. The task must be configured to run once per minute. The task to execute is php followed by the full path to Booked Scheduler\Jobs\sendmissedcheckin.php. For example, c:\PHP\php.exe -f c:\inetpub\wwwroot\Booked\Jobs\sendmissedcheckin.php

Configuration

Some functionality can only be controlled by editing the config file.

$conf['settings']['app.title']The title of the application to be used in the browser. Default is false.

$conf['settings']['default.timezone']The default timezone to use. If not set, the server timezone will be used. Possible values are located here: http://php.net/manual/en/timezones.php

$conf['settings']['allow.self.registration']If users are allowed to register new accounts. Default is false.

$conf['settings']['admin.email']The email address of the main application administrator

$conf['settings']['default.page.size']The initial number of rows for any page that displays a list of data

$conf['settings']['enable.email']Whether or not any emails are sent out of Booked Scheduler

$conf['settings']['default.language']Default language for all users. This can be any language in the Booked Scheduler lang directory

$conf['settings']['script.url']The full public URL to the root of this instance of Booked Scheduler. This should be the Web directory which contains files like schedule.php and calendar.php. If this value starts with //, then the protocol (http vs https) will be automatically detected.

$conf['settings']['image.upload.directory']The physical directory to store images. This directory will need to be writable (755 suggested). This can be the full directory or relative to the Booked Scheduler root directory.

$conf['settings']['image.upload.url']The URL where uploaded images can be viewed from. This can be the full URL or relative to $conf['settings']['script.url'].

$conf['settings']['cache.templates']Whether or not templates are cached. It is recommended to set this to true, as long as tpl_c is writable

$conf['settings']['use.local.jquery']Whether or not a local version of jQuery files should be used. If set to false, the files will be served from the Google CDN. It is recommended to set this to false to improve performance and bandwidth usage. Default is false.

$conf['settings']['registration.captcha.enabled']Whether or not captcha image security is enabled during user account registration

$conf['settings']['registration.require.email.activation']Whether or not a user will be required to activate their account by email before logging in.

$conf['settings']['registration.auto.subscribe.email']Whether or not users will be automatically subscribed to all emails upon registration.

$conf['settings']['registration.notify.admin']Whether or not admins will be notified upon new user registration.

$conf['settings']['inactivity.timeout']Number of minutes before the user is automatically logged out. Leave this blank if you do not want users automatically logged out.

$conf['settings']['name.format']Display format for first name and last name. Default is '{first} {last}'.

$conf['settings']['css.extension.file']Full or relative URL to an additional CSS file to include. This can be used to override the default style with adjustments or a full theme. Leave this blank if you are not extending the style of Booked Scheduler.

$conf['settings']['disable.password.reset']If the password reset functionality should be disabled. Default is false.

$conf['settings']['home.url']Where the user will be redirected when the logo is clicked. Default is the user's homepage.

$conf['settings']['logout.url']Where the user will be redirected after being logged out. Default is the login page.

$conf['settings']['default.homepage']The default homepage to use when new users register 1 = Dashboard, 2 = Schedule, 3 = My Calendar, 4 = Resource Calendar. Default is 1 (Dashboard)

$conf['settings']['schedule']['use.per.user.colors']Use user-specific, administrator-defined colors for reservations. Default is false.

$conf['settings']['schedule']['show.inaccessible.resources']Whether or not resources that are not accessible to the user are displayed in the schedule

$conf['settings']['schedule']['reservation.label']The format of what to display for the reservation slot on the Bookings page. Available tokens are listed in the Available Label Tokens section.

$conf['settings']['schedule']['hide.blocked.periods']If blocked periods should be hidden on the bookings page. Default is false.

$conf['settings']['ics']['require.login']If users should be required to log in to add a reservation to Outlook.

$conf['settings']['ics']['subscription.key']If you want to allow calendar subscriptions, set this to a difficult to guess value. If nothing is set then calendar subscriptions will be disabled.

$conf['settings']['privacy']['view.schedules']If non-authenticated users can view the booking schedules. Default is false.

$conf['settings']['privacy']['view.reservations']If non-authenticated users can view reservation details. Default is false.

$conf['settings']['privacy']['hide.user.details']If non-administrators can view personal information about other users. Default is false.

$conf['settings']['privacy']['hide.reservation.details']If non-administrators can view reservation details. Options are true, false, past, current, future. Default is false.

$conf['settings']['reservation']['start.time.constraint']When reservations can be created or edited. Options are future, current, none. Future means reservations cannot be created or modified if the starting time of the selected slot is in the past. Current means reservations can be created or modified if the ending time of the selected slot is not in the past. None means that there is no restriction on when reservations can be created or modified. Default is future.

$conf['settings']['reservation']['updates.require.approval']Whether or not updates to reservations which have previously been approved require approval again. Default is false.

$conf['settings']['reservation']['prevent.participation']Whether or not users should be prevented from adding and inviting others to a reservation. Default is false.

$conf['settings']['reservation']['prevent.recurrence']Whether or not users should be prevented creating recurring reservations. Default is false.

$conf['settings']['reservation']['enable.reminders']Whether or not users can be reminded about their reservations via email. This requires the reminders job to be running. Default is false.

$conf['settings']['reservation']['allow.guest.participation']Whether or not non-registered users can be invited to reservations. Default is false.

$conf['settings']['reservation']['allow.wait.list']Whether or not users can be notified of time slot availability. This requires the wait list job to be running. Default is false.

$conf['settings']['reservation']['checkin.minutes.prior']The amount of time before a reservation starts that someone can check into it. Default is 5 minutes.

$conf['settings']['reservation']['default.start.reminder']The default start reminder for reservations. The format is # interval. For example, 10 minutes, 1 hours, 4 days. Default is empty.

$conf['settings']['reservation']['default.end.reminder']The default end reminder for reservations. The format is # interval. For example, 10 minutes, 1 hours, 4 days. Default is empty.

$conf['settings']['reservation.notify']['resource.admin.add']Whether or not to send an email to all resource administrators when a reservation is created. Default is false.

$conf['settings']['reservation.notify']['resource.admin.update']Whether or not to send an email to all resource administrators when a reservation is updated. Default is false.

$conf['settings']['reservation.notify']['resource.admin.delete']Whether or not to send an email to all resource administrators when a reservation is deleted. Default is false.

$conf['settings']['reservation.notify']['application.admin.add']Whether or not to send an email to all application administrators when a reservation is created. Default is false.

$conf['settings']['reservation.notify']['application.admin.update']Whether or not to send an email to all application administrators when a reservation is updated. Default is false.

$conf['settings']['reservation.notify']['application.admin.delete']Whether or not to send an email to all application administrators when a reservation is deleted. Default is false.

$conf['settings']['reservation.notify']['group.admin.add']Whether or not to send an email to all group administrators when a reservation is created. Default is false.

$conf['settings']['reservation.notify']['group.admin.update']Whether or not to send an email to all group administrators when a reservation is updated. Default is false.

$conf['settings']['reservation.notify']['group.admin.delete']Whether or not to send an email to all group administrators when a reservation is deleted. Default is false.

$conf['settings']['uploads']['enable.reservation.attachments']If users are allowed to attach files to reservations. Default is false.

$conf['settings']['uploads']['reservation.attachment.path']The full or relative filesystem path (relative to the root of your Booked Scheduler directory) to store reservation attachments. This directory must be writable by PHP (755 suggested). Default is uploads/reservation

$conf['settings']['uploads']['reservation.attachment.extensions']Comma separated list of safe file extensions. Leaving this blank will allow all file types (not recommended).

$conf['settings']['database']['type']Any PEAR::MDB2 supported type

$conf['settings']['database']['user']Database user with access to the configured database

$conf['settings']['database']['password']Password for the database user

$conf['settings']['database']['hostspec']Database host URL or named pipe

$conf['settings']['database']['name']Name of Booked Scheduler database

$conf['settings']['phpmailer']['mailer']PHP email library. Options are mail, smtp, sendmail, qmail

$conf['settings']['phpmailer']['smtp.host']SMTP host, if using smtp

$conf['settings']['phpmailer']['smtp.port']SMTP port, if using smtp, usually 25

$conf['settings']['phpmailer']['smtp.secure']SMTP security, if using smtp. Options are '', ssl or tls

$conf['settings']['phpmailer']['smtp.auth']SMTP requies authentication, if using smtp. Options are true or false

$conf['settings']['phpmailer']['smtp.username']SMTP username, if using smtp

$conf['settings']['phpmailer']['smtp.password']SMTP password, if using smtp

$conf['settings']['phpmailer']['sendmail.path']Path to sendmail, if using sendmail

$conf['settings']['plugins']['Authentication']Name of authentication plugin to use. For more on plugins, see Plugins below

$conf['settings']['plugins']['Authorization']Name of authorization plugin to use. For more on plugins, see Plugins below

$conf['settings']['plugins']['Permission']Name of permission plugin to use. For more on plugins, see Plugins below

$conf['settings']['plugins']['PreReservation']Name of prereservation plugin to use. For more on plugins, see Plugins below

$conf['settings']['plugins']['PostReservation']Name of postreservation plugin to use. For more on plugins, see Plugins below

$conf['settings']['install.password']If you are running an installation or upgrade, you will be required to provide a value here. Set this to any random value.

$conf['settings']['pages']['enable.configuration']If the configuration management page should be available to application administrators. Options are true or false.

$conf['settings']['api']['enabled']If the Booked Scheduler's RESTful API should be enabled. See more about prerequisites for using the API in the readme_installation.html file. Options are true or false.

$conf['settings']['recaptcha']['enabled']If reCAPTCHA should be used instead of the built in captcha. Options are true or false.

$conf['settings']['recaptcha']['public.key']Your reCAPTCHA public key. Visit www.google.com/recaptcha to sign up.

$conf['settings']['recaptcha']['private.key']Your reCAPTCHA private key. Visit www.google.com/recaptcha to sign up.

$config['settings']['email']['default.from.address']The email address to use as the 'from' address when sending emails. If emails are bouncing or being marked as spam, set this to an email address with your domain name. For example, noreply@yourdomain.com. This will not change the 'from' name or the reply-to address.

$config['settings']['email']['default.from.name']The friendly name to use as the 'from' address when sending emails.

$conf['settings']['reports']['allow.all.users']If non-administrators can access usage reports. Default is false.

$conf['settings']['password']['minimum.letters']Minimum number of letters required for user passwords. Default is 6.

$conf['settings']['password']['minimum.numbers']Minimum number of numbers required for user passwords. Default is 0.

$conf['settings']['password']['upper.and.lower']Whether user passwords require a combination of upper and lower case letters. Default is false.

$conf['settings']['reservation.labels']['ics.summary']The format of what to display in the summary field for ics feeds. Available tokens are listed in the Available Label Tokens section.

$conf['settings']['reservation.labels']['rss.description']The format of what to display in the description field for rss/atom feeds. Available tokens are listed in the Available Label Tokens section.

$conf['settings']['reservation.labels']['my.calendar']The format of what to display for the reservation label on the My Calendar page. Available tokens are listed in the Available Label Tokens section.

$conf['settings']['reservation.labels']['resource.calendar']The format of what to display for the reservation label on the Resource Calendar page. Available tokens are listed in the Available Label Tokens section.

$conf['settings']['reservation.labels']['reservation.popup']The format of what to display in reservation popups. Possible values are {name} {dates} {duration} {title} {resources} {participants} {accessories} {description} {phone} {email} {attributes} {pending}. Reservation custom attributes can be individually added using att with the attribute id. For example {att1}. Default is all information.

$conf['settings']['google.analytics']['tracking.id']Your Google Analytics Tracking ID. If this is set then Google Analytics tracking code will be added to every page in Booked.

$conf['settings']['authentication']['allow.facebook.login']If users can log in to Booked using Facebook. Default is false.

$conf['settings']['authentication']['allow.google.login']If users can log in to Booked using Google. Default is false.

$conf['settings']['authentication']['hide.booked.login.prompt']If the username and password fields should be hidden. Default is false.

$conf['settings']['credits']['enabled']Whether or not credit functionality is enabled. Default is false.

Available Label Tokens

Available tokens for reservation labels are {name}, {title}, {description}, {email}, {phone}, {organization}, {position}, {startdate}, {enddate} {resourcename} {participants} {invitees} {reservationAttributes} . Custom attributes can be added using att with the attribute id. For example {att1} Leave it blank for no label. Any combination of tokens can be used.

Plugins

The following components are currently pluggable:

To enable a plugin, set the value of the config setting to the name of the plugin folder. For example, to enable LDAP authentication, set $conf['settings']['plugins']['Authentication'] = 'Ldap';

Plugins may have their own configuration files. For LDAP, rename or copy /plugins/Authentication/Ldap/Ldap.config.dist to /plugins/Authentication/Ldap/Ldap.config and edit all values that are applicable to your environment.

Installing Plugins

To install a new plugin copy the folder to the proper plugin directory. Then change either $conf['settings']['plugins']['Authentication'], $conf['settings']['plugins']['Authorization'] or $conf['settings']['plugins']['Permission'] in config.php to the name of that folder.

Active Directory Integration

Booked can authenticate your users against Active Directory. To enable this, first set $conf['settings']['plugins']['Authentication'] = 'ActiveDirectory';

Next, open Application Management - Customization - Application Configuration and choose the Authentication-ActiveDirectory file.

$conf['settings']['domain.controllers']Comma separated list of ActiveDirectory servers. ex) domaincontroller1,controller2

$conf['settings']['port']Default port 389 or 636 for SSL.

$conf['settings']['username']Admin user to bind with (this is not always required).

$conf['settings']['password']Admin user password to bind with (this is not always required).

$conf['settings']['basedn']The base dn for your domain. This is generally the same as your account suffix, but broken up and prefixed with DC=. Your base dn can be located in the extended attributes in Active Directory Users and Computers MMC.

$conf['settings']['version']LDAP protocol version. Default is 3

$conf['settings']['use.ssl']Whether or not to use SSL. This typically relates to the port used.

$conf['settings']['account.suffix']The full account suffix for your domain. Example: @uidauthent.domain.com.

$conf['settings']['database.auth.when.ldap.user.not.found']If Active Directory auth fails, authenticate against Booked Scheduler database

$conf['settings']['attribute.mapping']Mapping of required attributes to attribute names in your directory.

$conf['settings']['required.groups']A required group that the user must belong to. The user only needs to belong to at least one listed. Blank for no restriction. ex) Group1,Group2

$conf['settings']['sync.groups']Whether or not to sync group membership into Booked. The Active Directory groups must first be created in Booked. Anything that doesn't exist in Booked will be skipped.

More info for ActiveDirectory configuration can be found at http://adldap.sourceforge.net/wiki/doku.php?id=documentation_configuration

LDAP Integration

Booked can authenticate your users against LDAP. To enable this, first set $conf['settings']['plugins']['Authentication'] = 'Ldap';

Next, open Application Management - Customization - Application Configuration and choose the Authentication-Ldap file.

$conf['settings']['host']Comma separated list of LDAP servers such as mydomain1,localhost

$conf['settings']['port']Default port 389 or 636 for SSL

$conf['settings']['version']LDAP protocol version. Default is 3

$conf['settings']['starttls']Whether or not to start TLS after connecting

$conf['settings']['binddn']The distinguished name to bind as (username). If you don't supply this, an anonymous bind will be established.

$conf['settings']['bindpw']Password for the binddn. If the credentials are wrong, the bind will fail server-side and an anonymous bind will be established instead. An empty bindpw string requests an unauthenticated bind.

$conf['settings']['basedn']LDAP base name. ex) dc=example,dc=com

$conf['settings']['filter']Default search filter to find users.

$conf['settings']['scope']User search scope. ex) uid.

$conf['settings']['required.group']A required group that the user must belong to. The user only needs to belong to at least one listed. Blank for no restriction. ex) Group1,Group2

$conf['settings']['database.auth.when.ldap.user.not.found']If Active Directory auth fails, authenticate against Booked Scheduler database

$conf['settings']['ldap.debug.enabled']If detailed LDAP logs should be enabled.

$conf['settings']['attribute.mapping']Mapping of required attributes to attribute names in your directory.

$conf['settings']['user.id.attribute']The attribute name for user identification. ex) uid

More info for LDAP configuration can be found at http://pear.php.net/manual/en/package.networking.net-ldap2.connecting.php

CAS Integration

Booked can authenticate your users against CAS. To enable this, first set $conf['settings']['plugins']['Authentication'] = 'CAS';

Next, open Application Management - Customization - Application Configuration and choose the Authentication-CAS file.

$conf['settings']['cas.version']1.0 = CAS_VERSION_1_0, 2.0 = CAS_VERSION_2_0, S1 = SAML_VERSION_1_1

$conf['settings']['cas.server.hostname']The hostname of the CAS server.

$conf['settings']['cas.port']The port the CAS server is running on.

$conf['settings']['cas.server.uri']The URI the CAS server is responding on.

$conf['settings']['cas.change.session.id']Whether or not to allow phpCAS to change the session_id.

$conf['settings']['email.suffix']Email suffix to use when storing CAS user account. ex) Email addresses will be saved to Booked Scheduler as username@yourdomain.com

$conf['settings']['cas_logout_servers']Comma separated list of servers to use for logout. Leave blank to not use cas logout servers.

$conf['settings']['cas.certificates']Full path to certificate to use for CAS. Leave blank if no certificate should be used.

$conf['settings']['cas.debug.enabled']If detailed CAS logs should be enabled.

$conf['settings']['cas.debug.file']Full path to debug file if cas.debug.enabled is true.

When using CAS you should also set $conf['settings']['logout.url'] to your CAS logout server

More info for CAS configuration can be found at https://wiki.jasig.org/display/casc/phpcas

WordPress Integration

Booked can authenticate your users against a WordPress site running on the same server as Booked. To enable this, first set $conf['settings']['plugins']['Authentication'] = 'WordPress';

Next, open Application Management - Customization - Application Configuration and choose the Authentication-WordPress file.

$conf['settings']['wp_includes.directory']The full path to your wp-includes directory or path relative to Booked Scheduler root.

$conf['settings']['database.auth.when.wp.user.not.found']If WordPress auth fails, authenticate against Booked Scheduler database.