Please select your page

General Support

Booked has an active community of users like you. The community support forums are a terrific resource for asking questions and finding answers. You can also find Booked articles and tutorials on our blog

Enterprise Support

We offer multiple enterprise support options to fit your organization's needs.

Bugs

Found a bug? Let us know!

Feature Requests

Have an idea for a new feature? We'd love to hear more about it!
Visit our YouTube Channel to view all of our tutorial videos×

Prerequisites

  • PHP 5.2 or greater.
  • MySQL 5.0 or greater.
  • Web server (Apache2, IIS).
  • OS - Windows, Mac, *nix
Note: for users without web hosting service or existing environment, packages like XAMMP or WampServer can help you get set up quickly.

Fresh Installation

Application Deployment to Server

  • Unzip the archived distribution to your webserver's document root. Or
  • If you don't have direct access to your document root or use hosting service, then transfer the extracted directory to your web server's document root using FTP or WinSCP.
  • Copy /config/config.dist.php to /config/config.php and adjust the settings for your environment.
  • Important! The web server must have write access (0755) to /your-booked/tpl_c and /your-booked/tpl (want to know why?)
    • If using an FTP client, check read/write/execute for Owner and Group on /tpl, /tpl_c, and /uploads
  • Important! Booked will not work if PHP session.autostart is enabled. Ensure this setting is disabled.

Application Configuration

You can configure Booked to fit your environments and needs, or use the minimal default settings which should be enough for the application to work. We recommend you to change according to your specifics. Additional information on all configuration settings can be found in the application help page.
  • To configure the application, you can open /config/config.php and alter any settings accordingly. The admin email address can be set in the booked/config/config.php file of setting $conf['settings']['admin.email'].
    When later register an account with admin email address the user will be given admin privilege.
  • In addition, to allow resource image uploads, the web-server must also have read/write access to your configurable uploads directory of $conf['settings']['image.upload.directory'] in the config.php.
  • By default, Booked uses standard username/password for user authentication. Alternatively, you can use LDAP authentication.
    See the plugins section of the application help page for more details.
