Official Documentation Joomla® Vik Extensions by e4j


The Global section of VikRestaurants contains the Custom Fields, the Payment Gateways, the Media Manager and the Reservation Codes.

Custom Fields

From this page you can manage all the fields that the users will have to fill in before saving a reservation/order.

During the installation of VikRestaurants, some fields are created by the program but it is always possible to change or delete these fields.

  • Group - the group for which the custom field have to be displayed (Restaurant or Take-Away).
  • Field Name - the text to display in the label, near the input field (e.g. First Name).
    If you want to use multi language custom fields, you have to insert a code for this option (like MY_CUSTOMF_FIRST_NAME). Then you need to place the following code:
    ; this is equals to: LANG_KEY = "Translated value"
    into all your language files (admin & front):


    Since the 1.7 version of the program, the custom fields can be translated directly from the back-end of VikRestaurants.
  • Type - the type of input to use. The system supports all the following input types: Text, TextArea, Date, Select, Checkbox, Separator.
  • Required - enable this option if customers cannot skip this field. The order will be stored only when all the required custom fields will be filled-in. The label of the required options will contain the * symbol. If the custom field is used for the Take-Away group, you can decide to make the field required only if the Delivery Service is selected. For example, customers may skip the Address field in case they wanted to pickup the order at the restaurant.
  • Rule - the rule that the field must assume. The system supports all the following rules: None, Nominative, E-Mail, Phone Number, Address, Delivery.
  • Popup Link - the URL of the page you want to show as popup. By clicking on the label of the field, it will be displayed a popup containing the specified URL. It is suggested to use the &tmpl=component attribute to ignore the template and to show only the content. This option is useful for the Terms & Conditions checkboxes.


Below are listed all the supported types of input and how the system uses them.


Text Type

The Text type displays a custom HTML text input tag. It is used to receive short texts and numbers.

Field type text

Textarea Type

The TextArea type displays a custom HTML textarea tag. It is used to receive medium & long texts, thanks to the resizable right-bottom corner.

Field type textarea

Date Type

The Date type displays a custom calendar field. When the input grans the focus, it will be opened a datepicker, which it is used to pick formatted dates from the calendar.

Field type date

Select Type

The Select type displays a custom HTML select tag. The options of the dropdown can be created, sorted and translated from the management page of the custom field.

Field type select

Checkbox Type

The Checkbox type displays a custom HTML checkbox input tag. It is used to receive only true/false values (1/0 or yes/no).

Field type checkbox

Separator Type

The Separator type displays only the name of the custom field. This custom field cannot be used to receive information from the customers.
It is possible to change the style of the separator by editing the CSS rules of the class .vrseparatorcf.


Below are listed all the supported rules that the custom fields can own.


Nominative Rule

This rule is used to collect a nominative, such as First Name, Last Name or Full Name). All the Nominative custom fields will be merged together with a space in the middle. The resulting nominative will be assigned to the purchaser nominative field of the reservation.

E-Mail Rule

This rule is used to collect an e-mail address. Only one field should own this rule, otherwise only the last e-mail address specified will be considered. The resulting e-mail will be assigned to the purchaser mail field of the reservation.

Phone Number Rule

This rule is used to collect a phone number. When this rule is enabled, the system should display an additional field called Default Country Code. Inside this field, you should specify the 2 letters country code of the country in which your restaurant is located, so that the system is able to specify a default phone prefix (e.g. US for Unites States will use the +1 prefix).

Only one field should have this rule enabled, otherwise only the last phone number specified will be considered. The resulting phone number will be assigned to the purchaser phone field of the reservation.

Before to specify the phone number, customers should select the proper phone prefix by clicking the flag on the left side. If you don't want to allow your customers to select the phone prefix, you should disable the Phone Prefix Selection setting from the Global Configuration.

Address Rule

This rule is used to collect the full address for the delivery (available only for Take-Away custom fields). This field is required in order to validate the position of your customer against the delivery areas you have created from the back-end of VikRestaurants.

Only one field should have this rule enabled, otherwise only the last address specified will be considered.

In case you don't want to restrict the address of your customers, you MUST NOT use this rule.

When the customer is logged in and it owns more than one delivery address, the system will show a list of addresses that the customer can pick.


The Address custom field is meant to be filled-in with the following details: street name + street number + city name. If one (or more) of these information is not specified, the system may recognize a wrong address, probably not related to your country.

