Documentation
The documentation site is your starting point for all things related to working with mySeat.
Updated on wed, 2011-12-11 13:45
Getting started with mySeat
Plugins
Manual
This manual is written for the sysadmin and webmaster in charge of installing and configuring a mySeat system.
The following is a simplified guide to create a mySeat system in a few easy steps. Under most circumstances installing mySeat is a very simple process and takes less than ten minutes to complete.
Installation & Update
Requirements
- Webserver Apache 2.2 recommended
- Database mySQL 5 recommended
- PHP PHP 5 recommended
Installation
Step 1: Download
- Download the latest version of mySeat at Sourceforge or GitHub.
- You will get a file called mySeatXT-x.x.zip.
- Extract the compressed files.
Step 2: Create a database
- Create a new database through your hosting provider's control panel OR through phpMyAdmin if local hosted.
- Make a note of the database name.
- Create a user, add that user to the database, and grant the user full rights on the database. Make a note of the username and password.
Step 3: Configure the database access
- Open config/config.general.php in a text editor like Notepad++ or TextMate.
- fill in your noted database details (database name, username and password for database).
- Here are some other general settings to do, the defaults should be finevv.
Step 4: Upload
- Log into your server using your FTP client and navigate to the web root directory OR put all files into /htdoc folder if local hosted.
- Upload all of the files inside your mySeat folder into the web root folder on your server.
- Be sure to set the right of the folder /uploads and all content in it to
777.
Step 4: Run the installer
- Browse to your new mySeat site to the directory
/install. This will take you to the mySeat installer, starting with a small explanation. - Press „Install“ to continue.
- The database tables will be created and the progress indicated.
- After creating the database tables, Press „Prodeed“ to continue creating your property.
- Enter the details of your property in the following form.
- Upload a picture of the property with a best size of 350x250px.
- Upload your logo with a best size of 250x80px and transparent background.
- Press „Save“ to continue.
- Now create your administrator user. This user has full access to your new mySeat system! Be careful with this user account and do not use it on a daily basis, but rather for administarative settings on the system.
- Press „Save“ to continue.
- You now see a success message and when pressing „Login“, you will be taken automatically to the login page of your new mySeat system.
- Login with the administrator account, and you can begin to configure your mySeat system.
- To configure your mySeat system, choose the menu item „System“ of the Main Menu.
- The first thing to do is to create an outlet (or modify the standard outlet).
Update mySeat
Step 1: Download
- Download the latest version of mySeat at Sourceforge or GitHub.
- You will get a file called mySeatXT-x.x.zip.
- Extract the compressed files.
Step 2: Update Webserver files
Upload the uncompressed files to your webserver and replace the existing ones.
Important Do not replace the /config folder!
Step 3: Update Database (if applicable)
To update the database open your webbrowser and navigate to the directory /install/update.php. The database will be automatically updated if necessary. You could not destroy your existing database or data by doing this step.
mySeat uses the PLC (PHP Login Class) library for the user administration and authentification, written by Bernd Orttenburger. Within PLC the Redux_auth method from Mathew Davis, written for CodeIgniter and Kohana, is used to encrypt the passwords. If you do a mistake on your administrator password, you‘ll have to clear the already installed system and re-start the installation from scratch!
Understanding mySeat
mySeat is an easy to use restaurant reservation system. Its archetype is the classic paper based restaurant diary. The ease of use makes mySeat since everyone knows how to use a classic diary. You and your employees must not invest much time to get used to it.
The Intelligence behind
mySeat is designed to be „Capacity Controlled“ not „Table Controlled“. An artifical algorithm called ©timecontrol calculates on a timely basis the availability of each outlet.
What does „Capacity Controlled“ mean?
You just have to define the number of tables and seats per outlet. mySeat calculates the rest.
There is no definition of each table, its seats, drawing a roomplan and having a complex process when putting two tables together.
Another advantage is that the table assignment will still sit at the restaurant manager, and employees can‘t book on a specific table.
Even a complicated process of setting reservations first „on hold“ and then assigning is not neccessary.
The structure of mySeat
mySeat is structured in properties and outlets.
- Property
A property is a building. For example, a property is your hotel or your restaurant. A property can hold an unlimited numbers of outlets. - Outlet
A outlet means a restaurant, a part of a restaurant, a special event, or even a bookable area within a property.
Main Features
- Validation
mySeat validates the reservation data to be shure doing reservations right. mySeat also corrects automatically the entered values or only lets you input data which makes sense. - Intelligence
mySeat remembers on old, critical and doublicate reservations. Reduce your risk of No-Shows! You will also get a hint while reserving large tables to choose a common menu. - Table Management
mySeat has an easy to use table management to assign table number, status and seating. The table assignment still sits at the restaurant manager. - Time Control
mySeat shows instanlty the occupany by time in a well-arranged bargraph. You see clearly the next timeslot to book, to prevent all guest coming at the same time. - Multilingual
mySeat is designed to be multilingual and is translated in many languages. - Statistic
The most significant key data is displayed as statistics to give you an overview over your outlets. - History
Every time you edit a reservation detail, mySeat remembers the authors name and the date. mySeat summarizes and show you a history about the guests preferences. - Information
Publish info messages and special events. Gain maximum flexibility with in- and decreasing the capacity for every single day.
Structure Guide
The mySeat Backoffice has got one main page from which you can access all functions.
Navigation Menus
The navigation menus are devided into 3 parts:
- Main Menu
- Outlets - choose a outlet with a dropdown menu
- Statistics - see statistics of selected outlet
- Export - select reservation data to export to an Excel file
- System - administration of your mySeat system
- Guest and Booking number search field - Search in all reservations and cancellations
- 1st level Menu holds the menu with the functions of the selected Main Menu item.
- 2nd level Menu holds the action buttons
Administration Guide
In order to administer mySeat, choose the menu item „System“. In most cases the items and fields are self explanatory so we will focus in this section on the more complex details.
Outlets
Here you add and edit your outlets. In the 2nd level menu you find the buttons:
- Outlets - overview list of all outlets, go to detail view, delete an outlet
- Create - Add a new outlet
- Back - go back to main page
Press 'Create', fill out the complete form and press 'Save' when finished.
You can see the newly created outlet in the overview list of the outlets.
The fields:
Seats: Just count your seats you have in the restaurant/special event/area and put it in here. If you have a varying table/seats layout, just choose a) the maximum number of seats or b) the mostly used layout.Tables: It‘s the same procedure as with seats. If you have large tables in your restaurant where more parties take place at one table (e.g. at special events), put the numbers of pariets in here. For example if you have a 12 person table, you where you place couples, the number of tables to fill in would be ,6‘.
Max. Passerby: Here you set up how many guests from outside you allow in general. This is useful for hotels, which wants to reserve capacities for their in house guests and limit the capacity for outside guests (Passer by). Leave blank or set to ,0‘ if you do not want to use it.
Important The number of tables/seats and max. Passerby can be increased individually for each separate day (main page > details)!
So you have the ability to react flexible on daily changing capacities.
General Open & Close time: This is the timespan within you can do a booking. This can differ from the open and close time for the guests. The close time is meant as the ,last order‘ or the ,taking the last reservation‘ time. This must be set!
Special Open & Close time: The general open/close time defines the timespan for the whole week. If you have special open/close times, you can define it by day. This daily open/close time will overwrite the general timespans .
Break: Define per day a Break time where the outlet is not bookable (e.g. in the afternoon).
Saison start and Saison end: This values defines the open and close dates for each year. If the outlet has open the whole year, just take 01/01 and 31/12.
Year: If the outlet has only opend for a special date and NOT repeating every year at the same date, set the year here. If the restaurant opens repeatly every year, leave blank here ‘--‘.
Day off: Set the weekly day off of the outlet. Webform: Set here if this outlet is bookable for your customers over the webform.
Residence time: Set the average duration time, a guest is sitting in your restaurant. This value is as important as 'seats' and 'tables'. If it is a too short time, you will easily overbook; if it is a too long time, you will not fill up your restaurant properly.
Password: Set a password to make reservations. This is to limit access to some specific outlets.
Webform: Set here, if this outlet is bookable for your customers over the omline webform.
Detail view and editing an outlet
By clicking on the outlet name in the overview list, you get the detail view of the outlet. Here you see all informations about the outlet.
In the 2nd level menu you find the button „Edit“.
After editing the outlets details press „Save“.
General
Here you set some general settings for your property and mySeat. Most things are self explanatory and sets up local date and time settings.
Manual lines: Number of lines for handwritten notes when you print out the reservation list.
Max Menu: Maximum number of persons of a party/reservation you can eat a la carte. More persons than this value requires a common menu and a popup message will appear. This value defines the maximum persons bookable via the online webform.
Old days: Number of days after which a reservation appears as beeing old. A small clock will indicate this in the reservation list view. Older reservations tend to be inoperative and it is good to have an eye on it.
Guest type text: Set your individual text for the 3 guest types. Leave blank for the standard text (House Guest, Passants, Walk in).
Users
The users section has got the same logical design as the outlet section. No magic here.
To choose the right user role in the users form, there is a role grid displayed, showing the roles and right for each user role.
The „Superadmin“ is not available/neccessary for the single property download version.
User roles
The user types are defined in an array in /config/config.general.php called ,$roles‘.
Here you are able to change the names of the roles, even if we do not advise this and you really know what you are doing.
The rights of each user type is stored in the database in the table ,capabilities‘.
As you like you can change here easily the right of each role by setting the values to ,1‘ for allowed or ,0‘ for not allowed.
Special Events
Here you define special events in the outlets. They will appear in all outlets as an advertise and it will also show up in the online contact form.
There should be no magic to have an overview, add, edit and delete the special events. The special events section has got the same logical design as the outlet section.
To point out is only the setting of start advertise:
Start advertise: Here you set how many days in advance the advertise of the special event should start.
Description: The description can be modified WYSIWYG with basic formatting options.
Property
Here you see and edit the property settings you have made during installation.
Of particular note is, to leave the field for the image empty if you do not want to change it.
The best resolution for the photo will be 350x250px, for the logo 250x1180px and the accepted types are .GIF, JPG and PNG.
Internationalization
mySeat comes with a simple system that allows you to show it in any language you want. This system uses single text files. They are located in /web/lang.
Create a new language file
To easily create a new language file, copy and paste the english one into the /web/lang/ folder.
Rename the file with the language shortname. E.g. if you want to create the French language file, the name will be fr.php.
You can find a complete list of all the abbreviations at
countries_acronyms_and_abbreviations.
Make sure you are using the ones listed in the coloumn with the name of TLD (Top Level Domain). Now you can start editing the content of each section of the page directly into the file.
Notice All the content is well explained by the comments we left in the language files.
Important notes
You do not need to excape apostrophes with a backslash " \' ". mySeat uses a UTF-8 charset to let you display any kind of character with no problem.
Contact form
General
The contactform under /api/reserve.php? is used to let customers do instant reservations. The customer sees availability, books and gets an confirmation email. The email provides the customer with a booking number, with wich one is able to cancel the reservation on the contact form.
You find the correct links to the outlet in the outlet detail view under 'Online Booking Links'.
Important
The settings of 'Max. Passerby' in system/outlets and main view/details take effect. With Max. Passerby you can limit the bookings via the homepage.
Embedding
It is possibe to embedd the online contact form into your website. This is done via HTML iframe. Please see the 'bookingsample.html' in the /api folder for sample code.
Sample code to embedd the form:
<iframe height="1300" width="560" src="reserve.php?propertyID=1" scrolling="no" class="frame">
<p>Your browser does not support iframes.</p>
</iframe>
Links parameter
- To book a single outlet:
outetID
Your link is providing the outlet‘s ID:/api/reserve.php?outletID= - To book a property. Users have the choice of outlets:
propertyID
Your link is providing the outlet‘s ID:/api/reserve.php?propertyID=
Individual Style
The booking form can be adapted to your websites layout and style. Please change the css style directly in the booking form reserve.php. Otherwise, the css file can be found in api/style/style.css.
Settings
In the file /api/reserve.php you find the settings. Please edit the file with the editor of your choice.
Time selection: There are the possibility to select from a drop down menu or radio buttons to select the reservation time: Radio Buttons and Drop Down Menu.
While the radio buttons are easier to access on computers and laptops, the select box is better accessible by touch devices like tablets.
Regarding to the open times of the outlets, keep in mind, that the height of the radio button section vary with each outlet.
Important
Please make sure that the iframe is high enough when radio buttons selected.
Link to Terms & Conditions:
Set the link to your terms and conditions page in the second parameter. If you do not want to use your own terms and condition, use the ones from mySeat.
mySeat is taking some settings from the ,General Settings‘ of mySeat‘s main application (System > General).
Language
The user of the online bookin form has the choice to choose between english language and the local language, set in the general settings. All translations are stored in the folder /web/lang.
See the readme or the general settings page, which language sets are actual available.
Maximum persons to book per reservation
In the online booking form the number of bookable guests per reservation/party is limited. The limit is generally set at the general settings page under „Max menu“.
Maximum reservation via online bookingform
In the outlet details settings, there can be defined „Max. Passerby“. Here you set per time slot how many online persons can be booked. Limit how many seats are bookable via web.
The „Max. Passerby“ can be adapted for each single day in the main reservations view under the „Detail“ button.
Email
The guest gets always a confirmation email and the restaurateur gets a copy of that email to the email adress set in the outlets details. Each reservation get an booking number.
Online cancellation form
The booking form provides a link to the cancelation page at the top of the booking page. Guest can cancel their reservations here by using the booking number and the email adress.
Mobile booking
Please point the browser from your website‘s booking page with a browser switch directly to
api/reserve.php?propertyID=1 without an iframe. mySeat will then send a mobile adapted version of the online booking form. Please see the bookingsample.html in the api folder for sample code. Here you find
also the sample code for a mobile browser switch.
The older ,contactform‘
Deprecated
mySeat is still maintaining the ,contactform‘ and ,mobile‘ online booking page, but not
developed any more. The ,Contactform‘ as well as ,Mobile‘ is set as deprecated.
License
Developers