Note: If you try to load the application at this time (eg. http://yourhostname/booked/Web/), you will probably get a white page. This is because there is no backend database configured yet. So continue on ...

Database Setup

You have 2 ways to set up your database for the application to work.

Automatically

You must have the application configured correctly before running the automated install.
  • The automated database setup only supports MySQL at this time. To run the automated database setup, navigate to the /Web/install directory in a web browser and follow the on-screen instructions.
  • Note: Some may see directory permission issues displayed on the page. The web server must have write access to /your-booked/tpl_c and /your-booked/tpl. If you cannot provide the required permission. Contact your web server administrator or hosting service to resolve or run the manual install.
OR

Manually

The packaged database scripts make assumptions about your desired database configuration and set default values. Please edit them to suit your environment before running. The files are located in booked/database_schema/.

Import the following sql files in the listed order (we recommend phpMyAdmin for this):

On a remote host with no database creation privileges

If you are installing Booked on a remote host, please follow these steps. These steps assume you are using cPanel and have the ability to create databases via the cPanel tool and phpMyAdmin.

Adding the database and user

  • Select the MySQL Databases tool
  • Add a new user with username and password of your choice. This will be the database user and database password set in your Booked config file. Please be aware that some hosts will prefix your database user name.
  • Create a new database with whatever name you choose. This will be the name of the database in your Booked config file. 'bookedscheduler' is the recommended database name. Please be aware that some hosts will prefix your database name.
  • Associate the new user with the new database, giving the user permission to SELECT, CREATE, UPDATE, INSERT and DELETE. Click the 'Add User to Db' button.

Creating tables

  • Open phpMyAdmin.
  • Click on the database name that you just created in the left panel.
  • Click the SQL tab at the top of the page.
  • Import "/database_schema/create-schema.sql" to bookedscheduler (or whatever database name was used in the creation process)
  • Import "/database_schema/create-data.sql" to bookedscheduler (or whatever database name was used in the creation process)

If you have database creation privileges in MySQL

  • Open "/database_schema/full-install.sql" and edit the database name and username/password to match your config.php database values
  • Run or import "/database_schema/full-install.sql"
  • Optionally - run/import "/database_schema/testdata-utf8.sql" to bookedscheduler (sample application data will be created with 2 users: admin/password and user/password). These users are available for testing your installation.
You are done. Try to load the application at (eg. http://yourhostname/booked/Web/).

Registering the Administrator Account

After the database has been set up you will need to register the account for your application administrator. Navigate to register.php register an account with email address set in $conf['settings']['admin.email'].

Upgrading

Upgrading from a previous version of Booked 2.x (or phpScheduleIt 2.x)

The steps for upgrading from a previous version of Booked are very similar to the steps described above in Application Deployment to Server.

Recommended

The recommended approach is to backup your current Booked files, then upload the new files to the that same location. This prevents any old files from interfering with new ones.

After the new files are uploaded, copy your old config/config.php file to the config directory in the new version. Then run /Web/install/configure.php to bring your config file up to date.

If you have any uploaded resource images you will need to copy them from their old location to the new one.

Alternative

An alternative upgrade approach is to overwrite the current Booked files with the new ones. If doing this, you must delete the contents of /tpl_c. This approach will not allow you to roll back and will not clear out any obsolete files.

Database

After the application files have been upgraded you will need to upgrade the database.

Automatically

The automatic database upgrade is exactly the same as the automatic database install. Please follow the instructions in the Automatic Database Setup section above.

Manually

The packaged database scripts make assumptions about your desired database configuration and set default values. Please edit them to suit your environment before running. The files are located in booked/database_schema/upgrades.

Depending on your current version, import the upgrade.sql file within each subdirectory to get to the current version (we recommend phpMyAdmin for this).

For example, if you are running version 2.0 and the current version is 2.2 then you should run booked/database_schema/upgrade/2.1/upgrade.sql then booked/database_schema/upgrade/2.2/upgrade.sql

Migrating from version 1.2

A migration from 1.2 to 2.0 is supported for MySQL only. This can be run after the 2.0 installation. To run the migration open /Web/install/migrate.php directory in a web browser and follow the on-screen instructions.

Getting Started

The First Login

There are 2 main types of accounts, they are admin and user account.
  • If you imported a sample application data, you now can use admin/password and user/password to login and make changes or addition via the application.
  • If not, you will need to register an account with your configured admin email address. The admin email address can be set in the booked/config/config.php file of setting $conf['settings']['admin.email']. Other self registration accounts are defaulted to normal users.
    After registration you will be logged in automatically. Important! At this time, it is recommended to change your password.
  • For LDAP authentication please login with your LDAP username/password.

Log Files

Booked logs multiple levels of information categorized into either application or database logs. To do this, the log4php library is used. By default, logging is turned OFF.
  • First, rename /config/log4php.config.dist.xml to /config/log4php.config.xml
  • To allow application logging, the PHP account requires write access (0755) to your configured log directory.
  • Logging is configured in /config/log4php.config.xml
    • For Windows, set the path to something similar to <param name="file" value="c:/temp/log_%s.log" />
    • For Unix, set the path to something similar to <param name="file" value="/tmp/bookedscheduler/log_%s.log" />
  • Logging is controlled by changing the <level> of each <logger>
  • Levels used by Booked are OFF, DEBUG, ERROR. For normal operation, ERROR is appropriate. If trace logs are needed, DEBUG is appropriate.
  • To turn on application logging, change the <level value="OFF" /> to an appropriate level for either the default or sql loggers. For example, <level value="ERROR" />
  • For more information on logging configuration, visit log4php

Enabling Booked API

Booked has the option to expose a RESTful JSON API. This API can be leveraged for third party integration, automation or to develop client applications.

Prerequisites

  • PHP 5.3 or greater
  • To use 'friendly' URLs, mod_rewrite or URL rewriting must be enabled
  • Your web server must accept all verbs: GET, POST, PUT, DELETE

Configuration

  • Set $conf['settings']['api']['enabled'] = 'true'; in your config file.
  • If you want friendly URL paths, mod_rewrite or URL rewriting must be enabled. Note, this is not required in order to use the API.
  • If using mod_rewrite and an Apache alias, ensure RewriteBase in /Web/Services/.htaccess is set to that alias root.

API Documentation

Auto-generated documentation for API usage can be found by browsing http://your_booked_url/Web/Services. This documentation describes each available service, indicates whether or not the service is available to unauthenticated users/administrators, and provides example requests/responses.

Consuming the API

If URL rewriting is being used, all services will be available from http://your_booked_url/Web/Services
If not using URL rewriting, all services will be available from http://your_booked_url/Web/Services/index.php

Certain services are only available to authenticated users or administrators. Secure services will require a session token and userid, which can be obtained from the Authentication service.

Support

Please post any questions or issues under the Booked 2 section of the forums on http://php.brickhost.com/forums. Here you may also find some answers to your questions previously asked by other people.

Registration

Registration is required in order to use Booked Scheduler if you administrator has enabled it. After your account has been registered you will be able to log in and access any resources that you have permission to.

Booking

Under the Schedule menu item you will find the Booking item. This will show you the available, reserved and blocked slots on the schedule and allow you to book resources that you have permission to.

Express

On the Bookings page, find the resource, date and time you'd like to book. Clicking on the time slot will allow you change the details of the reservation. Clicking the Create button will check availability, book the reservation and send out any emails. You will be given a reference number to use for reservation follow-up.

Any changes made to a reservation will not take effect until you save the reservation.

Only Application Administrators can create reservations in the past.

Multiple Resources

You can book all resources that you have permission as part of a single reservation. To add more resources to your reservation, click the More Resources link, displayed next to the name of the primary resource you are reserving. You will then able to add more resources by selecting them and clicking the Done button.

To remove additional resources from your reservation, click the More Resources link, deselect the resources you want to remove, and click the Done button.

Additional resources will be subject to the same rules as primary resources. For example, this means that if you attempt to create a 2 hour reservation with Resource 1, which has a maximum length of 3 hours and with Resource 2, which has a maximum length of 1 hour, your reservation will be denied.

You can view the configuration details of a resource by hovering over the resource name.

Recurring Dates

A reservation can be configured to recur a number of different ways. For all repeat options the Until date is inclusive.

The repeat options allow for flexible recurrence possibilities. For example: Repeat Daily every 2 days will create a reservation every other day for your specified time. Repeat Weekly, every 1 week on Monday, Wednesday, Friday will create a reservation on each of those days every week at your specified time. If you were creating a reservation on 2011-01-15, repeating Monthly, every 3 months on the day of month would create a reservation every third month on the 15th. Since 2011-01-15 is the third Saturday of January, the same example with the day of week selected would repeat every third month on the third Saturday of that month.

Additional Participants

You can either Add Participants or Invite Others when booking a reservation. Adding someone will include them on the reservation and will not send an invitation. The added user will receive an email. Inviting a user will send an invitation email and give the user an option to Accept or Decline the invitation. Accepting an invitation adds the user to the participants list. Declining an invitation removes the user from the invitees list.

The total number of participants is limited by the resource's participant capacity.

Accessories

Accessories can be thought of as objects used during a reservation. Examples may be projectors or chairs. To add accessories to your reservation, click the Add link to the right of the Accessories title. From there you will be able to select a quantity for each of the available accessories. The quantity available during your reservation time will depend on how many accessories are already reserved.

Booking on behalf of others

Application Administrators and Group Administrators can book reservations on behalf of other users by clicking the Change link to the right of the user's name.

Application Administrators and Group Administrators can also modify and delete reservations owned by other users.

Updating a Reservation

You can update any reservation that you have created or that was created on your behalf.

Updating Specific Instances From a Series

If a reservation is set up to repeat, then a series is created. After you make changes and Update the reservation, you will be asked which instances of the series you want to apply the changes to. You can apply your changes to the instance that you are viewing (Only This Instance) and no other instances will be changed. You can update All Instances to apply the change to every reservation instance that has not yet occurred. You can also apply the change only to Future Instances, which will update all reservation instances including and after the instance you are currently viewing.

Only Application Administrators can update reservations in the past.

Deleting a Reservation

Deleting a reservation completely removes it from the schedule. It will no longer be visible anywhere in Booked Scheduler

Deleting Specific Instances From a Series

Similar to updating a reservation, when deleting you can select which instances you want to delete.

Only Application Administrators can delete reservations in the past.

Adding a Reservation to Calendar (Outlook®, iCal, Mozilla Lightning, Evolution)

When viewing or updating a reservation you will see a button to Add to Outlook. If Outlook is installed on your computer then you should be asked to add the meeting. If it is not installed you will be prompted to download an .ics file. This is a standard calendar format. You can use this file to add the reservation to any application that supports the iCalendar file format.

Subscribing to Calendars

Calendars can be published for Schedules, Resources and Users. For this feature to work, the administrator must have configured a subscription key in the config file. To enable Scheudle and Resource level calendar subscriptions, simply turn subscriptions on when managing the Schedule or Resource. To turn on personal calendar subcriptions, open Schedule -> My Calendar. On the right side of the page you will find a link to Allow or Turn Off calendar subscriptions.

To subscribe to a Schedule calendar, open Schedule -> Resource Calendar and select the schedule you want. On the right side of the page, you will find a link to subscribe to the current calendar. Subscribing the a Resource calendar follows the same steps. To subscribe to your personal calendar, open Scheudle -> My Calendar. On the right side of the page, you will find a link to subscribe to the current calendar.

Calendar client (Outlook®, iCal, Mozilla Lightning, Evolution)

In most cases, simply clicking the Subscribe to this Calendar link will automatically set up the subscription in your calendar Client. For Outlook, if it does not automatically add, open the Calendar view, then right click My Calendars and choose Add Calendar -> From Internet. Paste in the URL printed under the Subscribe to this Calendar link in Booked Scheduler.

Google® Calendar

Open Google Calendar settings. Click the Calendars tab. Click Browse interesting calendars. Click add by URL. Paste in the URL printed under the Subscribe to this Calendar link in Booked Scheduler.

Quotas

Administrators have the ability to configure quota rules based on a variety of criteria. If your reservation would violate any quota, you will be notified and the reservation will be denied.

If you are in an Application Administrator role 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.

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.

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 longer than the set amount. The default is no minimum.

Setting a maximum reservation duration will prevent booking from lasting shorter 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 bot be able to be booked past 10:30 AM on Tuesday. The default is no maximum.

Certain resources cannot 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.

Application Administrators are exempt from usage constraints.

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

Setting up Accessories

Accessories can be thought of as objects 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 prevent 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. Also, 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 hour-long reservations but would be restricting from making 3 two-hour-long reservations. This allows powerful quota combinations to be built.

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 allows 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.

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.

Resource Administrator: Users that belong to a group that is given the Resource Administrator role are able to manage their resources and approve reservations for their resources.

Schedule Administrator: Users that belong to a group that is given the Schedule Administrator role are able to manage their schedules and resources belonging to their schedules and approve reservations on their schedules.

Viewing and Managing Reservations

You can view and manage reservations from the Reservations menu item. By default you will see the last 7 days and the next 7 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, deactivate or delete accounts, reset user passwords, and edit user details. You can also add new users to Booked Scheduler. This is especially useful if self-registration is turned off.

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.

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 F:\Sites\phpScheduleIt\development\Jobs\sendreminders.php

An example cron configuration might look like: * * * * * php F:\Sites\phpScheduleIt\development\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 every minute. The task to execute is php followed by the full path to Booked Scheduler/Jobs/sendreminders.php

Configuration

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

$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 bookings.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']['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']['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 {name}, {title}, {description}, {email}, {phone} , {organization}, {position}. Leave it blank for no label. Any combination of tokens can be used.

$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-adminstrators can view personal information about other users. 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.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, This email address is being protected from spambots. You need JavaScript enabled to view it. . This will not change the 'from' name or the reply-to address.

$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.

Plugins

The following components are currently pluggable:

  • Authentication - Who is allowed to log in
  • Authorization - What a user can do when you are logged in
  • Permission - What resources a user has access to
  • Pre Reservation - What happens before a reservation is booked
  • Post Reservation - What happens after a reservation is booked

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 either the Authentication, Authorization and Permission 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.

Booked uses the log4php library to log multiple levels of information categorized into either application or database logs. By default, logging is turned OFF.
  1. First, rename /config/log4php.config.dist.xml to /config/log4php.config.xml
  2. To allow application logging, the PHP account requires write access (0755) to your configured log directory.
  3. Logging is configured in /config/log4php.config.xml
    • For Windows, set the path to something similar to <param name="file" value="c:/temp/log_%s.log" />
    • For Unix, set the path to something similar to <param name="file" value="/home/your_user/tmp/bookedscheduler/log_%s.log" />
  4. Logging is controlled by changing the <level> of each <logger>
  5. Levels used by Booked are OFF, DEBUG, ERROR. For normal operation, ERROR is appropriate. If trace logs are needed, DEBUG is appropriate.
  6. To turn on application logging, change the <level value="OFF" /> to an appropriate level for either the default or sql loggers. For example, <level value="ERROR" />
  7. For more information on logging configuration, visit log4php