Menu

#5546 Booking configuration

Parent Category:
DPCalendar
Category:
Booking system
Last Updated:
Allon Moritz, Tuesday, 22 October 2024 12:44
Created:
Tuesday, 19 December 2017 09:41
Hits:
7041

This feature is part of the DPCalendar Standard subscription.
SubscribePHP 7.4PHP 8Joomla 3.10Joomla 4.4Joomla 5

Introduction

The booking system of DPCalendar is highly adaptable to work perfectly for your specific use case. In the global DPCalendar options, the site admin can adjust the settings explained below.

Series bookings

If an event is a series then there are three different modes for the booking form available which is controlled by the "Book Series" option in the Event booking configuration:

  1. Only single event No If only the single instance of the event can be booked.
  2. Individual events Option Attendee can select from the different instances.
  3. While series Yes The whole series will be booked. In this case only one ticket is created for the original event.

Waiting list

If an event has enabled the waiting list flag, then bookings can still be made, but are added to the waiting list when the capacity is full. The admin has to put the booking from the waiting state into either reviewed (paid bookings) or invited/activated (free bookings) once there is some free space available.

Booking waiting list

User registration

With DPCalendar it is possible to have some user actions after a booking is done. If the booking is done as none logged in user, then the site admin has the possibility to automatically create a user or to display the user registration form. The later is called gradual engagement to smoothly bring the user to the point to create an account on your site. The former one creates a user with the E-Mail address of the booking. On the first log in the user needs to set a new password because of security reasons.

Skip steps in the wizard

DPCalendar has very clear steps to book events. These are:

  • The ticket selection step
  • The ticket edit step
  • The confirmation step
  • When a booking with a price, then the payment step Some admins have different requirements and want to skip the edit or confirmation step. You can do it in the global DPCalendar options.

Mails

There are various settings, in the booking system tab of the global DPCalendar options, to define who gets a mail:

  • Author: When a booking is created
  • Send new booking mail: Should the confirmation mail to the attendee be sent when a new booking was created?
  • Send paid booking mail: Should the confirmation mail to the attendee be sent when a booking got paid?
  • Author as mailer: Should the author be set as mailer for the attendee booking mails?
  • Attendee as mailer: Should the attendee be set as mailer for the notification booking mails?
  • ICS attachment: Should the ICS file be sent together with the confirmation mail?
  • Tickets attachments: Should the ticket files be sent together with the confirmation mail?
  • Invoice attachment: Should the invoice file be sent together with the confirmation mail?

Multiple currencies

The DPCalendar booking system supports multiple currencies. This means that prices and booking options can be configured per currency. In the global DPCalendar options it is possible to define unlimited currencies, each one with the identifier, symbol, decimal separator and thousand separator.

The "Exchangeratesapi API Key" and "Exchange Fee" are described below and are there for automatic currency conversion.

Booking currencies configuration

Automatic currency conversion

If the event has a price for the selected currency of the user then the system assumes that the currency is set up properly and does no automatic conversion. Is this not the case and the visitor changes to a currency where the event has no configured price for then an automatic conversion is done. As default the conversion is used from the folder from /administrator/components/com_dpcalendar/config/default-exchange-rates.json. If an API key is set for exchangeratesapi.io, then is the exchange rate of the current day used. The rates for each day are stored in the folder /administrator/cache/com_dpcalendar-exchange-rates and can at any time be deleted through eh cache manager interface. Keep in mind that the exchangeratesapi.io has a free tier limit of 250 requests per month, so the cache should not be deleted too often or only the past days if space is limited.

It can be adjusted with an additional fee. Often it is the case when your payment service account receives payments in another currency, they convert the price into your currency with a lower exchange rate. This option forwards it to the client.

Booking multiple currencies

Booking ID configuration

The booking ID is a random generated string which contains of numbers, letters and dashes. Different companies have different needs for the UID, some want a date, others the plain ID or a timestamp. That's why it is possible to define one of the following uid formats as invoice number for a booking.

Custom

This is the most flexible options, but needs some PHP skills as it is a layout override. To do so, copy the file /components/com_dpcalendar/layouts/booking/uid.php to /templates/{{your template}}/html/layouts/com_dpcalendar/booking/uid.php and /administrator/template/isis/html/layouts/com_dpcalendar/booking/uid.php (when you edit it in the back end). Now you can adapt it to your needs, both overrides do need the same code. The booking is accessible through the variable $displayData['booking'].

For example if you want to make it with the date and the id of the booking, you can use the following code:

echo \DigitalPeak\Component\DPCalendar\Administrator\Helper\DPCalendarHelper::getDate($displayData['booking']->book_date)->format('Ymd-H:m:s', true) . '-' . $displayData['booking']->id;

It generates as invoice ID then 20200305-14:03:53-12 for a booking which is created on the 5.th of march with the id 12.

The same can be applied for tickets, just use ticket in the path for the files and $displayData['ticket'] to get access to the ticket.

Date

The data format uses the booking date and the id with the pattern "Ymd-H:m:s-id". This will generate an invoice id like "202406141345-15" where 15 is the id attribute of the booking. The id part is the booking id to have an increment unique number in the invoice number.

Timestamp

The timestamp uses the booking date as seconds since 1970 and the id. This will generate an invoice id like "1726554066-15" where 15 is the id attribute of the booking. The id part is the booking id to have an increment unique number in the invoice number.