After filling the address, the system will validate it and it will return an appropriate message depending on the case.

  • In case the delivery address is valid, nothing will be reported.
  • In case the delivery address is valid, but it requires an additional charge, it will be displayed the example message below:
  • In case the delivery address is valid, but the total cost of the order is not enough high, it will be displayed the example error message below:
  • In case the delivery address is not valid (probably because it is missing the route or the street number), it will be displayed the error message below:
  • In case the delivery address is valid but it is not accepted for delivery, it will be displayed the error message below:
Delivery Rule

This rule is used to show/hide the custom fields depending on the type of service (delivery or pickup) that has been selected (available only for Take-Away custom fields).

For example, all the fields that should be compiled only on delivery (e.g. Address, Zip Code, Delivery Notes...) MUST own this rule.

The address rule inherits the same effect performed by the delivery rule.


The payment gateways are used to collect credit/debit cards payments from your website.

There are 2 different types of gateways: Seamless and Hosted.
With seamless payment gateways your customers won't leave your website because the credit card details will be filled through an apposite form. For this type of payment, the SSL certificate is required.
The hosted payment gateways will redirect the customers to a payment page hosted on your bank website. At the end of the transaction they will come back on your website and they will see the status of the order changed (only in case of success).

In the package you can find 3 pre-installed payment gatewaysPayPalOffline Credit CardBank Transfer.

The payment gateways will be used when the total cost of the order is higher than 0.00 and there will be at least a published gateway.

It is possible to make a payment only when the status of the order is PENDING.

  • Payment Name - the name of the payment to display in the front-end (translatable).
  • File Class - the corresponding .php file of the gateway. The file is mandatory, otherwise the system won't be able to show the payment form and to process the transaction. When you change the value from the dropdown, it will be loaded a form with the settings of the payment. All the loaded fields should be filled-in.
  • Published - disable this option if you don't want to allow customers to make payments through this gateway.
  • Cost - an additional charge/discount for this gateway. The selected amount will be displayed near the name of the payment (when it is different than 0.00). This value can be used to prevent fees or to make little discounts. When a gateway with additional cost is selected, the total cost of the order will be changed.
  • Auto-Set Order Confirmed - enable this value if you want to confirm the order by ignoring the payment transaction. This value should be enabled only for the pre-installed class bank_transfer.php.
  • Icon - an icon to show near the payment name, during the selection of the gateway. The icon can be a Font Icon to choose or an Image to upload.
  • Output Position - choosable in which position the payment form has to be displayed. This value is considering inside the Order Details page. The supported positions are Top and Bottom. Leave this field empty to ignore the Output Position and to display the form in the default position of the template.
  • Restrictions - a few restrictions to make a payment selectable only in certain cases. A payment can be always selectable or selectable only when the total cost is higher/lower than a certain amount.
  • Group - the group for which the payment has to be used (Restaurant or Take-Away). Leave this field empty to use the payment on both the sections of the program.
  • Notes Before Purchase - these notes are displayed during the selection of the payment and above the payment form in the order details page, only if the status of the order is still PENDING. This field is translatable.
  • Notes After Purchase - these notes are displayed only in the order details page, after a successful transaction (order status CONFIRMED). This field is translatable.

The PayPal payment gateway (hosted) prints the standard orange PayPal button to start the transaction. The payment will come on PayPal website and, only after the transaction, the customers will be redirected to the order page on your website.

The parameters of PayPal require only the e-mail address assigned to your PayPal account.

If you want to test the PayPal gateway without transfer real cash, you should enable the Sandbox parameter.

Offline Credit Card

