DEPRECATION WARNING
This documentation is not using the current rendering mechanism and is probably outdated. The extension maintainer should switch to the new system. Details on how to use the rendering mechanism can be found here.
EXT: Booking Extension¶
Author: | Alexander Bigga |
---|---|
Created: | 2011-12-06T19:55:57 |
Changed by: | Alexander Bigga |
Changed: | 2011-12-06T21:51:01 |
Classification: | ab_booking |
Keywords: | booking, flat, room, hotel |
Author: | Alexander Bigga |
Email: | linux@bigga.de |
Language: | en |
EXT: Booking Extension¶
Extension Key: ab_booking
Language: en
Version: x.y.z
Keywords: booking, flat, room, hotel
Copyright 2008-2011, Alexander Bigga, <linux@bigga.de>, ab_booing .bigga.de
This document is published under the Open Content License
available from http://www.opencontent.org/opl.shtml
The content of this document is related to TYPO3
- a GNU/GPL CMS/Framework available from www.typo3.org
Table of Contents¶
`EXT: Booking Extension 1 <#__RefHeading__5708_1738894311>`_
`Introduction 3 <#__RefHeading__5710_1738894311>`_
`Users manual 7 <#__RefHeading__467_413120346>`_
`Administration 9 <#__RefHeading__31511_818911409>`_
`Configuration 10 <#__RefHeading__31515_818911409>`_
`Tutorial 12 <#__RefHeading__31523_818911409>`_
`Known problems 13 <#__RefHeading__31525_818911409>`_
`To-Do list 14 <#__RefHeading__477_413120346>`_
`ChangeLog 15 <#__RefHeading__31623_818911409>`_
Introduction¶
What does it do?¶
- This extension provides a very basic booking tool and may be used e.g. as flat booking system for a small set of rooms. It should be easily adapted to rent other things on a per day basis.
- A calendar view shows vacant and booked dates. Vacant days may be selected and a booking form is shown. After sending the booking form, the client and you will receive a confirmation. The booking will be entered automaticallly in the calendar.
- Multiple seasons are possible.
Screenshots¶
- All details of the products and prices are kept in a sysfolder (e.g. “ab_booking” in the example). This is also the place where the bookings are stored.
- The example shown in the following screenshots is a demo system at http://ab_booking.bigga.de . This small demo guesthouse offers five different rooms (“Zimmer 1” to “Zimmer 5”).
figure 1: Backend Example Structure
For every room exists a long description page (e.g. “Zimmer 1”) and a short description page (e.g. “Zimmer 1 kurz”). The last one is used in the availability list view.
figure 2: Calendar View
In the Calendar view you configure a view of the following months in rows and or columns. In the screen-shot you see two months in two rows and one column.
It is possible to assign multiple “prices” to every product. Seasons may be defined and assigned to every price. You have to create at least one season (“standard rate”) and assign it to every price.
The Availability Check checks all given products for availability.
figure 3: Availability Check Form
If rooms are available, the result is shown with the content of the short description page. The short description is only shown if you selected in the product properties settings a page for “UID details”.
figure 4: List of Available Rooms with Description
figure 5: Booking Form with Hints in an Additional Column
If you select a vacant date on the calendar view or an item in the availability view, you reach the booking form.
Users manual¶
Just install ab_booking and the optional ab_swiftmailer and date2cal extensions.
Create a Sysfolder (“ab_booking) and add new records to it. Start with a “ Product Prices ” and then a “ Product Properties ”. Each product requires at least one associated price.
Create at least one “ Season” (see figure Fehler: Referenz nicht gefunden) and assign it to the prices. You may created seasons with start and stopdates.
If multiple prices are valid for a day, the price on top will be choosen.
You may add a special product (“closing times”) with all details set to zero. The price don't care. You can use this “product” to lock the whole booking system for certain dates.
Create for each product a page in your tree. Add another page, which may be used as short description. Insert the Booking Calendar plugin and select a view (e.g. Calendar) for one or more Product Ids (e.g. “Zimmer 1” and “Schliesszeiten”).
Important : Select the PID of the Sysfolder (“ab_booking”) as StoragePID in each plugin! Note : You may set the StoragePID by adding it to the General Record Storage Page in your page settings (see “Configuration” below).
Create an “Booking Page” where people enter their personal data and submit the booking form. On this page you add again the Booking Calendar plugin but with the “BOOKING” view. Go to the Booking-tab and enter your message you will send as email-confirmation to your clients.
figure 6: Plugin Settings in Flexform
Up to TYPO3 4.4.x it is possible to use ab_swiftmailer to send theconfirmation mail via the global settings of it. If you don't use it, you have to enter your name and email-address in the Booking- tab.As of TYPO3 4.5.x the swiftmailer is included into TYPO3. I'm using the following settings in my localconf.php:
$TYPO3_CONF_VARS['MAIL']['transport'] = 'smtp'; $TYPO3_CONF_VARS['MAIL']['transport_smtp_server'] = 'mail.bytecamp.net:25'; $TYPO3_CONF_VARS['MAIL']['transport_smtp_encrypt'] = '0'; $TYPO3_CONF_VARS['MAIL']['transport_smtp_username'] = 'EMAIL_USERNAME'; $TYPO3_CONF_VARS['MAIL']['transport_smtp_password'] = 'EMAIL_PASSWORD'; $TYPO3_CONF_VARS['MAIL']['defaultMailFromAddress'] = 'linux@bigga.de'; $TYPO3_CONF_VARS['MAIL']['defaultMailFromName'] = 'Alexander Bigga';
If you want to use the language overlay feature , don't forget to add the config.sys_lanugage_mode and config_sys_language_overlay settings to your template (see Configuration)
More details and a HowTo will follow. In the meantime have a look at http://ab_booking.bigga.de where ab_booking is in action. This is a demo site . Feel free to play with the extension!
If you like the small calendar next to the date field, install date2cal extension. I tested it with current version 7.3.1.
I hope, you aren't confused totally now.Please mail your question, feature and bug-reports to linux@bigga.de
ab_booking is on forge now. You may use the bugtracker to report your bugs and feature requests too: http://forge.typo3.org/projects /extension-ab_booking/issues
Have a look at the backend login at http://ab_booking.bigga.de/login . Username is “abbooking”, password is “demo”. You can't change anything but you can follow the setup easily.
((generated))¶
New Features in 0.5.0¶
With version 0.5.0 the rate settings get a little more flexible. For example you may now enter rates for a double as follows:
- 1 night: 90 € + 10 € for room cleaning
- 2 nights: 2x90€ but no extra charge room cleaning
- 3 nights: 3x80€
- 7 nights: 7x(90€-20%)
You can achieve this by entering the following code into the price database field:
90,D:3:80,D:7:20%
Read (comma separated): It costs 90 per night. A discount ("D") is offered after 3 nights and the new price is 80. Another discount ("D") is vallid after 7 days and you pay 90 minus 20%. And so on...
The same with the room cleaning. If you want only an extra charge for people comming one night, you enter in single component:
10,D:2:-1
Read: It costs 10 per stay. A discount ("D") is valid after 2 days and the price is removed (-1). You could of course write as well:
10,D:2:5,D:7:-1
In this case the customers pay 10 for one night, 5 for 2-6 nights and no extra charge for more than 7 nights.
Or you can offer optionally breakfast and the customer may deselect it or not.
7,D:3:10%,O
Read: It costs 7 per person. A discount of 10% is applied after 3 nights. The customer may deselect this option ("O").
With 0.5.0 you may also influence the minimum stay for the customer. E.g. if you like to set a minimum stay of 3 nights for bookings more than 8 weeks in the future you can set:
3,W:8:2,W:1:1
Read: The minium stay is three nights. 8 weeks before booking start it is reduced to 2 nights. And in the last week before arrival it is set to 1 night.
There is an other view which is quite useful in my case: a check-in overview. Now you can put on an internal page a view with the coming arrivals and depatures for the next 4 days (sorry, not configurable at the moment). And you have a simple calendar field to jump to any date in the past and future!
Administration¶
Configuration¶
- To add a CSS style to the extension you may select “Default CSS ab_booking” as static template file in your template. This default CSS may be overwritten using TypoScript.
- You may enable logging of availability requests after installation of ab_booking in the Extension-Manger -> ab_booking -> Enable features -> enableDebug and DebugLogFile. Please check if the directory of the given path already exists.
Reference¶
PIDstorage¶
Property
PIDstorage
Data type
Int
Description
Set storage PID of ab_booking sysfolder. This may also be set in the plugin-configuration or in the site-settings (Options->General Record Storage page).
Example:
plugin.tx_abbooking_pi1.PIDstorage = 15
Default
showPriceDetails¶
Property
showPriceDetails
Data type
boolean
Description
Show detailed description of seasons and prices
Default
1
dateFormat¶
Property
dateFormat
Data type
string
Description
Overwrite the default dateFormat settings in the small calendar.
If you use date2cal: please note that the “%x” format doesn't work unfortunately.
Example:
config.language = de
plugin.tx_abbooking_pi1.dateFormat = %d.%m.%y
[globalVar = GP:L = 1]
config.language = en
plugin.tx_abbooking_pi1.dateFormat = %d/%m/%y
[global]
Default
%d.%m.%Y for config.language = de
%d/%m/%Y for
config.language = en
%Y-%m-%d for all other settings
[tsref:plugin.tx_abbooking_pi1]
cssBooking¶
Property
cssBooking
Data type
string
Description
Set custom CSS file.
Example:
plugin.tx_abbooking_pi1.file.cssBooking = fileadmin/templates/cssBookingExample.css
Default
EXT:res/cssBooking.css
[tsref:plugin.tx_abbooking_pi1.file]
Examples¶
If you want to change the default text used in the formulars or in the availability list, add the following TypoScript to your template:
plugin.tx_abbooking_pi1 {
_LOCAL_LANG {
de {
we_may_offer = was für eine blöde Überschrift:
discount = Rabatt
specialComponent1 = Endreinigungspauschale
}
en {
we_may_offer = what a stupid headline:
discount = Discount
specialComponent1 = Room Cleaning
}
}
}
This overwrites the label “we_may_offer” which is used in the availability list. All other labels are in the language file EXT:ab_booking/pi1/locallang.xml.
If you want to use multiple languages you have to enable the language overlay mode and you have to add translations for products and prices.
config {
sys_language_mode = content_fallback
sys_language_overlay = 1
}
Tutorial¶
TBD
Known problems¶
To-Do list¶
- Add support for more “business models” (e.g. weekend prices, )
- Add categories
- Add support for multiple items of the same category
- Evaluate the web accessibility
ChangeLog¶
0.5.1¶
Version
0.5.1
Changes
- calendar is now created with div-tags. Please check your CSS- settings!
- Updated the manual with recent doc_template
0.5.0¶
Version
0.5.0
Changes
-new features: make price depend on the duration of booking-new feature: minimum stay now possible to configure depending on time before booking start-new feature: make single component depending on the duration of booking- fix problem with empty title field-new feature: checkin overview with simple select date for the next 4 days- new feature: show breakfast as extra component per person-new feature: allow more than 4 adults if every additional adult pays the same extra charge
0.4.5¶
Version
0.4.5
Changes
- new feature: setting the dateFormat via TypoScript- new feature: setting minimum stay period and “Block Days after Booking” to prices properties (feature #26976)
0.4.4¶
Version
0.4.4
Changes
- bugfix: #27093, #13892- multilanguage support for prices and products titles- limited support to TYPO3 4.5.x and 4.4.x
0.4.3¶
Version
0.4.3
Changes
- bugfix: no bookings are possible now, if no rate is present for a given period- changes of the css style (especially request form)
0.4.2¶
Version
0.4.2
Changes
- bugfix: check availability again in step 2 to avoid bookings of unavailable periods- setup new demo site http://ab_booking.bigga.de
0.4.0¶
Version
0.4.0
Changes
- new feature: seasonal prices possible
0.3.7¶
Version
0.3.7
Changes
- bugfix of serveral PHP warnings (Thanks to Stefan Lembke for pointing this out!)- bugfix in email sending (Thanks to Ecsedi Adrienn for pointing this out!)
0.3.6¶
Version
0.3.6
Changes
- bugfix usage of setting the StoragePID (no number of persons was shown)- added currency field in product_prices table- added “progress bar” for the three booking steps (enter – check - finished)
0.3.4¶
Version
0.3.4
Changes
- Flexform reworked, StoragePID added- preview release before 0.4.0; some features don't work yet
0.3.3¶
Version
0.3.3
Changes
- minor bugfixes
0.3.2¶
Version
0.3.2
Changes
- Replace a backend-function call with an own one to fix a problem with Typo3 4.1.x
0.3.1¶
Version
0.3.1
Changes
- Fix some PHP warnings- make ab_swiftmailer optional but recommended
0.3.0¶
Version
0.3.0
Changes
- Add single line list mode as calendar view- replace support for rlmp_dateselect with date2cal- make date2cal optional
0.2.3¶
Version
0.2.3
Changes
- Add support for custom CSS file- Add debug flag and make logging depending on this flag
0.2.2¶
Version
0.2.2
Changes
- Fix some PHP warnings
0.2.1¶
Version
0.2.1
Changes
- Multilanguage support for detailed description in availability list mode
0.2.0¶
Version
0.2.0
Changes
- Now availability check is possible over multiple rooms- First documentation added
((Unknown Property))¶
Version
Changes
((Unknown Property))¶
Version
Changes
((Unknown Property))¶
Version
Changes
((Unknown Property))¶
Version
Changes