Random unique string

The random unique string format is a hex-encoded random "Universally Unique Identifier", similar to what can be found in ical uid strings. Absolute uniquenes is not guaranteed but it is ok for most booking systems. It generates an invoice id like "C3F726CD-A857-413A-BA21-5FE43367F7E7" which is unique on the system.

Administration

In the DPCalendar permissions, it is possible to give certain user groups admin rights to manage the bookings or tickets. Use the permission with the label "Admin Booking/Tickets". Like that you can separate DPCalendar admins from the booking admins. More information can be found in the ACL chapter.

Options

The settings can be configured globally in the DPCalendar options or per menu item. If the value is empty in the menu item, then it will be inherited from the global options.

Invoice Number Format [Type: List] [Default: Custom from uid.php layout]
The invoice number format of the booking.
The following options are available:
  1. Custom from uid.php layout
  2. Date [202406141345-id]
  3. Timestamp [1726554066-id]
  4. Random unique string [C3F726CD-A857-413A-BA21-5FE43367F7E7]
Send Author Mail [Type: Radio] [Default: Yes]
Should the author of the event get a mail when a new booking is created?
The following options are available:
  1. No
  2. Yes
Send New Booking Mail [Type: List] [Default: Only free bookings]
Should the confirmation mail to the attendee be sent when a new booking was created?
The following options are available:
  1. No
  2. Yes
  3. Only free bookings
Send Paid Booking Mail [Type: Radio] [Default: Yes]
Should the confirmation mail to the attendee be sent when a booking got paid?
The following options are available:
  1. No
  2. Yes
Author As Mailer [Type: Radio] [Default: No]
Should the author be set as mailer for the attendee booking mails?
The following options are available:
  1. No
  2. Yes
Attendee As Mailer [Type: Radio] [Default: No]
Should the attendee be set as mailer for the notification booking mails?
The following options are available:
  1. No
  2. Yes
Send ICS Attachment [Type: Radio] [Default: Yes]
Should the ICS file be sent together with the confirmation mail?
The following options are available:
  1. No
  2. Yes
Send Tickets Attachment [Type: Radio] [Default: Yes]
Should the ticket files be sent together with the confirmation mail?
The following options are available:
  1. No
  2. Yes
Send Receipt Attachment [Type: Radio] [Default: Yes]
Should the receipt file be sent together with the confirmation mail?
The following options are available:
  1. No
  2. Yes
Review Ticket Step [Type: List] [Default: Only on multiple tickets]
The behavior of the review ticket step.
The following options are available:
  1. Hide
  2. Show
  3. Only on multiple tickets
Confirm Ticket Step [Type: Radio] [Default: Show]
Should the confirm ticket step be shown? This affects only free events, paid events need always the confirm step because of the payment provider selection.
The following options are available:
  1. Hide
  2. Show
Enable Token [Type: Radio] [Default: No]
When enabled, bookings can be accessed by a token attribute in the url. DPCalendar is not doing any permission checks then.
The following options are available:
  1. No
  2. Yes
Booking Registration [Type: List] [Default: Show Form]
The registration action after the booking is done for not logged in users.
The following options are available:
  1. No
  2. Show Form
  3. Create User
Currencies [Type: Subform] [Default:
  1. currency=EUR
    symbol=€
    separator=.
    thousands_separator='
]
The list of currencies.
Exchangeratesapi API Key [Type: Text]
The exchangeratesapi.io API key for automatic currency conversion.
Exchange Fee [Type: Text]
A percentage value which is added to the exchanged price.
PDF Address [Type: Textarea] [Default: Your company address]
The address on the PDF files.
PDF Logo [Type: Media]
The logo on the PDF files.
PDF Header [Type: Textarea]
The header of the PDF files.
PDF Top Text [Type: Textarea]
The text on top of the PDF files content.
PDF Bottom Text [Type: Textarea]
The text on bottom of the PDF files content.
Receipt Include Tickets [Type: Radio] [Default: Yes]
Should the tickets be included in the receipt.
The following options are available:
  1. No
  2. Yes
New Booking Mail [Type: Editor] [Default: COM_DPCALENDAR_NOTIFICATION_EVENT_BOOK_USER_BODY]
The text of the confirmation mail when a new booking is created. The default value is a language string from the language manager.
Paid Booking Mail [Type: Editor] [Default: COM_DPCALENDAR_NOTIFICATION_EVENT_BOOK_USER_PAYED_BODY]
The text of the confirmation mail when the booking payment is done. The default value is a language string from the language manager.
Order Text [Type: Editor] [Default: COM_DPCALENDAR_FIELD_CONFIG_BOOKINGSYS_ORDER_TEXT]
Used to show after completion of a payment for a event.
Cancel Text [Type: Editor] [Default: COM_DPCALENDAR_FIELD_CONFIG_BOOKINGSYS_CANCEL_TEXT]
Text which is shown after cancelling a booking.
Cancel Paid Text [Type: Editor] [Default: COM_DPCALENDAR_FIELD_CONFIG_BOOKINGSYS_CANCEL_PAID_TEXT]
Text which is shown after the payment process got cancelled.

Comments (0)

We use cookies on our website. Some of them are essential for the operation of the site, while others help us to improve this site and the user experience (tracking cookies). You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.