The Offline Credit Card payment gateway (seamlessis not a real method of payment. This gateway collects the credit card details of your customers in order to make the transaction with an offline POS.

After the form submission the status of the order will be changed to CONFIRMED. If you want to leave the status as PENDING (and confirming it manually) you have to change the Default Status setting from the parameters of the gateway. From the settings of the gateway you can also choose all the accepted credit card brands.


For security reasons, you won't be able to see all the credit card details simultaneously.

In fact, after the form submission, the system will send a notification e-mail to the administrator containing a portion of the credit card number (e.g. 4242 4242 4242 ****) and a link to see the remaining details of the credit card.

The link points to the reservations/orders page in the administrator section, in which you have to click the See Credit Card button. This page contains all the following details:

  • Credit Card Brand (Visa, MasterCard, American Express, JCB, Discover, Diners Club)
  • Cardholder Name
  • Credit Card Number (stored partially, e.g. **** **** **** 4242)
  • Valid Through (month / year)
  • CVC (or CVV or CV2)

The details stored in the database are encrypted to be not visible in case of unauthorized accesses to the database.

Notice that the details of the credit card will be removed from the database automatically one day after the checkin of the reservation/order.

This gateway is PCI compliant.

Bank Transfer

The Bank Transfer (or Pay upon Arrival) payment gateway is used to skip the payment method process when you have other gateways published. This gateway usually means you will receive the payment by cash when the customer will come to your company.

If you want to automatically confirm the order with this payment gateway, you have to enable the Set-Auto Order Confirmed option from the parameters of the gateway (it should be already active by default).

Media Manager

The Media Manager page contains all the uploaded images, which are used from the whole program.

media is the representation of an image and its thumbnail. The original images are located in the folder:
while the thumbnails are located in the folder:

The media files can be filtered only by name.

It is not possible to use the images stored in the Joomla Media Manager, unless you re-upload them in the folders used by VikRestaurants.

Usually, you are not forced to upload a new image through the Media Manager page, because a smart dropdown (when an image can be used) will allow you to upload an image without leaving the page where you are.

New Media

To upload a new media you have to press the New button on the Joomla toolbar.

Before to upload a media, you should check the media properties to make sure it will be cropped in the right way.

  • Image - the image file to upload, located on your computer. Only images are allowed for the upload.
  • Resize Original - enable this option if you want to resize the original image.
  • Resize Width - crop the original image with the specified width (the height will be resized proportionally). The cropping is applied only if the Resize Original option is enabled.
  • Thumbnail Width - copy the image uploaded and crop it with the specified width (the height will be resized proportionally).

When you upload a new image with the same name of an existing image, it will be concatenated a random number to the name of the new one.

If you save a media without specifying a file, only the media properties will be changed.

Quick Upload

It is possible to upload multiple images in a quick way by using the Drag&Drop.

Vik Appointments - drag&drop

In the media creation page, you have to drag one or more files from your computer and drop them on the dashed gray box. All the images will be added in a queue and will be uploaded simultaneously. 

All the images will be uploaded following the specified media properties.

Vik Appointments - uploads

The images with 100% green status are successfully uploaded as media. The images with 100% blue status are completing the cropping of the thumbnail. The images with status lower than 100% are completing the upload of the original image. You can cancel the upload of an image by clicking on the Abort button. It is possible to abort an upload only when the original image hasn't been uploaded yet.

Manage Media

To manage a media you have to select the image you need to handle and to click the Edit button on the Joomla Toolbar.

From this page it is possible to rename the media and to replace the original and/or thumbnail images.

  • Name - the name of the media.
  • Action - the action to perform after saving the media. The possible actions are: do nothing, replace image, replace thumb, replace image & thumb.

The Do Nothing action won't affect the images and only the name will be updated.

The Replace Image action will replace the existing original image with the specified one.

The Replace Thumb action will replace the existing thumbnail image with the specified one.

The Replace Image & Thumb action will replace both the images related to this media. In this case, you will have to specify the media properties you need to use.

If an image doesn't own a thumbnail image, you should download the original image and use the Replace Image & Thumb action in order to re-create the thumbnail.

Reservation Codes

The reservation codes can be used to improve the reservation management. They will never affect the duration of a reservation/order.

For the Take-Away, the reservation codes can be used to create a status history of the orders, which the customers can check. For example, "the order is in preparation" or "the order has been delivered".

  • Code - the name of the code.
  • Icon - the icon of the code. If no icon will be specified, only the name will be displayed.
  • Group - the group of the code. A code can be used only for the restaurant reservations or for the take-away orders.
  • Notes - a short description of the reservation code. This text is seen from the customers to check the status of their orders. is not affiliated with or endorsed by the Joomla!® Project or Open Source Matters.
The Joomla!® name and logo is used under a limited license granted by Open Source Matters the trademark holder in the United States and other countries.
E4J s.r.l. - VAT N. 06794860483

This site uses cookies. By continuing to browse you accept their use. Further information