Merge branch 'develop' into gli-2964
This commit is contained in:
@@ -107,6 +107,47 @@
|
||||
}
|
||||
perfect_access_js_gestion(this, perm, id_tab, tabsize, tabnumber, table);
|
||||
|
||||
if (perm == 'kpi') {
|
||||
$(table + ' .kpi.' + id_tab).prop('checked', !!enabled);
|
||||
}
|
||||
|
||||
$(table + ' tr.kpi-row').each(function() {
|
||||
var kpiTabId = $(this).data('kpi-parent');
|
||||
var kpiProfile = $(this).data('kpi-profile');
|
||||
var $kpiInputs = $(this).find('input.ajaxPower.kpi');
|
||||
if (!$kpiInputs.length || $kpiInputs.first().data('kpi-editable') != 1) { return; }
|
||||
// For perm=view, read state directly from action — jQuery 1.11 .attr() doesn't update .prop()
|
||||
var parentEnabled = (perm == 'view' && (id_tab == kpiTabId || id_tab == -1))
|
||||
? !!enabled
|
||||
: $(table + ' input.view.' + kpiTabId).first().is(':checked');
|
||||
if (!parentEnabled) {
|
||||
$kpiInputs.prop('checked', false).prop('disabled', true);
|
||||
} else {
|
||||
$kpiInputs.prop('disabled', false);
|
||||
if (perm == 'all' && (id_tab == -1 || id_tab == kpiTabId)) {
|
||||
$kpiInputs.prop('checked', !!enabled).first().trigger('change');
|
||||
}
|
||||
if (perm == 'view' && (id_tab == kpiTabId || id_tab == -1) && !!enabled) {
|
||||
$kpiInputs.prop('checked', true);
|
||||
$.ajax({
|
||||
url: "{$link->getAdminLink('AdminAccess')|addslashes}",
|
||||
cache: false,
|
||||
data: {
|
||||
ajaxMode: '1',
|
||||
id_tab: kpiTabId,
|
||||
id_profile: kpiProfile,
|
||||
perm: 'kpi',
|
||||
enabled: 1,
|
||||
submitAddAccess: '1',
|
||||
action: 'updateAccess',
|
||||
ajax: '1',
|
||||
token: '{getAdminToken tab='AdminAccess'}'
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
$.ajax({
|
||||
url: "{$link->getAdminLink('AdminAccess')|addslashes}",
|
||||
cache: false,
|
||||
@@ -349,6 +390,32 @@
|
||||
<input type="checkbox"{if $access_edit == 1} data-rel="{$access[$tab.id_tab]['id_tab']}||{$profile.id_profile}||all||{$tabsize}||{count($tabs)}" class="ajaxPower all {$access[$tab.id_tab]['id_tab']}"{else} class="all {$access[$tab.id_tab]['id_tab']}" disabled="disabled"{/if}{if $result_accesses == 4} checked="checked"{/if}/>
|
||||
</td>
|
||||
</tr>
|
||||
{if !empty($tab.has_kpi)}
|
||||
<tr class="kpi-row kpi-level-1 child-kpi-{$tab.id_tab}" data-kpi-parent="{$tab.id_tab}" data-kpi-profile="{$profile.id_profile}">
|
||||
<td> » {l s='KPI'}</td>
|
||||
<td>
|
||||
<input type="checkbox"
|
||||
class="ajaxPower kpi {$tab.id_tab}"
|
||||
data-rel="{$tab.id_tab}||{$profile.id_profile}||kpi||{$tabsize}||{count($tabs)}"
|
||||
data-kpi-editable="{if $access_edit == 1}1{else}0{/if}"
|
||||
{if $access_edit != 1 || $access[$tab.id_tab].view != 1}disabled="disabled"{/if}
|
||||
{if isset($access[$tab.id_tab].kpi) && $access[$tab.id_tab].kpi == 1 && $access[$tab.id_tab].view == 1}checked="checked"{/if}
|
||||
/>
|
||||
</td>
|
||||
<td><input type="checkbox" disabled="disabled"/></td>
|
||||
<td><input type="checkbox" disabled="disabled"/></td>
|
||||
<td><input type="checkbox" disabled="disabled"/></td>
|
||||
<td>
|
||||
<input type="checkbox"
|
||||
class="ajaxPower kpi {$tab.id_tab}"
|
||||
data-rel="{$tab.id_tab}||{$profile.id_profile}||kpi||{$tabsize}||{count($tabs)}"
|
||||
data-kpi-editable="{if $access_edit == 1}1{else}0{/if}"
|
||||
{if $access_edit != 1 || $access[$tab.id_tab].view != 1}disabled="disabled"{/if}
|
||||
{if isset($access[$tab.id_tab].kpi) && $access[$tab.id_tab].kpi == 1 && $access[$tab.id_tab].view == 1}checked="checked"{/if}
|
||||
/>
|
||||
</td>
|
||||
</tr>
|
||||
{/if}
|
||||
{foreach $tabs AS $child}
|
||||
{if $child.id_parent === $tab.id_tab}
|
||||
{if isset($access[$child.id_tab])}
|
||||
@@ -372,6 +439,32 @@
|
||||
<input type="checkbox"{if $access_edit == 1} data-rel="{$access[$child.id_tab]['id_tab']}||{$profile.id_profile}||all||{$tabsize}||{count($tabs)}" class="ajaxPower all {$access[$child.id_tab]['id_tab']}"{else} class="all {$access[$child.id_tab]['id_tab']}" disabled="disabled"{/if}{if $result_accesses == 4} checked="checked"{/if}/>
|
||||
</td>
|
||||
</tr>
|
||||
{if !empty($child.has_kpi)}
|
||||
<tr class="kpi-row kpi-level-2 child-kpi-{$child.id_tab}" data-kpi-parent="{$child.id_tab}" data-kpi-profile="{$profile.id_profile}">
|
||||
<td> » {l s='KPI'}</td>
|
||||
<td>
|
||||
<input type="checkbox"
|
||||
class="ajaxPower kpi {$child.id_tab}"
|
||||
data-rel="{$child.id_tab}||{$profile.id_profile}||kpi||{$tabsize}||{count($tabs)}"
|
||||
data-kpi-editable="{if $access_edit == 1}1{else}0{/if}"
|
||||
{if $access_edit != 1 || $access[$child.id_tab].view != 1}disabled="disabled"{/if}
|
||||
{if isset($access[$child.id_tab].kpi) && $access[$child.id_tab].kpi == 1 && $access[$child.id_tab].view == 1}checked="checked"{/if}
|
||||
/>
|
||||
</td>
|
||||
<td><input type="checkbox" disabled="disabled"/></td>
|
||||
<td><input type="checkbox" disabled="disabled"/></td>
|
||||
<td><input type="checkbox" disabled="disabled"/></td>
|
||||
<td>
|
||||
<input type="checkbox"
|
||||
class="ajaxPower kpi {$child.id_tab}"
|
||||
data-rel="{$child.id_tab}||{$profile.id_profile}||kpi||{$tabsize}||{count($tabs)}"
|
||||
data-kpi-editable="{if $access_edit == 1}1{else}0{/if}"
|
||||
{if $access_edit != 1 || $access[$child.id_tab].view != 1}disabled="disabled"{/if}
|
||||
{if isset($access[$child.id_tab].kpi) && $access[$child.id_tab].kpi == 1 && $access[$child.id_tab].view == 1}checked="checked"{/if}
|
||||
/>
|
||||
</td>
|
||||
</tr>
|
||||
{/if}
|
||||
{/if}
|
||||
{/if}
|
||||
{/foreach}
|
||||
@@ -438,4 +531,4 @@
|
||||
</div>
|
||||
{/foreach}
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
@@ -26,9 +26,7 @@
|
||||
{extends file="helpers/view/view.tpl"}
|
||||
|
||||
{block name="override_tpl"}
|
||||
<div class="panel">
|
||||
{$kpi}
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-6">
|
||||
<div class="panel">
|
||||
|
||||
@@ -69,11 +69,11 @@
|
||||
<div class="margin-form" style="margin-top:4px;">
|
||||
{foreach $list.files as $key => $file}
|
||||
{if !file_exists($key)}
|
||||
<font color="red">
|
||||
<span style="color:red;">
|
||||
{/if}
|
||||
{$key}
|
||||
{if !file_exists($key)}
|
||||
</font>
|
||||
</span>
|
||||
{/if}
|
||||
<br />
|
||||
{/foreach}
|
||||
|
||||
@@ -130,7 +130,7 @@
|
||||
{* <td class="cart_line_total_rooms_price" id="cart_detail_data_price_{$data.id|escape:'html':'UTF-8'}">
|
||||
{displayPrice price=$data.amt_with_qty}</td> *}
|
||||
<td class="cart_line_total_price">
|
||||
{if (isset($data.extra_demands) && $data.extra_demands) || (isset($data.additional_service) && $data.additional_service)}
|
||||
{if (isset($data.extra_demands) && $data.extra_demands) || (isset($data.additional_service) && $data.additional_service) || (isset($data.selected_services) && $data.selected_services)}
|
||||
{displayPrice price=($data.amt_with_qty + $data.additional_services_auto_add_price + $data.demand_price + $data.additional_service_price)|escape:'html':'UTF-8'}
|
||||
{else}
|
||||
{displayPrice price=$data.amt_with_qty|escape:'html':'UTF-8'}
|
||||
|
||||
@@ -1833,7 +1833,7 @@ class CartCore extends ObjectModel
|
||||
$this->id,
|
||||
[],
|
||||
0,
|
||||
isset($product['id_hotel_cart_booking']) ? $product['id_hotel_cart_booking'] : null,
|
||||
null,
|
||||
null,
|
||||
(int)$product['id_product'],
|
||||
null,
|
||||
@@ -1862,53 +1862,55 @@ class CartCore extends ObjectModel
|
||||
// by webkul to calculate rates of the product from hotelreservation syatem tables with feature prices....
|
||||
$totalPriceByProduct = 0;
|
||||
$priceDisplay = Group::getPriceDisplayMethod(Group::getCurrent()->id);
|
||||
foreach ($roomTypesByIdProduct as $key => $cartRoomInfo) {
|
||||
$occupancy = array(
|
||||
array(
|
||||
'adults' => $cartRoomInfo['adults'],
|
||||
'children' => $cartRoomInfo['children'],
|
||||
'child_ages' => json_decode($cartRoomInfo['child_ages'])
|
||||
)
|
||||
|
||||
if ($type == Cart::ADVANCE_PAYMENT || $type == Cart::ADVANCE_PAYMENT_ONLY_PRODUCTS) {
|
||||
// getProductMinAdvPaymentAmountByIdCart already aggregates all rooms for this product internally,
|
||||
// so call it once and add once — not inside the per-room loop.
|
||||
$advProductPrice = $objAdvPayment->getProductMinAdvPaymentAmountByIdCart(
|
||||
$this->id,
|
||||
$product['id_product'],
|
||||
0,
|
||||
0,
|
||||
$with_taxes
|
||||
);
|
||||
// get the real price of the room type
|
||||
$roomTotalPrice = HotelRoomTypeFeaturePricing::getRoomTypeTotalPrice(
|
||||
$cartRoomInfo['id_product'],
|
||||
$cartRoomInfo['date_from'],
|
||||
$cartRoomInfo['date_to'],
|
||||
$occupancy,
|
||||
Group::getCurrent()->id,
|
||||
$cartRoomInfo['id_cart'],
|
||||
$cartRoomInfo['id_guest'],
|
||||
$cartRoomInfo['id_room'],
|
||||
0
|
||||
);
|
||||
if ($with_taxes) {
|
||||
$totalPriceByProduct = $roomTotalPrice['total_price_tax_incl'];
|
||||
} else {
|
||||
$totalPriceByProduct = $roomTotalPrice['total_price_tax_excl'];
|
||||
}
|
||||
|
||||
// If customer has selected advance payment of the cart
|
||||
if ($type == Cart::ADVANCE_PAYMENT || $type == Cart::ADVANCE_PAYMENT_ONLY_PRODUCTS) {
|
||||
$advProductPrice = $objAdvPayment->getProductMinAdvPaymentAmountByIdCart(
|
||||
$this->id,
|
||||
$cartRoomInfo['id_product'],
|
||||
0,
|
||||
0,
|
||||
$with_taxes
|
||||
);
|
||||
|
||||
// set advance payment price only if it is greater than real price
|
||||
if ($advProductPrice < $totalPriceByProduct) {
|
||||
$totalPriceByProduct = $advProductPrice;
|
||||
}
|
||||
}
|
||||
|
||||
// Rounding as per configurations
|
||||
if ($ps_round_type == Order::ROUND_TOTAL) {
|
||||
$products_total[$id_tax_rules_group.'_'.$id_address] += Tools::processPriceRounding($totalPriceByProduct);
|
||||
$products_total[$id_tax_rules_group.'_'.$id_address] += Tools::processPriceRounding($advProductPrice);
|
||||
} else {
|
||||
$products_total[$id_tax_rules_group] += Tools::processPriceRounding($totalPriceByProduct);
|
||||
$products_total[$id_tax_rules_group] += Tools::processPriceRounding($advProductPrice);
|
||||
}
|
||||
} else {
|
||||
foreach ($roomTypesByIdProduct as $key => $cartRoomInfo) {
|
||||
$occupancy = array(
|
||||
array(
|
||||
'adults' => $cartRoomInfo['adults'],
|
||||
'children' => $cartRoomInfo['children'],
|
||||
'child_ages' => json_decode($cartRoomInfo['child_ages'])
|
||||
)
|
||||
);
|
||||
// get the real price of the room type
|
||||
$roomTotalPrice = HotelRoomTypeFeaturePricing::getRoomTypeTotalPrice(
|
||||
$cartRoomInfo['id_product'],
|
||||
$cartRoomInfo['date_from'],
|
||||
$cartRoomInfo['date_to'],
|
||||
$occupancy,
|
||||
Group::getCurrent()->id,
|
||||
$cartRoomInfo['id_cart'],
|
||||
$cartRoomInfo['id_guest'],
|
||||
$cartRoomInfo['id_room'],
|
||||
0
|
||||
);
|
||||
if ($with_taxes) {
|
||||
$totalPriceByProduct = $roomTotalPrice['total_price_tax_incl'];
|
||||
} else {
|
||||
$totalPriceByProduct = $roomTotalPrice['total_price_tax_excl'];
|
||||
}
|
||||
|
||||
// Rounding as per configurations
|
||||
if ($ps_round_type == Order::ROUND_TOTAL) {
|
||||
$products_total[$id_tax_rules_group.'_'.$id_address] += Tools::processPriceRounding($totalPriceByProduct);
|
||||
} else {
|
||||
$products_total[$id_tax_rules_group] += Tools::processPriceRounding($totalPriceByProduct);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -81,7 +81,7 @@ class ProfileCore extends ObjectModel
|
||||
public function add($autodate = true, $null_values = false)
|
||||
{
|
||||
if (parent::add($autodate, true)) {
|
||||
$result = Db::getInstance()->execute('INSERT INTO '._DB_PREFIX_.'access (SELECT '.(int)$this->id.', id_tab, 0, 0, 0, 0 FROM '._DB_PREFIX_.'tab)');
|
||||
$result = Db::getInstance()->execute('INSERT INTO '._DB_PREFIX_.'access (SELECT '.(int)$this->id.', id_tab, 0, 0, 0, 0, 0 FROM '._DB_PREFIX_.'tab)');
|
||||
$result &= Db::getInstance()->execute('
|
||||
INSERT INTO '._DB_PREFIX_.'module_access
|
||||
(`id_profile`, `id_module`, `configure`, `view`, `uninstall`)
|
||||
@@ -138,6 +138,7 @@ class ProfileCore extends ObjectModel
|
||||
'add' => 1,
|
||||
'edit' => 1,
|
||||
'delete' => 1,
|
||||
'kpi' => 1,
|
||||
);
|
||||
}
|
||||
} else {
|
||||
@@ -151,6 +152,7 @@ class ProfileCore extends ObjectModel
|
||||
$result[$key]['delete'] = (int) $profileAccess['delete'];
|
||||
$result[$key]['add'] = (int) $profileAccess['add'];
|
||||
$result[$key]['edit'] = (int) $profileAccess['edit'];
|
||||
$result[$key]['kpi'] = (int) $profileAccess['kpi'];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -367,12 +367,12 @@ class SpecificPriceCore extends ObjectModel
|
||||
`id_shop` '.self::formatIntInQuery(0, $id_shop).' AND
|
||||
`id_currency` '.self::formatIntInQuery(0, $id_currency).' AND
|
||||
`id_country` '.self::formatIntInQuery(0, $id_country).
|
||||
' AND `id_htl_cart_booking`='.(int)$id_htl_cart_booking.' '.
|
||||
' AND `id_htl_cart_booking` '.self::formatIntInQuery(0, $id_htl_cart_booking).' '.
|
||||
(Group::isFeatureActive() ? ' AND `id_group` '.self::formatIntInQuery(0, $id_group) : '').' '.$query_extra.'
|
||||
AND IF(`from_quantity` > 1, `from_quantity`, 0) <= ';
|
||||
|
||||
$query .= (Configuration::get('PS_QTY_DISCOUNT_ON_COMBINATION') || !$id_cart || !$real_quantity) ? (int)$quantity : max(1, (int)$real_quantity);
|
||||
$query .= ' ORDER BY `id_product_attribute` DESC, `from_quantity` DESC, `score` DESC, `to` DESC, `from` DESC';
|
||||
$query .= ' ORDER BY `id_htl_cart_booking` DESC, `id_product_attribute` DESC, `from_quantity` DESC, `score` DESC, `to` DESC, `from` DESC';
|
||||
|
||||
SpecificPrice::$_specificPriceCache[$key] = Db::getInstance(_PS_USE_SQL_SLAVE_)->getRow($query);
|
||||
}
|
||||
|
||||
@@ -137,12 +137,12 @@ class TabCore extends ObjectModel
|
||||
}
|
||||
|
||||
/* Query definition */
|
||||
$query = 'REPLACE INTO `'._DB_PREFIX_.'access` (`id_profile`, `id_tab`, `view`, `add`, `edit`, `delete`) VALUES ';
|
||||
$query .= '(1, '.(int)$id_tab.', 1, 1, 1, 1),';
|
||||
$query = 'REPLACE INTO `'._DB_PREFIX_.'access` (`id_profile`, `id_tab`, `view`, `add`, `edit`, `delete`, `kpi`) VALUES ';
|
||||
$query .= '(1, '.(int)$id_tab.', 1, 1, 1, 1, 1),';
|
||||
|
||||
foreach ($profiles as $profile) {
|
||||
$rights = $profile['id_profile'] == $context->employee->id_profile ? 1 : 0;
|
||||
$query .= '('.(int)$profile['id_profile'].', '.(int)$id_tab.', '.(int)$rights.', '.(int)$rights.', '.(int)$rights.', '.(int)$rights.'),';
|
||||
$query .= '('.(int)$profile['id_profile'].', '.(int)$id_tab.', '.(int)$rights.', '.(int)$rights.', '.(int)$rights.', '.(int)$rights.', '.(int)$rights.'),';
|
||||
}
|
||||
$query = trim($query, ', ');
|
||||
return Db::getInstance()->execute($query);
|
||||
@@ -247,7 +247,7 @@ class TabCore extends ObjectModel
|
||||
* @return array tabs
|
||||
*/
|
||||
protected static $_cache_tabs = array();
|
||||
public static function getTabs($id_lang, $id_parent = null)
|
||||
public static function getTabs($id_lang, $id_parent = null, $include_kpi = false)
|
||||
{
|
||||
if (!isset(self::$_cache_tabs[$id_lang])) {
|
||||
self::$_cache_tabs[$id_lang] = array();
|
||||
@@ -274,10 +274,52 @@ class TabCore extends ObjectModel
|
||||
foreach (self::$_cache_tabs[$id_lang] as $array_parent) {
|
||||
$array_all = array_merge($array_all, $array_parent);
|
||||
}
|
||||
return $array_all;
|
||||
$tabs = $array_all;
|
||||
} else {
|
||||
$tabs = isset(self::$_cache_tabs[$id_lang][$id_parent]) ? self::$_cache_tabs[$id_lang][$id_parent] : array();
|
||||
}
|
||||
|
||||
return (isset(self::$_cache_tabs[$id_lang][$id_parent]) ? self::$_cache_tabs[$id_lang][$id_parent] : array());
|
||||
if ($include_kpi) {
|
||||
$hookKpiClasses = array();
|
||||
$hookRows = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS('
|
||||
SELECT DISTINCT SUBSTRING(h.`name`, 7, LENGTH(h.`name`) - 24) AS `class_name`
|
||||
FROM `'._DB_PREFIX_.'hook` h
|
||||
INNER JOIN `'._DB_PREFIX_.'hook_module` hm
|
||||
ON hm.`id_hook` = h.`id_hook`
|
||||
AND hm.`id_shop` = '.(int)Context::getContext()->shop->id.'
|
||||
INNER JOIN `'._DB_PREFIX_.'module` m
|
||||
ON m.`id_module` = hm.`id_module` AND m.`active` = 1
|
||||
WHERE h.`name` LIKE \'action%KPIListingModifier\''
|
||||
);
|
||||
if (is_array($hookRows)) {
|
||||
foreach ($hookRows as $row) {
|
||||
$hookKpiClasses[$row['class_name']] = true;
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($tabs as &$tab) {
|
||||
if (!empty($tab['module'])) {
|
||||
$file = _PS_MODULE_DIR_.$tab['module'].'/controllers/admin/'.$tab['class_name'].'Controller.php';
|
||||
$class_name = $tab['class_name'].'Controller';
|
||||
} else {
|
||||
$file = _PS_CONTROLLER_DIR_.'admin/'.$tab['class_name'].'Controller.php';
|
||||
$class_name = $tab['class_name'].'ControllerCore';
|
||||
}
|
||||
if (file_exists($file) && !class_exists($class_name)) {
|
||||
require_once $file;
|
||||
}
|
||||
try {
|
||||
$objreflect = new ReflectionMethod($class_name, 'renderKpis');
|
||||
$tab['has_kpi'] = ($objreflect->getDeclaringClass()->getName() === $class_name)
|
||||
|| isset($hookKpiClasses[$tab['class_name']]);
|
||||
} catch (ReflectionException $e) {
|
||||
$tab['has_kpi'] = isset($hookKpiClasses[$tab['class_name']]);
|
||||
}
|
||||
}
|
||||
unset($tab);
|
||||
}
|
||||
|
||||
return $tabs;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -2307,7 +2307,9 @@ class AdminControllerCore extends Controller
|
||||
$this->content .= $this->renderDetails();
|
||||
} elseif (!$this->ajax) {
|
||||
$this->content .= $this->renderModulesList();
|
||||
$this->content .= $this->renderKpis();
|
||||
if ($this->tabAccess['kpi'] === 1) {
|
||||
$this->content .= $this->renderKpis();
|
||||
}
|
||||
$this->content .= $this->renderList();
|
||||
$this->content .= $this->renderOptions();
|
||||
|
||||
|
||||
396
classes/pdf/HTMLTemplateBookingVoucher.php
Normal file
396
classes/pdf/HTMLTemplateBookingVoucher.php
Normal file
@@ -0,0 +1,396 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Open Software License version 3.0
|
||||
* that is bundled with this package in the file LICENSE.md
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* https://opensource.org/license/osl-3.0-php
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to support@qloapps.com so we can send you a copy immediately.
|
||||
*
|
||||
* DISCLAIMER
|
||||
*
|
||||
* Do not edit or add to this file if you wish to upgrade this module to a newer
|
||||
* versions in the future. If you wish to customize this module for your needs
|
||||
* please refer to https://store.webkul.com/customisation-guidelines for more information.
|
||||
*
|
||||
* @author Webkul IN
|
||||
* @copyright Since 2010 Webkul
|
||||
* @license https://opensource.org/license/osl-3.0-php Open Software License version 3.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Builds and renders the Booking Voucher PDF for a given Order.
|
||||
* Data assembly follows the same inline pattern as HTMLTemplateInvoice::getContent().
|
||||
*/
|
||||
class HTMLTemplateBookingVoucherCore extends HTMLTemplate
|
||||
{
|
||||
/** @var Order */
|
||||
public $order;
|
||||
public $available_in_your_account = false;
|
||||
|
||||
/**
|
||||
* @param Order $order
|
||||
* @param Smarty $smarty
|
||||
*/
|
||||
public function __construct(Order $order, $smarty)
|
||||
{
|
||||
$this->order = $order;
|
||||
$this->smarty = $smarty;
|
||||
$this->date = Tools::displayDate(date('Y-m-d'));
|
||||
$this->title = sprintf(self::l('Booking Voucher - %s'), $this->order->reference);
|
||||
$this->shop = new Shop((int)$this->order->id_shop);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string HTML header
|
||||
*/
|
||||
public function getHeader()
|
||||
{
|
||||
$this->assignCommonHeaderData();
|
||||
$this->smarty->assign(array('header' => self::l('Booking Voucher')));
|
||||
|
||||
return $this->smarty->fetch($this->getTemplate('header'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Assembles all voucher data inline and renders the template.
|
||||
*
|
||||
* @return string HTML content
|
||||
*/
|
||||
public function getContent()
|
||||
{
|
||||
// --- Bookings ---
|
||||
$objHotelBookingDetail = new HotelBookingDetail();
|
||||
$bookings = $objHotelBookingDetail->getBookingDataByOrderId((int)$this->order->id);
|
||||
if (!is_array($bookings)) {
|
||||
$bookings = array();
|
||||
}
|
||||
|
||||
// --- Order state ---
|
||||
$orderState = $this->order->getCurrentStateFull((int)$this->order->id_lang);
|
||||
|
||||
// --- Hotel / property ---
|
||||
$objHotel = null;
|
||||
$idHotel = HotelBookingDetail::getIdHotelByIdOrder((int)$this->order->id);
|
||||
if ($idHotel) {
|
||||
$objHotel = new HotelBranchInformation((int)$idHotel, (int)$this->order->id_lang);
|
||||
if (!Validate::isLoadedObject($objHotel)) {
|
||||
$objHotel = null;
|
||||
}
|
||||
}
|
||||
|
||||
$hotelAddress = '';
|
||||
$paymentPolicy = '';
|
||||
$cancellationPolicy = '';
|
||||
|
||||
if ($objHotel) {
|
||||
$policies = is_array($objHotel->policies) ? '' : (string)$objHotel->policies;
|
||||
if ($policies) {
|
||||
$policyText = html_entity_decode($policies, ENT_QUOTES, 'UTF-8');
|
||||
$policyText = preg_replace('/<br\\s*\\/?>/i', "\n", $policyText);
|
||||
$policyText = strip_tags($policyText);
|
||||
$policyText = preg_replace("/[\r\n]+/", "\n", $policyText);
|
||||
$paymentPolicy = nl2br(trim($policyText));
|
||||
}
|
||||
|
||||
$objBranchRefundRules = new HotelBranchRefundRules();
|
||||
$refundRules = $objBranchRefundRules->getHotelRefundRules(
|
||||
(int)$objHotel->id, 0, 1, (int)$this->order->id_lang, 1
|
||||
);
|
||||
if (is_array($refundRules) && !empty($refundRules)) {
|
||||
$policyBlocks = array();
|
||||
foreach ($refundRules as $rule) {
|
||||
$ruleName = isset($rule['name']) ? trim(strip_tags($rule['name'])) : '';
|
||||
$ruleDescription = isset($rule['description']) ? trim($rule['description']) : '';
|
||||
if ($ruleName === '' && $ruleDescription === '') {
|
||||
continue;
|
||||
}
|
||||
$block = $ruleName !== '' ? '<strong>'.Tools::safeOutput($ruleName).'</strong>' : '';
|
||||
if ($ruleDescription !== '') {
|
||||
$block .= ($block !== '' ? ': ' : '').$ruleDescription;
|
||||
}
|
||||
$policyBlocks[] = $block;
|
||||
}
|
||||
if (!empty($policyBlocks)) {
|
||||
$cancellationPolicy = implode('<br /><br />', $policyBlocks);
|
||||
}
|
||||
}
|
||||
|
||||
if ($idHotelAddress = $objHotel->getHotelIdAddress()) {
|
||||
$objHotelAddress = new Address((int)$idHotelAddress);
|
||||
if (Validate::isLoadedObject($objHotelAddress)) {
|
||||
$objHotelAddress->firstname = $objHotel->hotel_name;
|
||||
$hotelAddress = AddressFormat::generateAddress(
|
||||
$objHotelAddress,
|
||||
array('avoid' => array('lastname')),
|
||||
'<br />',
|
||||
' '
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// --- Rooms, services, occupancy ---
|
||||
$totalRooms = 0;
|
||||
$totalRoomNights = 0;
|
||||
$totalGuests = 0;
|
||||
$serviceGroups = array();
|
||||
$roomTypeRows = array();
|
||||
|
||||
foreach ($bookings as $booking) {
|
||||
$nights = (int)HotelHelper::getNumberOfDays($booking['date_from'], $booking['date_to']);
|
||||
if ($nights <= 0) {
|
||||
$nights = 1;
|
||||
}
|
||||
|
||||
$totalGuests += (int)$booking['adults'] + (int)$booking['children'];
|
||||
$totalRoomNights += $nights;
|
||||
$totalRooms++;
|
||||
|
||||
$dateFrom = ($booking['date_from'] && $booking['date_from'] !== '0000-00-00 00:00:00')
|
||||
? Tools::displayDate($booking['date_from'], null, false) : '--';
|
||||
$dateTo = ($booking['date_to'] && $booking['date_to'] !== '0000-00-00 00:00:00')
|
||||
? Tools::displayDate($booking['date_to'], null, false) : '--';
|
||||
|
||||
// Services for this booking
|
||||
$bookingServices = array();
|
||||
|
||||
$objBookingDemand = new HotelBookingDemands();
|
||||
$extraDemands = $objBookingDemand->getRoomTypeBookingExtraDemands(
|
||||
(int)$this->order->id, 0, 0, 0, 0, 0, 0, 0,
|
||||
(int)$booking['id'], (int)$booking['id_order_detail']
|
||||
);
|
||||
if (is_array($extraDemands)) {
|
||||
foreach ($extraDemands as $demand) {
|
||||
$bookingServices[] = array('name' => $demand['name'], 'quantity' => 1);
|
||||
}
|
||||
}
|
||||
|
||||
// Auto-added services bundled with room price (for cost calculation only)
|
||||
$objServiceProductOrderDetail = new ServiceProductOrderDetail();
|
||||
$autoAddedWithRoomPriceTaxExcl = (float)$objServiceProductOrderDetail->getRoomTypeServiceProducts(
|
||||
(int)$this->order->id, 0, 0,
|
||||
isset($booking['id_product']) ? (int)$booking['id_product'] : 0,
|
||||
isset($booking['date_from']) ? $booking['date_from'] : 0,
|
||||
isset($booking['date_to']) ? $booking['date_to'] : 0,
|
||||
isset($booking['id_room']) ? (int)$booking['id_room'] : 0,
|
||||
1, 0, 1, Product::PRICE_ADDITION_TYPE_WITH_ROOM
|
||||
);
|
||||
|
||||
// Additional services chosen by guest
|
||||
$additionalServices = $objServiceProductOrderDetail->getRoomTypeServiceProducts(
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 1, 0, null, 0, (int)$booking['id']
|
||||
);
|
||||
if (isset($additionalServices[(int)$booking['id']]['additional_services'])) {
|
||||
foreach ($additionalServices[(int)$booking['id']]['additional_services'] as $service) {
|
||||
$bookingServices[] = array('name' => $service['name'], 'quantity' => (int)$service['quantity']);
|
||||
}
|
||||
}
|
||||
|
||||
if (!empty($bookingServices)) {
|
||||
$serviceGroups[] = array(
|
||||
'room_type_name' => isset($booking['room_type_name']) ? $booking['room_type_name'] : '',
|
||||
'check_in_date' => $dateFrom,
|
||||
'check_out_date' => $dateTo,
|
||||
'room_count' => $totalRooms,
|
||||
'services' => $bookingServices,
|
||||
);
|
||||
}
|
||||
|
||||
$roomTotalWithAutoServicesTaxExcl = (float)$booking['total_price_tax_excl'] + $autoAddedWithRoomPriceTaxExcl;
|
||||
|
||||
// Aggregate per room type + date range
|
||||
$roomTypeRowKey = implode('|', array(
|
||||
(int)$booking['id_order_detail'],
|
||||
isset($booking['room_type_name']) ? $booking['room_type_name'] : '',
|
||||
isset($booking['date_from']) ? $booking['date_from'] : '',
|
||||
isset($booking['date_to']) ? $booking['date_to'] : '',
|
||||
));
|
||||
|
||||
if (!isset($roomTypeRows[$roomTypeRowKey])) {
|
||||
$idOrderDetail = (int)$booking['id_order_detail'];
|
||||
$detailTaxes = $idOrderDetail ? OrderDetail::getTaxListStatic($idOrderDetail) : null;
|
||||
$orderDetailTaxLabel = self::l('No tax');
|
||||
if ($detailTaxes) {
|
||||
$taxTemp = array();
|
||||
foreach ($detailTaxes as $tax) {
|
||||
$objTax = new Tax($tax['id_tax']);
|
||||
$taxTemp[] = sprintf(self::l('%1$s%2$s%%'), $objTax->rate + 0, ' ');
|
||||
}
|
||||
$orderDetailTaxLabel = implode(', ', $taxTemp);
|
||||
}
|
||||
|
||||
$roomTypeRows[$roomTypeRowKey] = array(
|
||||
'room_type_name' => isset($booking['room_type_name']) ? $booking['room_type_name'] : '',
|
||||
'order_detail_tax_label' => $orderDetailTaxLabel,
|
||||
'rooms' => 0,
|
||||
'adults' => 0,
|
||||
'children' => 0,
|
||||
'nights' => $nights,
|
||||
'check_in_date' => $dateFrom,
|
||||
'check_out_date' => $dateTo,
|
||||
'unit_price_tax_excl' => 0,
|
||||
'total_price_tax_excl' => 0,
|
||||
);
|
||||
}
|
||||
|
||||
$roomTypeRows[$roomTypeRowKey]['rooms'] += 1;
|
||||
$roomTypeRows[$roomTypeRowKey]['adults'] += (int)$booking['adults'];
|
||||
$roomTypeRows[$roomTypeRowKey]['children'] += (int)$booking['children'];
|
||||
$roomTypeRows[$roomTypeRowKey]['total_price_tax_excl'] += $roomTotalWithAutoServicesTaxExcl;
|
||||
}
|
||||
|
||||
foreach ($roomTypeRows as &$roomTypeRow) {
|
||||
$denominator = (int)$roomTypeRow['nights'] * (int)$roomTypeRow['rooms'];
|
||||
if ($denominator > 0) {
|
||||
$roomTypeRow['unit_price_tax_excl'] = Tools::ps_round(
|
||||
$roomTypeRow['total_price_tax_excl'] / $denominator,
|
||||
6,
|
||||
$this->order->round_mode
|
||||
);
|
||||
}
|
||||
}
|
||||
unset($roomTypeRow);
|
||||
|
||||
$guestAddress = '';
|
||||
$guest = new Customer((int)$this->order->id_customer);
|
||||
|
||||
$addressId = (int)$this->order->id_address_invoice ?: (int)$this->order->id_address_delivery;
|
||||
if ($addressId) {
|
||||
$address = new Address($addressId);
|
||||
if (Validate::isLoadedObject($address)) {
|
||||
$guestAddress = AddressFormat::generateAddress($address, array(), '<br />', ' ');
|
||||
}
|
||||
}
|
||||
|
||||
if ($idCustomerGuestDetail = OrderCustomerGuestDetail::isCustomerGuestBooking((int)$this->order->id)) {
|
||||
$objGuest = new OrderCustomerGuestDetail((int)$idCustomerGuestDetail);
|
||||
if (Validate::isLoadedObject($objGuest)) {
|
||||
$guest = $objGuest;
|
||||
}
|
||||
}
|
||||
// --- Totals ---
|
||||
$objBookingDemand = new HotelBookingDemands();
|
||||
$totalDemandsPriceTE = (float)$objBookingDemand->getRoomTypeBookingExtraDemands(
|
||||
(int)$this->order->id, 0, 0, 0, 0, 1, 1, 0
|
||||
);
|
||||
$totalDemandsPriceTI = (float)$objBookingDemand->getRoomTypeBookingExtraDemands(
|
||||
(int)$this->order->id, 0, 0, 0, 0, 1, 1, 1
|
||||
);
|
||||
|
||||
$orderDetails = OrderDetail::getList((int)$this->order->id);
|
||||
$idsOrderDetail = is_array($orderDetails)
|
||||
? array_unique(array_map('intval', array_column($orderDetails, 'id_order_detail')))
|
||||
: array();
|
||||
|
||||
$footer = array(
|
||||
'room_price_tax_excl' => 0,
|
||||
'service_products_price_tax_excl' => 0,
|
||||
'additional_service_price_tax_excl' => 0,
|
||||
'total_convenience_fee_te' => 0,
|
||||
);
|
||||
$roomsCostTaxIncl = 0;
|
||||
$serviceProductsCostTaxIncl = 0;
|
||||
$additionalServicesCostTaxIncl = 0;
|
||||
$convenienceFeeTaxIncl = 0;
|
||||
|
||||
if (!empty($idsOrderDetail)) {
|
||||
$footer['room_price_tax_excl'] = $this->order->getTotalProductsWithoutTaxes(false, true, null, null, null, $idsOrderDetail) + $this->order->getTotalProductsWithoutTaxes(false, false, Product::SELLING_PREFERENCE_WITH_ROOM_TYPE, 1, Product::PRICE_ADDITION_TYPE_WITH_ROOM, $idsOrderDetail);
|
||||
$roomsCostTaxIncl = $this->order->getTotalProductsWithTaxes(false, true, null, null, null, $idsOrderDetail) + $this->order->getTotalProductsWithTaxes(false, false, Product::SELLING_PREFERENCE_WITH_ROOM_TYPE, 1, Product::PRICE_ADDITION_TYPE_WITH_ROOM, $idsOrderDetail);
|
||||
$footer['service_products_price_tax_excl'] = $this->order->getTotalProductsWithoutTaxes(false, false, Product::SELLING_PREFERENCE_STANDALONE, false, false, $idsOrderDetail) + $this->order->getTotalProductsWithoutTaxes(false, false, Product::SELLING_PREFERENCE_HOTEL_STANDALONE, false, false, $idsOrderDetail);
|
||||
$serviceProductsCostTaxIncl = $this->order->getTotalProductsWithTaxes(false, false, Product::SELLING_PREFERENCE_STANDALONE, false, false, $idsOrderDetail) + $this->order->getTotalProductsWithTaxes(false, false, Product::SELLING_PREFERENCE_HOTEL_STANDALONE, false, false, $idsOrderDetail);
|
||||
$footer['additional_service_price_tax_excl'] = $this->order->getTotalProductsWithoutTaxes(false, false, Product::SELLING_PREFERENCE_WITH_ROOM_TYPE, 0, null, $idsOrderDetail) + $totalDemandsPriceTE;
|
||||
$additionalServicesCostTaxIncl = $this->order->getTotalProductsWithTaxes(false, false, Product::SELLING_PREFERENCE_WITH_ROOM_TYPE, 0, null, $idsOrderDetail) + $totalDemandsPriceTI;
|
||||
$footer['total_convenience_fee_te'] = $this->order->getTotalProductsWithoutTaxes(false, false, Product::SELLING_PREFERENCE_WITH_ROOM_TYPE, 1, Product::PRICE_ADDITION_TYPE_INDEPENDENT, $idsOrderDetail);
|
||||
$convenienceFeeTaxIncl = $this->order->getTotalProductsWithTaxes(false, false, Product::SELLING_PREFERENCE_WITH_ROOM_TYPE, 1, Product::PRICE_ADDITION_TYPE_INDEPENDENT, $idsOrderDetail);
|
||||
}
|
||||
|
||||
$productDiscountsTaxIncl = (float)$this->order->total_discounts_tax_incl;
|
||||
foreach ($this->order->getCartRules() as $cartRule) {
|
||||
if (!empty($cartRule['free_shipping'])) {
|
||||
$productDiscountsTaxIncl -= (float)$this->order->total_shipping_tax_incl;
|
||||
}
|
||||
}
|
||||
if ($productDiscountsTaxIncl < 0) {
|
||||
$productDiscountsTaxIncl = 0;
|
||||
}
|
||||
|
||||
$footer['total_without_discount_te'] = $footer['room_price_tax_excl'] + $footer['total_convenience_fee_te'] + $footer['additional_service_price_tax_excl'] + $footer['service_products_price_tax_excl'];
|
||||
$totalWithoutDiscountTaxIncl = $roomsCostTaxIncl + $serviceProductsCostTaxIncl + $additionalServicesCostTaxIncl + $convenienceFeeTaxIncl;
|
||||
$footer['total_tax_without_discount'] = max(0, $totalWithoutDiscountTaxIncl - $footer['total_without_discount_te']);
|
||||
$grandTotal = max(0.0, $totalWithoutDiscountTaxIncl - $productDiscountsTaxIncl);
|
||||
$footer['product_discounts_tax_incl'] = $productDiscountsTaxIncl;
|
||||
$footer['total_paid_tax_incl'] = $grandTotal;
|
||||
$footer['amount_due'] = Tools::ps_round(
|
||||
max(0, $grandTotal - (float)$this->order->getTotalPaid()),
|
||||
_PS_PRICE_COMPUTE_PRECISION_,
|
||||
$this->order->round_mode
|
||||
);
|
||||
|
||||
$paymentMethods = array();
|
||||
$payments = $this->order->getOrderPaymentDetail();
|
||||
if (is_array($payments) && $payments) {
|
||||
foreach ($payments as $paymentDetail) {
|
||||
$method = isset($paymentDetail['payment_method']) ? trim($paymentDetail['payment_method']) : '';
|
||||
if (!$method) {
|
||||
$method = $this->order->payment;
|
||||
}
|
||||
$amount = isset($paymentDetail['real_paid_amount'])
|
||||
? (float)$paymentDetail['real_paid_amount']
|
||||
: (float)$paymentDetail['amount'];
|
||||
$idCurrency = isset($paymentDetail['id_currency'])
|
||||
? (int)$paymentDetail['id_currency']
|
||||
: (int)$this->order->id_currency;
|
||||
$paymentMethods[] = $method.': '.Tools::displayPrice($amount, $idCurrency);
|
||||
}
|
||||
}
|
||||
$paymentMethod = $paymentMethods ? implode('<br /><br /> ', $paymentMethods) : $this->order->payment;
|
||||
|
||||
$data = array(
|
||||
'order' => $this->order,
|
||||
'order_state' => $orderState,
|
||||
'booking_date' => Tools::displayDate($this->order->date_add, null, false),
|
||||
'issue_date' => Tools::displayDate(date('Y-m-d'), null, false),
|
||||
'hotel' => $objHotel,
|
||||
'hotel_address' => $hotelAddress,
|
||||
'guest' => $guest,
|
||||
'guest_address' => $guestAddress,
|
||||
'total_guests' => (int)$totalGuests,
|
||||
'total_rooms' => (int)$totalRooms,
|
||||
'total_room_nights' => (int)$totalRoomNights,
|
||||
'room_type_rows' => array_values($roomTypeRows),
|
||||
'service_groups' => $serviceGroups,
|
||||
'payment_method' => $paymentMethod,
|
||||
'footer' => $footer,
|
||||
'payment_policy' => $paymentPolicy,
|
||||
'cancellation_policy' => $cancellationPolicy,
|
||||
);
|
||||
|
||||
if (Tools::getValue('debug')) {
|
||||
die(json_encode($data));
|
||||
}
|
||||
$this->smarty->assign($data);
|
||||
|
||||
return $this->smarty->fetch($this->getTemplate('booking-voucher'));
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getBulkFilename()
|
||||
{
|
||||
return self::l('BookingVouchers').'.pdf';
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getFilename()
|
||||
{
|
||||
return sprintf(self::l('BOOKING VOUCHER - Refrence No. #%s.pdf'), $this->order->reference);
|
||||
}
|
||||
}
|
||||
@@ -474,8 +474,32 @@ class HTMLTemplateInvoiceCore extends HTMLTemplate
|
||||
|
||||
$cart_htl_data[$type_key]['date_diff'][$date_join]['num_rm'] = 1;
|
||||
$fullDate = (isset($context->controller->show_full_date) && $context->controller->show_full_date && (date('Y-m-d', strtotime($data_v['date_from'])) == date('Y-m-d', strtotime($data_v['date_to'])))) ? true : false;
|
||||
$cart_htl_data[$type_key]['date_diff'][$date_join]['data_form'] = Tools::displayDate($data_v['date_from'], null, $fullDate);
|
||||
$cart_htl_data[$type_key]['date_diff'][$date_join]['data_to'] = Tools::displayDate($data_v['date_to'], null, $fullDate);
|
||||
$display_date_from = $data_v['date_from'];
|
||||
$display_date_to = $data_v['date_to'];
|
||||
if ((int)$data_v['id_status'] === HotelBookingDetail::STATUS_CHECKED_OUT) {
|
||||
if ($data_v['check_in']) {
|
||||
$display_date_from = $data_v['check_in'];
|
||||
}
|
||||
if ($data_v['check_out']) {
|
||||
$display_date_to = $data_v['check_out'];
|
||||
}
|
||||
} elseif ((int)$data_v['id_status'] === HotelBookingDetail::STATUS_CHECKED_IN) {
|
||||
if ($data_v['check_in']) {
|
||||
$display_date_from = $data_v['check_in'];
|
||||
}
|
||||
if ($data_v['check_out_time']) {
|
||||
$display_date_to = date('Y-m-d', strtotime($data_v['date_to'])) . ' ' . date('H:i:s', strtotime($data_v['check_out_time']));
|
||||
}
|
||||
} else {
|
||||
if ($data_v['check_in_time']) {
|
||||
$display_date_from = date('Y-m-d', strtotime($data_v['date_from'])) . ' ' . date('H:i:s', strtotime($data_v['check_in_time']));
|
||||
}
|
||||
if ($data_v['check_out_time']) {
|
||||
$display_date_to = date('Y-m-d', strtotime($data_v['date_to'])) . ' ' . date('H:i:s', strtotime($data_v['check_out_time']));
|
||||
}
|
||||
}
|
||||
$cart_htl_data[$type_key]['date_diff'][$date_join]['data_form'] = Tools::displayDate($display_date_from, null, true);
|
||||
$cart_htl_data[$type_key]['date_diff'][$date_join]['data_to'] = Tools::displayDate($display_date_to, null, true);
|
||||
$cart_htl_data[$type_key]['date_diff'][$date_join]['num_days'] = $num_days;
|
||||
$cart_htl_data[$type_key]['date_diff'][$date_join]['adults'] = $data_v['adults'];
|
||||
$cart_htl_data[$type_key]['date_diff'][$date_join]['children'] = $data_v['children'];
|
||||
|
||||
@@ -41,6 +41,7 @@ class PDFCore
|
||||
const TEMPLATE_ORDER_SLIP = 'OrderSlip';
|
||||
const TEMPLATE_DELIVERY_SLIP = 'DeliverySlip';
|
||||
const TEMPLATE_SUPPLY_ORDER_FORM = 'SupplyOrderForm';
|
||||
const TEMPLATE_BOOKING_VOUCHER = 'BookingVoucher';
|
||||
const TEMPLATE_PAYMENT_RECEIPT = 'PaymentReceipt';
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,22 +1,52 @@
|
||||
{
|
||||
"require": {
|
||||
"php": ">=5.4 <8.0",
|
||||
"ext-simplexml": "*",
|
||||
"ext-curl": "*",
|
||||
"ext-gd": "*",
|
||||
"ext-zip": "*",
|
||||
"ext-soap": "*"
|
||||
},
|
||||
"name": "webkul/qloapps",
|
||||
"name": "qloapps/qloapps",
|
||||
"description": "QloApps is an Open-source and Free hotel reservation system and booking engine. With the help of QloApps, you can launch your hotel booking website without any cost and take & manage online bookings.",
|
||||
"type": "project",
|
||||
"homepage": "https://qloapps.com",
|
||||
"license": "OSL-3.0",
|
||||
"keywords": [
|
||||
"qloapps",
|
||||
"hospitality",
|
||||
"booking-engine",
|
||||
"hotel-booking-website",
|
||||
"hotel-management-system",
|
||||
"hotel-reservation-system",
|
||||
"property-management-system",
|
||||
"cms"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "webkul",
|
||||
"email": "support@qloapps.com"
|
||||
"name": "QloApps",
|
||||
"email": "support@qloapps.com",
|
||||
"homepage": "https://qloapps.com"
|
||||
},
|
||||
{
|
||||
"name": "QloApps Community",
|
||||
"homepage": "https://github.com/Qloapps/QloApps/graphs/contributors"
|
||||
}
|
||||
],
|
||||
"minimum-stability": "dev",
|
||||
"prefer-stable": true
|
||||
"support": {
|
||||
"docs": "https://qloapps.com/docs/",
|
||||
"email": "support@qloapps.com",
|
||||
"forum": "https://forums.qloapps.com/",
|
||||
"source": "https://github.com/Qloapps/QloApps"
|
||||
},
|
||||
"require": {
|
||||
"php": ">8.0 <8.5",
|
||||
"ext-curl": "*",
|
||||
"ext-dom": "*",
|
||||
"ext-gd": "*",
|
||||
"ext-mcrypt": "*",
|
||||
"ext-openssl": "*",
|
||||
"ext-pdo_mysql": "*",
|
||||
"ext-phar": "*",
|
||||
"ext-simplexml": "*",
|
||||
"ext-soap": "*",
|
||||
"ext-zip": "*"
|
||||
},
|
||||
"minimum-stability": "stable",
|
||||
"prefer-stable": true,
|
||||
"config": {
|
||||
"sort-packages": true
|
||||
}
|
||||
}
|
||||
@@ -56,7 +56,7 @@ class AdminAccessControllerCore extends AdminController
|
||||
{
|
||||
$current_profile = (int)$this->getCurrentProfileId();
|
||||
$profiles = Profile::getProfiles($this->context->language->id);
|
||||
$tabs = Tab::getTabs($this->context->language->id);
|
||||
$tabs = Tab::getTabs($this->context->language->id, null, true);
|
||||
$accesses = array();
|
||||
foreach ($profiles as $profile) {
|
||||
$accesses[$profile['id_profile']] = Profile::getProfileAccesses($profile['id_profile']);
|
||||
@@ -214,7 +214,7 @@ class AdminAccessControllerCore extends AdminController
|
||||
|
||||
if (Tools::isSubmit('submitAddAccess')) {
|
||||
$perm = Tools::getValue('perm');
|
||||
if (!in_array($perm, array('view', 'add', 'edit', 'delete', 'all'))) {
|
||||
if (!in_array($perm, array('view', 'add', 'edit', 'delete', 'all', 'kpi'))) {
|
||||
throw new PrestaShopException('permission does not exist');
|
||||
}
|
||||
|
||||
|
||||
@@ -181,69 +181,85 @@ class AdminCartsControllerCore extends AdminController
|
||||
|
||||
public function renderKpis()
|
||||
{
|
||||
$time = time();
|
||||
$kpis = array();
|
||||
$objCart = new Cart(Tools::getValue('id_cart'));
|
||||
if (Validate::isLoadedObject($objCart)) {
|
||||
$currency = new Currency($objCart->id_currency);
|
||||
$summary = $objCart->getSummaryDetails();
|
||||
$tax_calculation_method = Group::getPriceDisplayMethod(Group::getCurrent()->id);
|
||||
$total_price = ($tax_calculation_method == PS_TAX_EXC)
|
||||
? $summary['total_price_without_tax']
|
||||
: $summary['total_price'];
|
||||
|
||||
$daysForConversionRate = Configuration::get('PS_KPI_CONVERSION_RATE_NB_DAYS');
|
||||
|
||||
$helper = new HelperKpi();
|
||||
$helper->id = 'box-conversion-rate';
|
||||
$helper->icon = 'icon-sort-by-attributes-alt';
|
||||
//$helper->chart = true;
|
||||
$helper->color = 'color1';
|
||||
$helper->title = $this->l('Conversion Rate', null, null, false);
|
||||
if ($daysForConversionRate == 1) {
|
||||
$helper->subtitle = $daysForConversionRate.' '.$this->l('day', null, null, false);
|
||||
$helper = new HelperKpi();
|
||||
$helper->id = 'box-kpi-cart';
|
||||
$helper->icon = 'icon-shopping-cart';
|
||||
$helper->color = 'color1';
|
||||
$helper->title = $this->l('Total Cart', null, null, false);
|
||||
$helper->subtitle = sprintf($this->l('Cart #%06d', null, null, false), $objCart->id);
|
||||
$helper->value = Tools::displayPrice($total_price, $currency);
|
||||
$this->kpis[] = $helper;
|
||||
} else {
|
||||
$helper->subtitle = $daysForConversionRate.' '.$this->l('days', null, null, false);
|
||||
}
|
||||
if (ConfigurationKPI::get('CONVERSION_RATE_CHART') !== false) {
|
||||
$helper->data = ConfigurationKPI::get('CONVERSION_RATE_CHART');
|
||||
}
|
||||
$helper->source = $this->context->link->getAdminLink('AdminStats').'&ajax=1&action=getKpi&kpi=conversion_rate';
|
||||
$this->kpis[] = $helper;
|
||||
$daysForConversionRate = Configuration::get('PS_KPI_CONVERSION_RATE_NB_DAYS');
|
||||
|
||||
$helper = new HelperKpi();
|
||||
$helper->id = 'box-carts';
|
||||
$helper->icon = 'icon-shopping-cart';
|
||||
$helper->color = 'color2';
|
||||
$helper->title = $this->l('Abandoned Carts', null, null, false);
|
||||
$date_from = date(Context::getContext()->language->date_format_lite, strtotime('-2 day'));
|
||||
$date_to = date(Context::getContext()->language->date_format_lite, strtotime('-1 day'));
|
||||
$helper->subtitle = sprintf($this->l('From %s to %s', null, null, false), $date_from, $date_to);
|
||||
$helper->href = $this->context->link->getAdminLink('AdminCarts').'&action=filterOnlyAbandonedCarts&date_from='.date('Y-m-d', strtotime('-2 day')).'&date_to='.date('Y-m-d', strtotime('-1 day'));
|
||||
$helper->source = $this->context->link->getAdminLink('AdminStats').'&ajax=1&action=getKpi&kpi=abandoned_cart';
|
||||
$this->kpis[] = $helper;
|
||||
$helper = new HelperKpi();
|
||||
$helper->id = 'box-conversion-rate';
|
||||
$helper->icon = 'icon-sort-by-attributes-alt';
|
||||
//$helper->chart = true;
|
||||
$helper->color = 'color1';
|
||||
$helper->title = $this->l('Conversion Rate', null, null, false);
|
||||
if ($daysForConversionRate == 1) {
|
||||
$helper->subtitle = $daysForConversionRate.' '.$this->l('day', null, null, false);
|
||||
} else {
|
||||
$helper->subtitle = $daysForConversionRate.' '.$this->l('days', null, null, false);
|
||||
}
|
||||
if (ConfigurationKPI::get('CONVERSION_RATE_CHART') !== false) {
|
||||
$helper->data = ConfigurationKPI::get('CONVERSION_RATE_CHART');
|
||||
}
|
||||
$helper->source = $this->context->link->getAdminLink('AdminStats').'&ajax=1&action=getKpi&kpi=conversion_rate';
|
||||
$this->kpis[] = $helper;
|
||||
|
||||
$daysForAvgOrderVal = Configuration::get('PS_ORDER_KPI_AVG_ORDER_VALUE_NB_DAYS');
|
||||
$helper = new HelperKpi();
|
||||
$helper->id = 'box-average-order';
|
||||
$helper->icon = 'icon-money';
|
||||
$helper->color = 'color3';
|
||||
$helper->title = $this->l('Average Order Value', null, null, false);
|
||||
if ($daysForAvgOrderVal == 1) {
|
||||
$helper->subtitle = $daysForAvgOrderVal.' '.$this->l('day', null, null, false);
|
||||
} else {
|
||||
$helper->subtitle = $daysForAvgOrderVal.' '.$this->l('days', null, null, false);
|
||||
$helper = new HelperKpi();
|
||||
$helper->id = 'box-carts';
|
||||
$helper->icon = 'icon-shopping-cart';
|
||||
$helper->color = 'color2';
|
||||
$helper->title = $this->l('Abandoned Carts', null, null, false);
|
||||
$date_from = date(Context::getContext()->language->date_format_lite, strtotime('-2 day'));
|
||||
$date_to = date(Context::getContext()->language->date_format_lite, strtotime('-1 day'));
|
||||
$helper->subtitle = sprintf($this->l('From %s to %s', null, null, false), $date_from, $date_to);
|
||||
$helper->href = $this->context->link->getAdminLink('AdminCarts').'&action=filterOnlyAbandonedCarts&date_from='.date('Y-m-d', strtotime('-2 day')).'&date_to='.date('Y-m-d', strtotime('-1 day'));
|
||||
$helper->source = $this->context->link->getAdminLink('AdminStats').'&ajax=1&action=getKpi&kpi=abandoned_cart';
|
||||
$this->kpis[] = $helper;
|
||||
|
||||
$daysForAvgOrderVal = Configuration::get('PS_ORDER_KPI_AVG_ORDER_VALUE_NB_DAYS');
|
||||
$helper = new HelperKpi();
|
||||
$helper->id = 'box-average-order';
|
||||
$helper->icon = 'icon-money';
|
||||
$helper->color = 'color3';
|
||||
$helper->title = $this->l('Average Order Value', null, null, false);
|
||||
if ($daysForAvgOrderVal == 1) {
|
||||
$helper->subtitle = $daysForAvgOrderVal.' '.$this->l('day', null, null, false);
|
||||
} else {
|
||||
$helper->subtitle = $daysForAvgOrderVal.' '.$this->l('days', null, null, false);
|
||||
}
|
||||
|
||||
$helper->source = $this->context->link->getAdminLink('AdminStats').'&ajax=1&action=getKpi&kpi=average_order_value';
|
||||
$this->kpis[] = $helper;
|
||||
|
||||
$daysForProfitPerVisitor = Configuration::get('PS_ORDER_KPI_PER_VISITOR_PROFIT_NB_DAYS');
|
||||
$helper = new HelperKpi();
|
||||
$helper->id = 'box-net-profit-visitor';
|
||||
$helper->icon = 'icon-user';
|
||||
$helper->color = 'color4';
|
||||
$helper->title = $this->l('Net Profit per Visitor', null, null, false);
|
||||
if ($daysForProfitPerVisitor == 1) {
|
||||
$helper->subtitle = $daysForProfitPerVisitor.' '.$this->l('day', null, null, false);
|
||||
} else {
|
||||
$helper->subtitle = $daysForProfitPerVisitor.' '.$this->l('days', null, null, false);
|
||||
}
|
||||
$helper->source = $this->context->link->getAdminLink('AdminStats').'&ajax=1&action=getKpi&kpi=netprofit_visit';
|
||||
$this->kpis[] = $helper;
|
||||
}
|
||||
|
||||
$helper->source = $this->context->link->getAdminLink('AdminStats').'&ajax=1&action=getKpi&kpi=average_order_value';
|
||||
$this->kpis[] = $helper;
|
||||
|
||||
$daysForProfitPerVisitor = Configuration::get('PS_ORDER_KPI_PER_VISITOR_PROFIT_NB_DAYS');
|
||||
$helper = new HelperKpi();
|
||||
$helper->id = 'box-net-profit-visitor';
|
||||
$helper->icon = 'icon-user';
|
||||
$helper->color = 'color4';
|
||||
$helper->title = $this->l('Net Profit per Visitor', null, null, false);
|
||||
if ($daysForProfitPerVisitor == 1) {
|
||||
$helper->subtitle = $daysForProfitPerVisitor.' '.$this->l('day', null, null, false);
|
||||
} else {
|
||||
$helper->subtitle = $daysForProfitPerVisitor.' '.$this->l('days', null, null, false);
|
||||
}
|
||||
$helper->source = $this->context->link->getAdminLink('AdminStats').'&ajax=1&action=getKpi&kpi=netprofit_visit';
|
||||
$this->kpis[] = $helper;
|
||||
|
||||
return parent::renderKpis();
|
||||
}
|
||||
|
||||
@@ -254,6 +270,9 @@ class AdminCartsControllerCore extends AdminController
|
||||
if (!($cart = $this->loadObject(true))) {
|
||||
return;
|
||||
}
|
||||
if ($this->tabAccess['kpi'] === 1) {
|
||||
$this->content .= $this->renderKpis();
|
||||
}
|
||||
$customer = new Customer($cart->id_customer);
|
||||
$currency = new Currency($cart->id_currency);
|
||||
$this->context->cart = $cart;
|
||||
@@ -340,16 +359,6 @@ class AdminCartsControllerCore extends AdminController
|
||||
$cartHtlData = array();
|
||||
}
|
||||
|
||||
$helper = new HelperKpi();
|
||||
$helper->id = 'box-kpi-cart';
|
||||
$helper->icon = 'icon-shopping-cart';
|
||||
$helper->color = 'color1';
|
||||
$helper->title = $this->l('Total Cart', null, null, false);
|
||||
$helper->subtitle = sprintf($this->l('Cart #%06d', null, null, false), $cart->id);
|
||||
$helper->value = Tools::displayPrice($total_price, $currency);
|
||||
$kpi = $helper->generate();
|
||||
//end
|
||||
|
||||
// get standalone products in cart
|
||||
$objServiceProductCartDetail = new ServiceProductCartDetail();
|
||||
$hotelProducts = $objServiceProductCartDetail->getServiceProductsInCart(
|
||||
@@ -381,7 +390,6 @@ class AdminCartsControllerCore extends AdminController
|
||||
'cart_htl_data' => $cartHtlData,//by webkul hotel rooms in order data
|
||||
'standalone_products' => $standaloneProducts,
|
||||
'hotel_products' => $hotelProducts,
|
||||
'kpi' => $kpi,
|
||||
'products' => $products,
|
||||
'discounts' => $cart->getCartRules(),
|
||||
'cart_orders' => $cartOrders,
|
||||
@@ -1121,7 +1129,7 @@ class AdminCartsControllerCore extends AdminController
|
||||
if ($bookingInfo['id'] == $idBookingData) {
|
||||
$amtWithQty = $bookingInfo['amt_with_qty'];
|
||||
$bookingInfo['amt_with_qty'] = Tools::displayPrice($amtWithQty);
|
||||
$bookingInfo['total_price'] = Tools::displayPrice($amtWithQty + $bookingInfo['demand_price']);
|
||||
$bookingInfo['total_price'] = Tools::displayPrice($amtWithQty + $bookingInfo['demand_price'] + $bookingInfo['additional_service_price'] + $bookingInfo['additional_services_auto_add_price']);
|
||||
$response = array(
|
||||
'curr_booking_info' => $bookingInfo,
|
||||
'cart_info' => $this->ajaxReturnVars(),
|
||||
|
||||
@@ -168,6 +168,10 @@ class AdminDashboardControllerCore extends AdminController
|
||||
return parent::renderOptions();
|
||||
}
|
||||
|
||||
if ($this->tabAccess['kpi'] === 1) {
|
||||
$this->content .= $this->renderKpis();
|
||||
}
|
||||
|
||||
// $translations = array(
|
||||
// 'Calendar' => $this->l('Calendar', 'AdminStatsTab'),
|
||||
// 'Day' => $this->l('Day', 'AdminStatsTab'),
|
||||
|
||||
@@ -391,12 +391,15 @@ class AdminOrdersControllerCore extends AdminController
|
||||
);
|
||||
}
|
||||
|
||||
$this->page_header_toolbar_btn['print'] = array(
|
||||
'short' => $this->l('Print'),
|
||||
'href' => 'javascript:window.print()',
|
||||
'desc' => $this->l('Print order'),
|
||||
'class' => 'icon-print',
|
||||
);
|
||||
if (HotelBookingDetail::getIdHotelByIdOrder($order->id, false) && !$this->lite_display) {
|
||||
$this->page_header_toolbar_btn['booking_voucher'] = array(
|
||||
'short' => $this->l('Booking Voucher'),
|
||||
'href' => $this->context->link->getAdminLink('AdminPdf').'&submitAction=generateBookingVoucherPDF&id_order='.$order->id,
|
||||
'desc' => $this->l('View booking voucher'),
|
||||
'class' => 'icon-file-text',
|
||||
'target' => true,
|
||||
);
|
||||
}
|
||||
|
||||
if ($this->tabAccess['edit'] === 1) {
|
||||
if (((int) $order->isReturnable())
|
||||
@@ -3215,8 +3218,9 @@ class AdminOrdersControllerCore extends AdminController
|
||||
if (!Validate::isLoadedObject($order = new Order(Tools::getValue('id_order')))) {
|
||||
return;
|
||||
}
|
||||
|
||||
$this->content .= $this->renderKpis();
|
||||
if ($this->tabAccess['kpi'] === 1) {
|
||||
$this->content .= $this->renderKpis();
|
||||
}
|
||||
|
||||
$customer = new Customer($order->id_customer);
|
||||
$carrier = new Carrier($order->id_carrier);
|
||||
|
||||
@@ -64,6 +64,15 @@ class AdminPdfControllerCore extends AdminController
|
||||
}
|
||||
}
|
||||
|
||||
public function processGenerateBookingVoucherPDF()
|
||||
{
|
||||
if (Tools::isSubmit('id_order')) {
|
||||
$this->generateBookingVoucherPDFByIdOrder(Tools::getValue('id_order'));
|
||||
} else {
|
||||
die(Tools::displayError('The order ID is missing.'));
|
||||
}
|
||||
}
|
||||
|
||||
public function processGenerateOrderSlipPDF()
|
||||
{
|
||||
$order_slip = new OrderSlip((int)Tools::getValue('id_order_slip'));
|
||||
@@ -225,6 +234,23 @@ class AdminPdfControllerCore extends AdminController
|
||||
$this->generatePDF($order_invoice, PDF::TEMPLATE_INVOICE);
|
||||
}
|
||||
|
||||
public function generateBookingVoucherPDFByIdOrder($id_order)
|
||||
{
|
||||
$order = new Order((int)$id_order);
|
||||
if (!Validate::isLoadedObject($order)) {
|
||||
die(Tools::displayError('The order cannot be found within your database.'));
|
||||
}
|
||||
|
||||
$objHotelBookingDetail = new HotelBookingDetail();
|
||||
$bookingDetails = $objHotelBookingDetail->getBookingDataByOrderId((int)$order->id);
|
||||
if (empty($bookingDetails)) {
|
||||
die(Tools::displayError('No booking voucher is available for this order.'));
|
||||
}
|
||||
|
||||
$pdf = new PDF($order, PDF::TEMPLATE_BOOKING_VOUCHER, Context::getContext()->smarty);
|
||||
$pdf->render('I');
|
||||
}
|
||||
|
||||
public function generatePDF($object, $template)
|
||||
{
|
||||
$pdf = new PDF($object, $template, Context::getContext()->smarty);
|
||||
|
||||
@@ -201,8 +201,8 @@ class OrderConfirmationControllerCore extends FrontController
|
||||
//// By webkul New way to calculate product prices with feature Prices
|
||||
$cart_htl_data[$type_key]['date_diff'][$date_join]['paid_unit_price_tax_excl'] = $data_v['total_price_tax_excl']/$num_days;
|
||||
$cart_htl_data[$type_key]['date_diff'][$date_join]['paid_unit_price_tax_incl'] = $data_v['total_price_tax_incl']/$num_days;
|
||||
$cart_htl_data[$type_key]['date_diff'][$date_join]['amount_tax_incl'] = $data_v['total_price_tax_incl']*$var_quant;
|
||||
$cart_htl_data[$type_key]['date_diff'][$date_join]['amount_tax_excl'] = $data_v['total_price_tax_excl']*$var_quant;
|
||||
$cart_htl_data[$type_key]['date_diff'][$date_join]['amount_tax_incl'] += $data_v['total_price_tax_incl'];
|
||||
$cart_htl_data[$type_key]['date_diff'][$date_join]['amount_tax_excl'] += $data_v['total_price_tax_excl'];
|
||||
$cart_htl_data[$type_key]['date_diff'][$date_join]['is_backorder'] = $data_v['is_back_order'];
|
||||
if ($data_v['is_back_order']) {
|
||||
$any_back_order = 1;
|
||||
|
||||
70
controllers/front/PdfBookingVoucherController.php
Normal file
70
controllers/front/PdfBookingVoucherController.php
Normal file
@@ -0,0 +1,70 @@
|
||||
<?php
|
||||
/**
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Open Software License version 3.0
|
||||
* that is bundled with this package in the file LICENSE.md
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* https://opensource.org/license/osl-3.0-php
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to support@qloapps.com so we can send you a copy immediately.
|
||||
*
|
||||
* DISCLAIMER
|
||||
*
|
||||
* Do not edit or add to this file if you wish to upgrade this module to a newer
|
||||
* versions in the future. If you wish to customize this module for your needs
|
||||
* please refer to https://store.webkul.com/customisation-guidelines for more information.
|
||||
*
|
||||
* @author Webkul IN
|
||||
* @copyright Since 2010 Webkul
|
||||
* @license https://opensource.org/license/osl-3.0-php Open Software License version 3.0
|
||||
*/
|
||||
|
||||
/**
|
||||
* Serves the Booking Voucher PDF for a customer's own order.
|
||||
*/
|
||||
class PdfBookingVoucherControllerCore extends FrontController
|
||||
{
|
||||
public $php_self = 'pdf-booking-voucher';
|
||||
protected $display_header = false;
|
||||
protected $display_footer = false;
|
||||
public $content_only = true;
|
||||
|
||||
/** @var Order */
|
||||
protected $order;
|
||||
|
||||
public function postProcess()
|
||||
{
|
||||
if (!$this->context->customer->isLogged() && !Tools::getValue('secure_key')) {
|
||||
Tools::redirect('index.php?controller=authentication&back=pdf-booking-voucher');
|
||||
}
|
||||
|
||||
$idOrder = (int)Tools::getValue('id_order');
|
||||
if (!Validate::isUnsignedId($idOrder)) {
|
||||
die(Tools::displayError('The booking voucher was not found.'));
|
||||
}
|
||||
|
||||
$order = new Order($idOrder);
|
||||
if (!Validate::isLoadedObject($order)) {
|
||||
die(Tools::displayError('The booking voucher was not found.'));
|
||||
}
|
||||
|
||||
$secureKey = Tools::getValue('secure_key');
|
||||
if ($secureKey) {
|
||||
if ($order->secure_key !== $secureKey) {
|
||||
die(Tools::displayError('The booking voucher was not found.'));
|
||||
}
|
||||
} elseif ($order->id_customer != (int)$this->context->customer->id) {
|
||||
die(Tools::displayError('The booking voucher was not found.'));
|
||||
}
|
||||
|
||||
$this->order = $order;
|
||||
}
|
||||
|
||||
public function display()
|
||||
{
|
||||
$pdf = new PDF($this->order, PDF::TEMPLATE_BOOKING_VOUCHER, $this->context->smarty);
|
||||
$pdf->render();
|
||||
}
|
||||
}
|
||||
@@ -8,6 +8,7 @@ CREATE TABLE `PREFIX_access` (
|
||||
`add` int(11) NOT NULL,
|
||||
`edit` int(11) NOT NULL,
|
||||
`delete` int(11) NOT NULL,
|
||||
`kpi` int(11) NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`id_profile`,`id_tab`)
|
||||
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8 COLLATION;
|
||||
|
||||
|
||||
@@ -68,10 +68,10 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:uppercase;line-height:33px">Hi {firstname} {lastname},</span><br/>
|
||||
<span class="subtitle" style="font-weight:500;font-size:16px;text-transform:uppercase;line-height:25px">Thank you for creating a customer account at {shop_name}.</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -83,14 +83,14 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">
|
||||
Your {shop_name} login details </p>
|
||||
<span style="color:#777">
|
||||
Here are your login details:<br />
|
||||
<span style="color:#333"><strong>E-mail address: <a href="mailto:{email}" style="color:#337ff1">{email}</a></strong></span><br />
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
@@ -106,7 +106,7 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">Important Security Tips:</p>
|
||||
<ol style="margin-bottom:0">
|
||||
<li>Always keep your account details safe.</li>
|
||||
@@ -114,7 +114,7 @@
|
||||
<li>Change your password regularly.</li>
|
||||
<li>Should you suspect someone is using your account illegally, please notify us immediately.</li>
|
||||
</ol>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
@@ -126,9 +126,9 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>You can now place orders on our website: <a href="{shop_url}" target="_blank" style="color:#337ff1">{shop_name}</a></span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
||||
@@ -69,10 +69,10 @@
|
||||
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:uppercase;line-height:33px">Hi {firstname} {lastname},</span><br/>
|
||||
<span class="subtitle" style="font-weight:500;font-size:16px;text-transform:uppercase;line-height:25px">{order_header_line_html}</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -84,13 +84,13 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">
|
||||
Order {order_name} - Awaiting payment
|
||||
</p>
|
||||
<span style="color:#333"><strong>Order reference:</strong></span> {order_name}<br />
|
||||
<span style="color:#333"><strong>Payment method:</strong></span> {payment_method}<br />
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
@@ -103,18 +103,18 @@
|
||||
{extra_mail_content_html}
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>
|
||||
You can review your order and download your invoice from the <a href="{history_url}" target="_blank" style="color:#337ff1">"Order history"</a> section of your customer account by clicking <a href="{my_account_url}" target="_blank" style="color:#337ff1">"My account"</a> on our website. </span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>
|
||||
If you have a guest account, you can follow your order via the <a href="{guest_tracking_url}?id_order={order_name}" target="_blank" style="color:#337ff1">"Guest Tracking"</a> section on our website. </span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
@@ -69,9 +69,9 @@
|
||||
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:uppercase;line-height:33px">Hi {firstname} {lastname},</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -83,12 +83,12 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">
|
||||
A new order has been generated on your behalf. </p>
|
||||
<span style="color:#777">
|
||||
Please go on <a href="{order_link}" target="_blank" style="color:#337ff1">{order_link}</a> to finalize the payment. </span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
|
||||
@@ -23,22 +23,22 @@
|
||||
<tr>
|
||||
{if $smarty.foreach.demandRow.first}
|
||||
<td rowspan="{$roomDemand['extra_demands']|count}">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
{$data_v['name']}<br>
|
||||
{$rm_v['data_form']|date_format:"%d-%m-%Y"} {l s='to'} {$rm_v['data_to']|date_format:"%d-%m-%Y"}<br>
|
||||
<strong>{l s='Room'} - {$roomCount}</strong>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
{/if}
|
||||
<td>
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
{$demand['name']}
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td>
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
{convertPrice price=$demand['total_price_tax_excl']}
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
@@ -81,31 +81,31 @@
|
||||
<tr>
|
||||
{if $smarty.foreach.serviceRow.first}
|
||||
<td rowspan="{$roomService['additional_services']|count}">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
{$data_v['name']}<br>
|
||||
{$rm_v['data_form']|date_format:"%d-%m-%Y"} {l s='to'} {$rm_v['data_to']|date_format:"%d-%m-%Y"}<br>
|
||||
<strong>{l s='Room'} - {$roomCount}</strong>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
{/if}
|
||||
<td>
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
{$service['name']}
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td>
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
{if $service['allow_multiple_quantity']}
|
||||
{$service['quantity']}
|
||||
{else}
|
||||
{l s='--'}
|
||||
{/if}
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td>
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
{convertPrice price=$service['total_price_tax_excl']}
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
|
||||
@@ -13,22 +13,22 @@
|
||||
{foreach name=demandRow from=$roomDemand['extra_demands'] item=demand}
|
||||
{if $smarty.foreach.demandRow.first}
|
||||
<td class="text-center" rowspan="{$roomDemand['extra_demands']|count}">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
{$data_v['name']}<br>
|
||||
{$rm_v['data_form']|date_format:"%d-%m-%Y"} {l s='to'} {$rm_v['data_to']|date_format:"%d-%m-%Y"}<br>
|
||||
<strong>{l s='Room'} - {$roomCount}</strong>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
{/if}
|
||||
<td class="text-center">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
{$demand['name']}
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td class="text-center">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
{convertPrice price=$demand['total_price_tax_excl']}
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
|
||||
@@ -68,9 +68,9 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:uppercase;line-height:33px">Message from a {shop_name} customer</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -82,11 +82,11 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span style="color:#777">
|
||||
{contact_content_html}
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
|
||||
@@ -69,9 +69,9 @@
|
||||
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:uppercase;line-height:33px">Your message to {shop_name} Customer Service</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -83,7 +83,7 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span style="color:#777">
|
||||
Your message has been sent successfully.<br /><br />
|
||||
<span style="color:#333"><strong>Message:</strong></span> {message}<br /><br />
|
||||
@@ -91,7 +91,7 @@
|
||||
<span style="color:#333"><strong>Product:</strong></span> {product_name}<br />
|
||||
<span style="color:#333"><strong>Attached file:</strong></span> {attached_file}
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
@@ -103,10 +103,10 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>
|
||||
We will answer as soon as possible. </span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
@@ -69,9 +69,9 @@
|
||||
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:uppercase;line-height:33px">Hi {firstname} {lastname},</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -83,12 +83,12 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">
|
||||
Order {order_name} - Credit slip created </p>
|
||||
<span style="color:#777">
|
||||
We have generated a credit slip in your name for order with the reference <span style="color:#333"><strong>{order_name}</strong></span>. </span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
@@ -100,10 +100,10 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>
|
||||
You can review this credit slip and download your invoice from the <a href="{credit_slip_url}" target="_blank" style="color:#337ff1">"My credit slips"</a> section of your account by clicking <a href="{my_account_url}" target="_blank" style="color:#337ff1">"My account"</a> on our website. </span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
@@ -71,9 +71,9 @@
|
||||
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:capitalize;line-height:33px">Hi {firstname} {lastname},</span><br/>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -85,7 +85,7 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">
|
||||
VOUCHER GENERATED
|
||||
</p>
|
||||
@@ -95,7 +95,7 @@
|
||||
<span style="color:#333"><strong>Voucher Code: <span>{voucher_code}</span></strong></span> for an amount of <span style="color:#333"><strong>{voucher_amount}.</strong></span><br /><br />
|
||||
To use this voucher just copy and paste this code during payment process for your next order.
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
|
||||
@@ -69,10 +69,10 @@
|
||||
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:uppercase;line-height:33px">Hi {firstname} {lastname},</span><br/>
|
||||
<span class="subtitle" style="font-weight:500;font-size:16px;text-transform:uppercase;line-height:25px">Thank you for your order with the reference {order_name} from <strong>{shop_name}</strong></span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -84,14 +84,14 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">
|
||||
Product(s) now available for download </p>
|
||||
<span style="color:#777">
|
||||
You have <span style="color:#333"><strong>{nbProducts}</strong></span> product(s) now available for download using the following link(s):<br/><br/>
|
||||
{virtualProducts}
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
@@ -103,18 +103,18 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>
|
||||
You can review your order and download your invoice from the <a href="{history_url}" target="_blank" style="color:#337ff1">"Order history"</a> section of your customer account by clicking <a href="{my_account_url}" target="_blank" style="color:#337ff1">"My account"</a> on our website. </span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>
|
||||
If you have a guest account, you can follow your order via the <a href="{guest_tracking_url}?id_order={order_name}" target="_blank" style="color:#337ff1">"Guest Tracking"</a> section on our website. </span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
@@ -69,9 +69,9 @@
|
||||
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:uppercase;line-height:33px">Hi {firstname} {lastname},</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -83,7 +83,7 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">
|
||||
Your {shop_name} login information </p>
|
||||
<span style="color:#777">
|
||||
@@ -93,7 +93,7 @@
|
||||
<span style="color:#333"><strong>Password:</strong></span> {passwd}<br />
|
||||
<span style="color:#333"><strong>E-mail address:</strong></span> {email}
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
|
||||
@@ -69,9 +69,9 @@
|
||||
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:uppercase;line-height:33px">Hi {firstname} {lastname},</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -83,7 +83,7 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">
|
||||
Customer service - Forwarded discussion </p>
|
||||
<span style="color:#777">
|
||||
@@ -91,7 +91,7 @@
|
||||
<span style="color:#333"><strong>Discussion history:</strong></span> {messages}<br /><br />
|
||||
<span style="color:#333"><strong>{employee}</strong></span> added <span style="color:#333"><strong>"{comment}"</strong></span>
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
|
||||
@@ -69,9 +69,9 @@
|
||||
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:uppercase;line-height:33px">Hi {firstname} {lastname},</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -83,7 +83,7 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">
|
||||
Your customer account creation </p>
|
||||
<span style="color:#777">
|
||||
@@ -91,7 +91,7 @@
|
||||
<span style="color:#333"><strong>E-mail address:</strong></span> {email}<br /><br />
|
||||
<span style="color:#333"><strong>Password:</strong></span> {passwd}
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
@@ -103,19 +103,19 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>
|
||||
Please be careful when sharing these login details with others. </span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>
|
||||
You can access your customer account on our website: <strong>{shop_url}</strong>
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
@@ -69,9 +69,9 @@
|
||||
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:uppercase;line-height:33px">Hi {firstname} {lastname},</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -83,14 +83,14 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">
|
||||
Order {order_name} - In transit </p>
|
||||
<span style="color:#777">
|
||||
Your order with the reference <span style="color:#333"><strong>{order_name}</strong></span> is currently in transit. <br /><br />
|
||||
You can track your package using the following link: <a href="{followup}" target="_blank" style="color:#337ff1">{followup}</a>
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
@@ -102,18 +102,18 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>
|
||||
You can review your order and download your invoice from the <a href="{history_url}" target="_blank" style="color:#337ff1">"Order history"</a> section of your customer account by clicking <a href="{my_account_url}" target="_blank" style="color:#337ff1">"My account"</a> on our website. </span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>
|
||||
If you have a guest account, you can follow your order via the <a href="{guest_tracking_url}?id_order={order_name}" target="_blank" style="color:#337ff1">"Guest Tracking"</a> section on our website. </span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
@@ -69,9 +69,9 @@
|
||||
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:uppercase;line-height:33px">Hi {firstname} {lastname},</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -83,13 +83,13 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">
|
||||
You have received a new log alert </p>
|
||||
<span style="color:#777">
|
||||
<span style="color:#333"><strong>Warning:</strong></span> you have received a new log alert in your Back Office.<br /><br />
|
||||
You can check for it in the <span style="color:#333"><strong>"Tools" > "Logs"</strong></span> section of your Back Office. </span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
|
||||
@@ -69,9 +69,9 @@
|
||||
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:uppercase;line-height:33px">Hi {firstname} {lastname},</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -83,12 +83,12 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">
|
||||
Order canceled - <a href="{history_url}" target="_blank" style="color:#337ff1">{order_name}</a>
|
||||
</p>
|
||||
<span style="color:#777">Your order with the reference <span style="color:#333"><strong>{order_name}</strong></span> has been canceled.</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
@@ -104,7 +104,7 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="margin:3px 0 0px;font-weight:500;font-size:18px;padding-bottom: 10px;">
|
||||
Here are your order details:
|
||||
</p>
|
||||
@@ -112,7 +112,7 @@
|
||||
<span style="color:#333"><strong>Order reference:</strong></span> {order_name}<br />
|
||||
<span style="color:#333"><strong>Order total:</strong></span> {total_paid}<br />
|
||||
</p>
|
||||
</font>
|
||||
</span>
|
||||
<br/>
|
||||
{order_hotel_detail_html}
|
||||
</td>
|
||||
@@ -127,18 +127,18 @@
|
||||
{extra_mail_content_html}
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>
|
||||
You can review your order and download your invoice from the <a href="{history_url}" target="_blank" style="color:#337ff1">"Order history"</a> section of your customer account by clicking <a href="{my_account_url}" target="_blank" style="color:#337ff1">"My account"</a> on our website. </span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>
|
||||
If you have a guest account, you can follow your order via the <a href="{guest_tracking_url}?id_order={order_name}" target="_blank" style="color:#337ff1">"Guest Tracking"</a> section on our website. </span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
@@ -69,9 +69,9 @@
|
||||
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:uppercase;line-height:33px">Hi {firstname} {lastname},</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -83,12 +83,12 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">
|
||||
Order {order_name} - Order changed </p>
|
||||
<span style="color:#777">
|
||||
Your order with the reference <span style="color:#333"><strong>{order_name}</strong></span> from <span style="color:#333"><strong>{hotel_hotel_name}</strong></span> has been changed by the merchant. </span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
@@ -100,18 +100,18 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>
|
||||
You can review your order and download your invoice from the <a href="{history_url}" target="_blank" style="color:#337ff1">"Order history"</a> section of your customer account by clicking <a href="{my_account_url}" target="_blank" style="color:#337ff1">"My account"</a> on our website. </span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>
|
||||
If you have a guest account, you can follow your order via the <a href="{guest_tracking_url}?id_order={order_name}" target="_blank" style="color:#337ff1">"Guest Tracking"</a> section on our website. </span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
@@ -71,10 +71,10 @@
|
||||
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:uppercase;line-height:33px">Hi {firstname} {lastname},</span><br/>
|
||||
<span class="subtitle" style="font-weight:500;font-size:16px;text-transform:uppercase;line-height:25px">{order_header_line_html}</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -86,14 +86,14 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">
|
||||
Order details </p>
|
||||
<span style="color:#777">
|
||||
<span style="color:#333"><strong>Order:</strong></span> {order_name} Placed on {date}<br /><br />
|
||||
<span style="color:#333"><strong>Payment:</strong></span> {payment}
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
@@ -123,18 +123,18 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>
|
||||
You can review your order and download your invoice from the <a href="{history_url}" target="_blank" style="color:#337ff1">"Order history"</a> section of your customer account by clicking <a href="{my_account_url}" target="_blank" style="color:#337ff1">"My account"</a> on our website. </span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>
|
||||
If you have a guest account, you can follow your order via the <a href="{guest_tracking_url}?id_order={order_name}" target="_blank" style="color:#337ff1">"Guest Tracking"</a> section on our website.</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
@@ -70,10 +70,10 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:uppercase;line-height:33px">Hi {firstname} {lastname},</span><br/>
|
||||
<span class="subtitle" style="font-weight:500;font-size:16px;text-transform:uppercase;line-height:25px">{order_header_line_html}</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -85,14 +85,14 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">
|
||||
Customer details </p>
|
||||
<span style="color:#777">
|
||||
<span style="color:#333"><strong>Name:</strong></span> {customer_name}<br /><br />
|
||||
<span style="color:#333"><strong>Email:</strong></span> {customer_email}
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
@@ -108,14 +108,14 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">
|
||||
Order details </p>
|
||||
<span style="color:#777">
|
||||
<span style="color:#333"><strong>Order:</strong></span> {order_name} Placed on {date}<br /><br />
|
||||
<span style="color:#333"><strong>Payment:</strong></span> {payment}
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
|
||||
@@ -5,9 +5,9 @@
|
||||
<tr>
|
||||
<td width="10" style="color:#333;padding:0"></td>
|
||||
<td align="right" style="color:#333;padding:0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<strong>{$cart_rule['voucher_name']}</strong>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="color:#333;padding:0"></td>
|
||||
</tr>
|
||||
@@ -18,9 +18,9 @@
|
||||
<tr>
|
||||
<td width="10" style="color:#333;padding:0"></td>
|
||||
<td align="right" style="color:#333;padding:0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
{$cart_rule['voucher_reduction']}
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="color:#333;padding:0"></td>
|
||||
</tr>
|
||||
|
||||
@@ -5,9 +5,9 @@
|
||||
<tr>
|
||||
<td width="10"> </td>
|
||||
<td>
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
{$product['reference']}
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10"> </td>
|
||||
</tr>
|
||||
@@ -18,9 +18,9 @@
|
||||
<tr>
|
||||
<td width="10"> </td>
|
||||
<td>
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<strong>{$product['name']}</strong>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10"> </td>
|
||||
</tr>
|
||||
@@ -31,9 +31,9 @@
|
||||
<tr>
|
||||
<td width="10"> </td>
|
||||
<td align="right">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
{$product['unit_price']}
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10"> </td>
|
||||
</tr>
|
||||
@@ -44,9 +44,9 @@
|
||||
<tr>
|
||||
<td width="10"> </td>
|
||||
<td align="right">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
{$product['quantity']}
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10"> </td>
|
||||
</tr>
|
||||
@@ -57,9 +57,9 @@
|
||||
<tr>
|
||||
<td width="10"> </td>
|
||||
<td align="right">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
{$product['price']}
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10"> </td>
|
||||
</tr>
|
||||
@@ -73,10 +73,10 @@
|
||||
<tr>
|
||||
<td width="10"> </td>
|
||||
<td>
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<strong>{$product['name']}</strong><br>
|
||||
{$customization['customization_text']}
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10"> </td>
|
||||
</tr>
|
||||
@@ -87,9 +87,9 @@
|
||||
<tr>
|
||||
<td width="10"> </td>
|
||||
<td align="right">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
{$product['unit_price']}
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10"> </td>
|
||||
</tr>
|
||||
@@ -100,9 +100,9 @@
|
||||
<tr>
|
||||
<td width="10"> </td>
|
||||
<td align="right">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
{$customization['customization_quantity']}
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10"> </td>
|
||||
</tr>
|
||||
@@ -113,9 +113,9 @@
|
||||
<tr>
|
||||
<td width="10"> </td>
|
||||
<td align="right">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
{$customization['quantity']}
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10"> </td>
|
||||
</tr>
|
||||
|
||||
@@ -68,9 +68,9 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:uppercase;line-height:33px">Message from a customer</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -82,14 +82,14 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span style="color:#777">
|
||||
You have received a new message regarding booking with the reference <span style="color:#333"><strong>{order_name}</strong></span>.<br /><br />
|
||||
<span style="color:#333"><strong>Name:</strong></span> {firstname} {lastname} <br /><br />
|
||||
<span style="color:#333"><strong>E-mail: <a href="mailto:{email}" style="color:#337ff1">{email}</a></strong></span><br /><br />
|
||||
<span style="color:#333"><strong>Customer message:</strong></span><br />{message}<br/><br />
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{if isset($list['hotel_name']) && $list['hotel_name']}
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<div style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="margin:3px 0 0px;font-weight:500;font-size:18px;padding-bottom: 10px;">
|
||||
{l s='Hotel details'}:
|
||||
</p>
|
||||
@@ -9,5 +9,5 @@
|
||||
<span style="color:#333"><strong>{l s='Hotel Email'}:</strong></span> {$list['hotel_email']}<br />
|
||||
<span style="color:#333"><strong>{l s='Total Rooms'}:</strong></span> {$list['num_rooms']}<br />
|
||||
</p>
|
||||
</font>
|
||||
</div>
|
||||
{/if}
|
||||
@@ -68,9 +68,9 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:uppercase;line-height:33px">Hi {firstname} {lastname},</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -82,7 +82,7 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">
|
||||
Message from {shop_name}
|
||||
</p>
|
||||
@@ -90,7 +90,7 @@
|
||||
You have received a new message from <span style="color:#333"><strong>{shop_name}</strong></span> regarding booking with the reference <span style="color:#333"><strong>{order_name}</strong></span>.<br /><br />
|
||||
<span style="color:#333"><strong>Message:</strong></span><br>{message}
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
|
||||
@@ -71,10 +71,10 @@
|
||||
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:capitalize;line-height:33px">Hi {firstname} {lastname},</span><br/>
|
||||
<span class="subtitle" style="font-weight:500;font-size:16px;line-height:25px">A request has been completed for the {refund_for_txt} cancellation.</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -87,7 +87,7 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:16px;padding-bottom:10px">Order details</p>
|
||||
<span style="color:#777">
|
||||
<span style="color:#333"><strong>Order:</strong></span> {order_reference} Placed on {order_date}<br /><br />
|
||||
@@ -96,7 +96,7 @@
|
||||
<span style="color:#333"><strong>Payment Mode:</strong></span> {payment_mode}<br /><br />
|
||||
<span style="color:#333"><strong>Transaction Id:</strong></span> {id_transaction}<br /><br />
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
@@ -119,12 +119,12 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:16px;padding-bottom:10px">Customer details</p>
|
||||
<span style="color:#777">
|
||||
<span style="color:#333"><strong>Customer name:</strong></span> {customer_name}<br /><br />
|
||||
<span style="color:#333"><strong>Customer email:</strong></span> {customer_email}<br /><br />
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
|
||||
@@ -71,10 +71,10 @@
|
||||
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:capitalize;line-height:33px">Hi {firstname} {lastname},</span><br/>
|
||||
<span class="subtitle" style="font-weight:500;font-size:16px;line-height:25px">Your request for {refund_for_txt} cancellation has been completed.</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -86,7 +86,7 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:16px;padding-bottom:10px">Order details</p>
|
||||
<span style="color:#777">
|
||||
<span style="color:#333"><strong>Order:</strong></span> {order_reference} Placed on {order_date}<br /><br />
|
||||
@@ -95,7 +95,7 @@
|
||||
<span style="color:#333"><strong>Payment Mode:</strong></span> {payment_mode}<br /><br />
|
||||
<span style="color:#333"><strong>Transaction Id:</strong></span> {id_transaction}<br /><br />
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
@@ -117,10 +117,10 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>
|
||||
You can review your booking cancelation requests from the <a href="{refund_reqests_url}" target="_blank" style="color:#337ff1">"Booking Refund Requests"</a> section of your customer account by clicking <a href="{my_account_url}" target="_blank" style="color:#337ff1">"My account"</a>.</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
@@ -71,10 +71,10 @@
|
||||
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:capitalize;line-height:33px">Hi {firstname} {lastname},</span><br/>
|
||||
<span class="subtitle" style="font-weight:500;font-size:16px;line-height:25px">A request has been denied for the {refund_for_txt} cancellation.</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -87,13 +87,13 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:16px;padding-bottom:10px">Order details</p>
|
||||
<span style="color:#777">
|
||||
<span style="color:#333"><strong>Order:</strong></span> {order_reference} Placed on {order_date}<br /><br />
|
||||
<span style="color:#333"><strong>Refund Status:</strong></span> <span style="border-radius: 2px;color:#FFFFFF;font-weight:600;padding:5px 10px;background-color:{status_color}">{status_name}</span><br /><br />
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
@@ -116,12 +116,12 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:16px;padding-bottom:10px">Customer details</p>
|
||||
<span style="color:#777">
|
||||
<span style="color:#333"><strong>Customer name:</strong></span> {customer_name}<br /><br />
|
||||
<span style="color:#333"><strong>Customer email:</strong></span> {customer_email}<br /><br />
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
|
||||
@@ -71,10 +71,10 @@
|
||||
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:capitalize;line-height:33px">Hi {firstname} {lastname},</span><br/>
|
||||
<span class="subtitle" style="font-weight:500;font-size:16px;line-height:25px">Your request for {refund_for_txt} cancellation has been denied.</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -86,13 +86,13 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:16px;padding-bottom:10px">Order details</p>
|
||||
<span style="color:#777">
|
||||
<span style="color:#333"><strong>Order:</strong></span> {order_reference} Placed on {order_date}<br /><br />
|
||||
<span style="color:#333"><strong>Refund Status:</strong></span> <span style="border-radius: 2px;color:#FFFFFF;font-weight:600;padding:5px 10px;background-color:{status_color}">{status_name}</span><br /><br />
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
@@ -114,10 +114,10 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>
|
||||
You can review your booking cancelation requests from the <a href="{refund_reqests_url}" target="_blank" style="color:#337ff1">"Booking Refund Requests"</a> section of your customer account by clicking <a href="{my_account_url}" target="_blank" style="color:#337ff1">"My account"</a>.</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
@@ -71,10 +71,10 @@
|
||||
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:capitalize;line-height:33px">Hi {firstname} {lastname},</span><br/>
|
||||
<span class="subtitle" style="font-weight:500;font-size:16px;line-height:25px">A request has been generated for {refund_for_txt} cancellations.</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -87,14 +87,14 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:16px;padding-bottom:10px">Order details</p>
|
||||
<span style="color:#777">
|
||||
<span style="color:#333"><strong>Order:</strong></span> {order_reference} Placed on {order_date}<br /><br />
|
||||
<span style="color:#333"><strong>Refund Status:</strong></span> <span style="border-radius: 2px;color:#FFFFFF;font-weight:600;padding:5px 10px;background-color:{status_color}">{status_name}</span><br /><br />
|
||||
<span style="color:#333"><strong>Cancelation Reason:</strong></span> {cancelation_reason}<br /><br />
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
@@ -117,12 +117,12 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:16px;padding-bottom:10px">Customer details</p>
|
||||
<span style="color:#777">
|
||||
<span style="color:#333"><strong>Customer name:</strong></span> {customer_name}<br /><br />
|
||||
<span style="color:#333"><strong>Customer email:</strong></span> {customer_email}<br /><br />
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
|
||||
@@ -71,10 +71,10 @@
|
||||
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:capitalize;line-height:33px">Hi {firstname} {lastname},</span><br/>
|
||||
<span class="subtitle" style="font-weight:500;font-size:16px;line-height:25px">Your request for {refund_for_txt} cancellation has been submitted successfully.</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -86,13 +86,13 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:16px;padding-bottom:10px">Order details</p>
|
||||
<span style="color:#777">
|
||||
<span style="color:#333"><strong>Order:</strong></span> {order_reference} Placed on {order_date}<br /><br />
|
||||
<span style="color:#333"><strong>Refund Status:</strong></span> <span style="border-radius: 2px;color:#FFFFFF;font-weight:600;padding:5px 10px;background-color:{status_color}">{status_name}</span><br /><br />
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
@@ -114,10 +114,10 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>
|
||||
You can review your booking cancelation requests from the <a href="{refund_reqests_url}" target="_blank" style="color:#337ff1">"Booking Refund Requests"</a> section of your customer account by clicking <a href="{my_account_url}" target="_blank" style="color:#337ff1">"My account"</a>.</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
@@ -69,9 +69,9 @@
|
||||
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:uppercase;line-height:33px">Hi {firstname} {lastname},</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -83,13 +83,13 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">
|
||||
Return #{id_order_return} - update </p>
|
||||
<span style="color:#777">
|
||||
We have updated the progress on your return #{id_order_return}, the new status is: <span style="color:#333"><strong>"{state_order_return}"</strong></span><br />
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
@@ -102,10 +102,10 @@
|
||||
{extra_mail_content_html}
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>
|
||||
You can review your order and download your invoice from the <a href="{history_url}" target="_blank" style="color:#337ff1">"Order history"</a> section of your customer account by clicking <a href="{my_account_url}" target="_blank" style="color:#337ff1">"My account"</a> on our website. </span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
@@ -71,12 +71,12 @@
|
||||
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:uppercase;line-height:33px">Hi {firstname} {lastname},</span><br/><br/>
|
||||
<span class="subtitle" style="font-weight:500;font-size:16px;line-height:25px">Thank you for booking with <strong>{hotel_hotel_name}</strong>!</span><br/><br/>
|
||||
<span class="subtitle" style="font-weight:600;font-size:16px;line-height:25px">Bookings in this order are Not Confirmed yet !!</span><br/>
|
||||
<span class="subtitle" style="font-weight:500;font-size:14px;line-height:25px">We are sorry for your inconvenience. Please contact hotel to get final confirmation for your bookings.</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -88,14 +88,14 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">Order details</p>
|
||||
<span style="color:#777">
|
||||
<span style="color:#333"><strong>Order:</strong></span> {order_name} Placed on {date}<br /><br />
|
||||
<span style="color:#333"><strong>Payment:</strong></span> {payment}<br /><br />
|
||||
<span style="color:#333"><strong>Status:</strong></span> <span style="background-color: {order_status_color}; color: #FFF; padding: 5px 10px; border-radius: 2px; font-weight: 600;">{order_status}</span>
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
@@ -127,18 +127,18 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>
|
||||
You can review your order and download your invoice from the <a href="{history_url}" target="_blank" style="color:#337ff1">"Order history"</a> section of your customer account by clicking <a href="{my_account_url}" target="_blank" style="color:#337ff1">"My account"</a> on our shop. </span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>
|
||||
If you have a guest account, you can follow your order via the <a href="{guest_tracking_url}?id_order={order_name}" target="_blank" style="color:#337ff1">"Guest Tracking"</a> section on our shop.</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
@@ -70,12 +70,12 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:uppercase;line-height:33px">Hi {firstname} {lastname},</span><br/><br/>
|
||||
<span class="subtitle" style="font-weight:500;font-size:16px;line-height:25px">New bookings are created on <strong>{hotel_hotel_name}</strong>!</span><br/><br/>
|
||||
<span class="subtitle" style="font-weight:600;font-size:16px;line-height:25px">Bookings in this order have Overbookings !!</span><br/>
|
||||
<span class="subtitle" style="font-weight:500;font-size:14px;line-height:25px">This order is not confirmed yet. Please check the order details to resolve overbookings.</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -87,14 +87,14 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">
|
||||
Customer details </p>
|
||||
<span style="color:#777">
|
||||
<span style="color:#333"><strong>Name:</strong></span> {customer_name}<br /><br />
|
||||
<span style="color:#333"><strong>Email:</strong></span> {customer_email}
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
@@ -110,7 +110,7 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">
|
||||
Order details </p>
|
||||
<span style="color:#777">
|
||||
@@ -118,7 +118,7 @@
|
||||
<span style="color:#333"><strong>Payment:</strong></span> {payment}<br /><br />
|
||||
<span style="color:#333"><strong>Status:</strong></span> <span style="background-color: {order_status_color}; color: #FFF; padding: 5px 10px; border-radius: 2px; font-weight: 600;">{order_status}</span>
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
|
||||
@@ -69,10 +69,10 @@
|
||||
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:uppercase;line-height:33px">Hi {firstname} {lastname},</span><br/>
|
||||
<span class="subtitle" style="font-weight:500;font-size:16px;text-transform:uppercase;line-height:25px">{order_header_line_html}</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -84,7 +84,7 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">
|
||||
Order {order_name} - Payment processed </p>
|
||||
<span style="color:#777">
|
||||
@@ -93,7 +93,7 @@
|
||||
<span style="color:#333"><strong>Total Booking Amount:</strong></span> {total_paid}<br /><br />
|
||||
<span style="color:#333"><strong>Partial Payment Amount:</strong></span> {advance_paid_amount}<br /><br />
|
||||
<span style="color:#333"><strong>Total Paid Amount:</strong></span> {total_paid_real}<br /><br />
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
@@ -106,18 +106,18 @@
|
||||
{extra_mail_content_html}
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>
|
||||
You can review your order and download your invoice from the <a href="{history_url}" target="_blank" style="color:#337ff1">"Order history"</a> section of your customer account by clicking <a href="{my_account_url}" target="_blank" style="color:#337ff1">"My account"</a> on our website. </span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>
|
||||
If you have a guest account, you can follow your order via the <a href="{guest_tracking_url}?id_order={order_name}" target="_blank" style="color:#337ff1">"Guest Tracking"</a> section on our website. </span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
@@ -69,9 +69,9 @@
|
||||
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:uppercase;line-height:33px">Hi {firstname} {lastname},</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -83,14 +83,14 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">
|
||||
Your new {shop_name} login details </p>
|
||||
<span style="color:#777">
|
||||
<span style="color:#333"><strong>E-mail address:</strong></span> {email}<br/>
|
||||
<span style="color:#333"><strong>Password:</strong></span> {passwd}
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
@@ -102,18 +102,18 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>
|
||||
You can review your order and download your invoice from the <a href="{history_url}" target="_blank" style="color:#337ff1">"Order history"</a> section of your customer account by clicking <a href="{my_account_url}" target="_blank" style="color:#337ff1">"My account"</a> on our website. </span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>
|
||||
If you have a guest account, you can follow your order via the <a href="{guest_tracking_url}" target="_blank" style="color:#337ff1">"Guest Tracking"</a> section on our website. </span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
@@ -69,9 +69,9 @@
|
||||
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:uppercase;line-height:33px">Hi {firstname} {lastname},</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -83,7 +83,7 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">
|
||||
Password reset request for {shop_name} </p>
|
||||
<span style="color:#777">
|
||||
@@ -91,7 +91,7 @@
|
||||
Please note that this will change your current password.<br/><br/>
|
||||
To confirm this action, please use the following link: <br /> <a href="{url}" target="_blank" style="color:#337ff1">{url}</a>
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
|
||||
@@ -69,10 +69,10 @@
|
||||
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:uppercase;line-height:33px">Hi {firstname} {lastname},</span><br/>
|
||||
<span class="subtitle" style="font-weight:500;font-size:16px;text-transform:uppercase;line-height:25px">{order_header_line_html}</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -84,12 +84,12 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">
|
||||
Order {order_name} - Payment processed </p>
|
||||
<span style="color:#777">
|
||||
Your payment for order with the reference <strong><span style="color:#333">{order_name}</span></strong> was successfully processed. </span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
@@ -102,18 +102,18 @@
|
||||
{extra_mail_content_html}
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>
|
||||
You can review your order and download your invoice from the <a href="{history_url}" target="_blank" style="color:#337ff1">"Order history"</a> section of your customer account by clicking <a href="{my_account_url}" target="_blank" style="color:#337ff1">"My account"</a> on our website. </span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>
|
||||
If you have a guest account, you can follow your order via the <a href="{guest_tracking_url}?id_order={order_name}" target="_blank" style="color:#337ff1">"Guest Tracking"</a> section on our website. </span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
@@ -69,9 +69,9 @@
|
||||
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:uppercase;line-height:33px">Hi {firstname} {lastname},</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -83,13 +83,13 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">
|
||||
Order {order_name} - Payment processing error </p>
|
||||
<span style="color:#777">
|
||||
There is a problem with your payment for <strong><span style="color:#333">{shop_name}</span></strong> order with the reference <strong><span style="color:#333">{order_name}</span></strong>. Please contact us at your earliest convenience.<br/>
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
@@ -102,18 +102,18 @@
|
||||
{extra_mail_content_html}
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>
|
||||
You can review your order and download your invoice from the <a href="{history_url}" target="_blank" style="color:#337ff1">"Order history"</a> section of your customer account by clicking <a href="{my_account_url}" target="_blank" style="color:#337ff1">"My account"</a> on our website. </span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>
|
||||
If you have a guest account, you can follow your order via the <a href="{guest_tracking_url}?id_order={order_name}" target="_blank" style="color:#337ff1">"Guest Tracking"</a> section on our website. </span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
@@ -69,9 +69,9 @@
|
||||
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:uppercase;line-height:33px">Hi {firstname} {lastname},</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -83,12 +83,12 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">
|
||||
Order {order_name} - Processing </p>
|
||||
<span style="color:#777">
|
||||
We are currently processing your <strong><span style="color:#333">{shop_name}</span></strong> order with the reference <strong><span style="color:#333">{order_name}</span></strong>. </span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
@@ -101,18 +101,18 @@
|
||||
{extra_mail_content_html}
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>
|
||||
You can review your order and download your invoice from the <a href="{history_url}" target="_blank" style="color:#337ff1">"Order history"</a> section of your customer account by clicking <a href="{my_account_url}" target="_blank" style="color:#337ff1">"My account"</a> on our website. </span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>
|
||||
If you have a guest account, you can follow your order via the <a href="{guest_tracking_url}?id_order={order_name}" target="_blank" style="color:#337ff1">"Guest Tracking"</a> section on our website. </span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
@@ -69,9 +69,9 @@
|
||||
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:uppercase;line-height:33px">Hi {firstname} {lastname},</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -83,12 +83,12 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">
|
||||
Order {order_name} - Refund processed </p>
|
||||
<span style="color:#777">
|
||||
We have processed your <strong><span style="color:#333">{shop_name}</span></strong> refund for order with the reference <strong><span style="color:#333">{order_name}</span></strong>. </span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
@@ -101,18 +101,18 @@
|
||||
{extra_mail_content_html}
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>
|
||||
You can review your order and download your invoice from the <a href="{history_url}" target="_blank" style="color:#337ff1">"Order history"</a> section of your customer account by clicking <a href="{my_account_url}" target="_blank" style="color:#337ff1">"My account"</a> on our website. </span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>
|
||||
If you have a guest account, you can follow your order via the <a href="{guest_tracking_url}?id_order={order_name}" target="_blank" style="color:#337ff1">"Guest Tracking"</a> section on our website. </span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
@@ -80,7 +80,7 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">
|
||||
Message from {contact_name}</p><br/
|
||||
<span><span style="color:#333"><strong>Title:</strong></span> {subject}</span></br><br/>
|
||||
|
||||
@@ -69,10 +69,10 @@
|
||||
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:uppercase;line-height:33px">Hi {firstname} {lastname},</span><br/>
|
||||
<span class="subtitle" style="font-weight:500;font-size:16px;text-transform:uppercase;line-height:25px">Your order has been shipped</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -84,13 +84,13 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">
|
||||
Order {order_name} - Shipped </p>
|
||||
<span style="color:#777">
|
||||
Your order with the reference <span style="color:#333"><strong>{order_name}</strong></span> has been shipped.<br />
|
||||
Thank you for booking with {shop_name}! </span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
|
||||
@@ -69,9 +69,9 @@
|
||||
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:uppercase;line-height:33px">Hi {firstname} {lastname},</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -83,14 +83,14 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">
|
||||
Order {order_name} - Voucher created </p>
|
||||
<span style="color:#777">
|
||||
A voucher has been created in your name as a result of your order with the reference <span style="color:#333"><strong>{order_name}</strong></span>.<br/><br/>
|
||||
<span style="color:#333"><strong>Voucher code: {voucher_num}</strong></span> in the amount of <span style="color:#333"><strong>{voucher_amount}</strong></span><br /><br />
|
||||
Simply copy/paste this code during the payment process for your next order. </span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
|
||||
@@ -69,9 +69,9 @@
|
||||
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:uppercase;line-height:33px">Hi {firstname} {lastname},</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -83,13 +83,13 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">
|
||||
This is to inform you about the creation of a voucher. </p>
|
||||
<span style="color:#777">
|
||||
Here is the code of your voucher: <span style="color:#333"><strong>{voucher_num}</strong></span><br/><br/>
|
||||
Simply copy/paste this code during the payment process for your next order. </span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<div style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">
|
||||
{l s='Here are the bank details for your transfer:' mod='bankwire' lang=$lang}
|
||||
</p>
|
||||
@@ -35,7 +35,7 @@
|
||||
<span style="color:#333"><strong>{l s='Account details:' mod='bankwire' lang=$lang}</strong></span> {$bankwire_details}<br />
|
||||
<span style="color:#333"><strong>{l s='Bank address:' mod='bankwire' lang=$lang}</strong></span> {$bankwire_address}
|
||||
</span>
|
||||
</font>
|
||||
</div>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
|
||||
@@ -68,9 +68,9 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:uppercase;line-height:33px">Hi,</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -82,13 +82,13 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span style="color:#777">
|
||||
<strong>
|
||||
Thank you for subscribing to our newsletter! If you wish to unsubscribe, please click <span style="color:#333"><a href="{unsub_url}" target="_blank" style="color:#337ff1">here.</a></span>
|
||||
</strong>
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
|
||||
@@ -68,9 +68,9 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:uppercase;line-height:33px">Hi,</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -82,11 +82,11 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span style="color:#777">
|
||||
Thank you for subscribing to our newsletter, please confirm your request by clicking <span style="color:#333"><strong><a href="{verif_url}" target="_blank" style="color:#337ff1">here.</a></strong></span>
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
|
||||
@@ -69,9 +69,9 @@
|
||||
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:uppercase;line-height:33px">Hi,</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -83,7 +83,7 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">
|
||||
Newsletter subscription </p>
|
||||
<span style="color:#777">
|
||||
@@ -94,7 +94,7 @@
|
||||
<span style="color:#777">
|
||||
Please note that the voucher will be valid on your first order.
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<div style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">
|
||||
{l s='Here are the bank details for your check:' mod='cheque' lang=$lang}
|
||||
</p>
|
||||
@@ -34,7 +34,7 @@
|
||||
<span style="color:#333"><strong>{l s='Payable to the order of:' mod='cheque' lang=$lang}</strong></span> {$cheque_name}<br />
|
||||
<span style="color:#333"><strong>{l s='Please mail your check to:' mod='cheque' lang=$lang}</strong></span> {$cheque_address_html}
|
||||
</span>
|
||||
</font>
|
||||
</div>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
|
||||
@@ -46,7 +46,7 @@ class DashGuestCycle extends Module
|
||||
public function install()
|
||||
{
|
||||
return (parent::install()
|
||||
&& $this->registerHook('dashboardTop')
|
||||
&& $this->registerHook('actionAdminDashboardKPIListingModifier')
|
||||
&& $this->registerHook('dashboardZoneTwo')
|
||||
&& $this->registerHook('dashboardData')
|
||||
&& $this->registerHook('actionAdminControllerSetMedia')
|
||||
@@ -60,9 +60,120 @@ class DashGuestCycle extends Module
|
||||
}
|
||||
}
|
||||
|
||||
public function hookDashboardTop()
|
||||
public function hookActionAdminDashboardKPIListingModifier(array $params)
|
||||
{
|
||||
return $this->display(__FILE__, 'dashboard-top.tpl');
|
||||
$idHotel = (int)$this->context->cookie->stats_id_hotel;
|
||||
$kpiValues = $this->getKpiValues($idHotel);
|
||||
|
||||
$kpisData = array(
|
||||
array(
|
||||
'id' => 'box-dgc-arrivals',
|
||||
'color' => 'color1',
|
||||
'title' => $this->l('Arrivals'),
|
||||
'tooltip' => $this->l('The number of arrivals scheduled for today.'),
|
||||
'value' => $kpiValues['box-dgc-arrivals'],
|
||||
),
|
||||
array(
|
||||
'id' => 'box-dgc-departures',
|
||||
'color' => 'color2',
|
||||
'title' => $this->l('Departures'),
|
||||
'tooltip' => $this->l('The number of departures scheduled for today.'),
|
||||
'value' => $kpiValues['box-dgc-departures'],
|
||||
),
|
||||
array(
|
||||
'id' => 'box-dgc-new-bookings',
|
||||
'color' => 'color3',
|
||||
'title' => $this->l('New Bookings'),
|
||||
'tooltip' => $this->l('The number of new bookings created today so far.'),
|
||||
'value' => $kpiValues['box-dgc-new-bookings'],
|
||||
),
|
||||
array(
|
||||
'id' => 'box-dgc-occupied',
|
||||
'color' => 'color4',
|
||||
'title' => $this->l('Occupied Rooms'),
|
||||
'tooltip' => $this->l('The count of rooms currently occupied by guests.'),
|
||||
'value' => $kpiValues['box-dgc-occupied'],
|
||||
),
|
||||
array(
|
||||
'id' => 'box-dgc-messages',
|
||||
'color' => 'color5',
|
||||
'title' => $this->l('Guest Messages'),
|
||||
'tooltip' => $this->l('The number of new messages received from guests today.'),
|
||||
'value' => $kpiValues['box-dgc-messages'],
|
||||
),
|
||||
array(
|
||||
'id' => 'box-dgc-cancelled',
|
||||
'color' => 'color6',
|
||||
'title' => $this->l('Cancelled Bookings'),
|
||||
'tooltip' => $this->l('The number of bookings cancelled today so far.'),
|
||||
'value' => $kpiValues['box-dgc-cancelled'],
|
||||
),
|
||||
array(
|
||||
'id' => 'box-dgc-guests',
|
||||
'color' => 'color1',
|
||||
'title' => $this->l('Guests (Adults/Children)'),
|
||||
'tooltip' => $this->l('The number of adults and children scheduled to stay today.'),
|
||||
'value' => $kpiValues['box-dgc-guests'],
|
||||
),
|
||||
);
|
||||
|
||||
foreach ($kpisData as $data) {
|
||||
$helper = new HelperKpi();
|
||||
$helper->id = $data['id'];
|
||||
$helper->color = $data['color'];
|
||||
$helper->title = $data['title'];
|
||||
$helper->tooltip = $data['tooltip'];
|
||||
$helper->value = $data['value'];
|
||||
$params['kpis'][] = $helper;
|
||||
}
|
||||
}
|
||||
|
||||
private function getKpiValues($idHotel)
|
||||
{
|
||||
$dateToday = date('Y-m-d');
|
||||
|
||||
if (Configuration::get('PS_DASHBOARD_SIMULATION')) {
|
||||
$totalArrivals = rand(100, 1000);
|
||||
$arrived = rand(0, $totalArrivals);
|
||||
$totalDepartures = rand(100, 1000);
|
||||
$departed = rand(0, $totalDepartures);
|
||||
$newBookings = rand(10, 500);
|
||||
$occupied = rand(10, 500);
|
||||
$newMessages = rand(0, 20);
|
||||
$cancelledBookings = rand(0, 20);
|
||||
$totalAdults = rand(100, 1000);
|
||||
$children = rand(0, $totalAdults);
|
||||
} else {
|
||||
$arrivalsData = AdminStatsController::getArrivalsByDate($dateToday, $idHotel);
|
||||
$departuresData = AdminStatsController::getDeparturesByDate($dateToday, $idHotel);
|
||||
$guestsData = AdminStatsController::getGuestsByDate($dateToday, $idHotel);
|
||||
|
||||
$arrived = (int) $arrivalsData['arrived'];
|
||||
$totalArrivals = (int) $arrivalsData['total_arrivals'];
|
||||
$departed = (int) $departuresData['departed'];
|
||||
$totalDepartures = (int) $departuresData['total_departures'];
|
||||
$newBookings = count(AdminStatsController::getNewBookingsInfoByDate($dateToday, $idHotel));
|
||||
$occupied = (int) AdminStatsController::getDistinctRoomBookingsCount(
|
||||
date('Y-m-d', strtotime('-1 day')),
|
||||
$dateToday,
|
||||
$idHotel,
|
||||
HotelBookingDetail::STATUS_CHECKED_IN
|
||||
);
|
||||
$newMessages = (int) CustomerMessage::getMessagesByDate($dateToday);
|
||||
$cancelledBookings = (int) AdminStatsController::getCancelledBookingsByDate($dateToday, $idHotel);
|
||||
$totalAdults = (int) $guestsData['adults'];
|
||||
$children = (int) $guestsData['children'];
|
||||
}
|
||||
|
||||
return array(
|
||||
'box-dgc-arrivals' => sprintf('%02d', $arrived).'/'.sprintf('%02d', $totalArrivals),
|
||||
'box-dgc-departures' => sprintf('%02d', $departed).'/'.sprintf('%02d', $totalDepartures),
|
||||
'box-dgc-new-bookings' => sprintf('%02d', $newBookings),
|
||||
'box-dgc-occupied' => sprintf('%02d', $occupied),
|
||||
'box-dgc-messages' => sprintf('%02d', $newMessages),
|
||||
'box-dgc-cancelled' => sprintf('%02d', $cancelledBookings),
|
||||
'box-dgc-guests' => sprintf('%02d', $totalAdults).'/'.sprintf('%02d', $children),
|
||||
);
|
||||
}
|
||||
|
||||
public function hookDashboardZoneTwo()
|
||||
@@ -76,37 +187,10 @@ class DashGuestCycle extends Module
|
||||
$dataTable = array();
|
||||
|
||||
$dateToday = date('Y-m-d');
|
||||
if (Configuration::get('PS_DASHBOARD_SIMULATION')) {
|
||||
$dataValue['dgc_total_arrivals'] = sprintf('%02d', rand(100, 1000));
|
||||
$dataValue['dgc_arrived'] = sprintf('%02d', rand(0, $dataValue['dgc_total_arrivals']));
|
||||
$dataValue['dgc_total_departures'] = sprintf('%02d', rand(100, 1000));
|
||||
$dataValue['dgc_departed'] = sprintf('%02d', rand(0, $dataValue['dgc_total_departures']));
|
||||
$dataValue['dgc_new_bookings'] = sprintf('%02d', rand(10, 500));
|
||||
$dataValue['dgc_occupied'] = sprintf('%02d', rand(10, 500));
|
||||
$dataValue['dgc_new_messages'] = sprintf('%02d', rand(0, 20));
|
||||
$dataValue['dgc_cancelled_bookings'] = sprintf('%02d', rand(0, 20));
|
||||
$dataValue['dgc_guests_adults'] = sprintf('%02d', rand(100, 1000));
|
||||
$dataValue['dgc_guests_children'] = sprintf('%02d', rand(0, $dataValue['dgc_guests_adults']));
|
||||
} else {
|
||||
// set badges data
|
||||
$arrivalsData = AdminStatsController::getArrivalsByDate($dateToday, $params['id_hotel']);
|
||||
$departuresData = AdminStatsController::getDeparturesByDate($dateToday, $params['id_hotel']);
|
||||
$guestsData = AdminStatsController::getGuestsByDate($dateToday, $params['id_hotel']);
|
||||
$dataValue['dgc_arrived'] = sprintf('%02d', $arrivalsData['arrived']);
|
||||
$dataValue['dgc_total_arrivals'] = sprintf('%02d', $arrivalsData['total_arrivals']);
|
||||
$dataValue['dgc_departed'] = sprintf('%02d', $departuresData['departed']);
|
||||
$dataValue['dgc_total_departures'] = sprintf('%02d', $departuresData['total_departures']);
|
||||
$dataValue['dgc_new_bookings'] = sprintf('%02d', count(AdminStatsController::getNewBookingsInfoByDate($dateToday, $params['id_hotel'])));
|
||||
$dataValue['dgc_occupied'] = sprintf('%02d', AdminStatsController::getDistinctRoomBookingsCount(
|
||||
date('Y-m-d', strtotime('-1 day')),
|
||||
$dateToday,
|
||||
$params['id_hotel'],
|
||||
HotelBookingDetail::STATUS_CHECKED_IN
|
||||
));
|
||||
$dataValue['dgc_new_messages'] = sprintf('%02d', CustomerMessage::getMessagesByDate($dateToday));
|
||||
$dataValue['dgc_cancelled_bookings'] = sprintf('%02d', AdminStatsController::getCancelledBookingsByDate($dateToday, $params['id_hotel']));
|
||||
$dataValue['dgc_guests_adults'] = sprintf('%02d', $guestsData['adults']);
|
||||
$dataValue['dgc_guests_children'] = sprintf('%02d', $guestsData['children']);
|
||||
|
||||
// KPI box values — updated on every AJAX refresh (demo toggle, date change)
|
||||
foreach ($this->getKpiValues((int) $params['id_hotel']) as $boxId => $value) {
|
||||
$dataValue[$boxId . ' .value'] = $value;
|
||||
}
|
||||
|
||||
// set tables data
|
||||
|
||||
@@ -20,76 +20,6 @@
|
||||
* @license https://opensource.org/license/osl-3-0-php Open Software License version 3.0
|
||||
*/
|
||||
|
||||
#dashguestcycle {
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
|
||||
#dashguestcycle .badges-wrapper {
|
||||
white-space: nowrap;
|
||||
overflow: auto;
|
||||
margin: -5px;
|
||||
margin-bottom: 0px;
|
||||
padding-bottom: 10px;
|
||||
font-size: 0;
|
||||
}
|
||||
|
||||
#dashguestcycle .badge-wrapper {
|
||||
display: inline-block;
|
||||
width: 14.28%;
|
||||
min-width: 145px;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
#dashguestcycle .badge-item {
|
||||
position: relative;
|
||||
min-width: 135px;
|
||||
height: 80px;
|
||||
border-radius: 10px;
|
||||
background: #FFFFFF;
|
||||
box-shadow: 0px 3px 10px rgba(0, 0, 0, 0.15);
|
||||
}
|
||||
|
||||
#dashguestcycle .badge-strip {
|
||||
position: absolute;
|
||||
width: 10px;
|
||||
height: 100%;
|
||||
border-top-left-radius: 10px;
|
||||
border-bottom-left-radius: 10px;
|
||||
}
|
||||
|
||||
#dashguestcycle .badge-content-wrapper {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
#dashguestcycle .badge-content-wrapper p {
|
||||
color: #00AFF0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
#dashguestcycle .title-wrapper, #dashguestcycle .value-wrapper {
|
||||
display: table;
|
||||
width: 100%;
|
||||
height: 50%;
|
||||
padding: 0 10px;
|
||||
}
|
||||
|
||||
#dashguestcycle .title-wrapper p {
|
||||
display: table-cell;
|
||||
vertical-align: middle;
|
||||
font-weight: normal;
|
||||
font-size: 13px;
|
||||
line-height: 15px;
|
||||
white-space: normal;
|
||||
}
|
||||
|
||||
#dashguestcycle .value-wrapper p {
|
||||
display: table-cell;
|
||||
vertical-align: top;
|
||||
font-weight: bold;
|
||||
font-size: 24px;
|
||||
line-height: 30px;
|
||||
}
|
||||
|
||||
#dashguestcycle .tab-content {
|
||||
max-height: 300px;
|
||||
overflow-y: auto;
|
||||
@@ -97,4 +27,107 @@
|
||||
|
||||
#dashguestcycle table tbody>tr>td {
|
||||
padding: 8px 7px;
|
||||
}
|
||||
|
||||
/* ── KPI row container: strip panel chrome ──────────────────────────────── */
|
||||
.kpi-container {
|
||||
background: transparent !important;
|
||||
border: none !important;
|
||||
box-shadow: none !important;
|
||||
padding: 0 0 15px !important;
|
||||
}
|
||||
|
||||
.kpi-container .kpis-wrap {
|
||||
flex-wrap: nowrap !important;
|
||||
overflow-x: auto;
|
||||
gap: 8px;
|
||||
margin: 0 !important;
|
||||
}
|
||||
|
||||
.kpi-container .kpis-wrap .kpi-wrap {
|
||||
width: 14.28% !important;
|
||||
min-width: 110px;
|
||||
padding: 0 !important;
|
||||
margin-bottom: 0 !important;
|
||||
}
|
||||
|
||||
.kpi-container .box-stats {
|
||||
height: 80px !important;
|
||||
background: #fff !important;
|
||||
border-radius: 10px !important;
|
||||
overflow: hidden;
|
||||
font-size: inherit !important;
|
||||
}
|
||||
|
||||
.kpi-container .box-stats .kpi-content {
|
||||
border: none !important;
|
||||
border-left: 10px solid !important;
|
||||
border-radius: 0 !important;
|
||||
height: 100% !important;
|
||||
padding: 8px 12px !important;
|
||||
align-items: center !important;
|
||||
gap: 0 !important;
|
||||
}
|
||||
|
||||
.kpi-container .box-stats .kpi-content .kpi-data {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
gap: 4px;
|
||||
}
|
||||
|
||||
.kpi-container .box-stats .kpi-content .title-subtitle {
|
||||
justify-content: center !important;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.kpi-container .box-stats .kpi-content .title-subtitle .title-container .title {
|
||||
font-size: 13px !important;
|
||||
font-weight: normal !important;
|
||||
color: #555 !important;
|
||||
display: block;
|
||||
text-align: center;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.kpi-container .box-stats .kpi-content .value-container {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.kpi-container .box-stats .kpi-content .value-container .value {
|
||||
font-size: 24px !important;
|
||||
font-weight: bold !important;
|
||||
min-height: auto !important;
|
||||
display: block;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.kpi-container .box-stats .kpi-content .arrow {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.kpi-container .box-stats.color1 .kpi-content { border-left-color: #266FFE !important; }
|
||||
.kpi-container .box-stats.color1 .value { color: #266FFE !important; }
|
||||
|
||||
.kpi-container .box-stats.color2 .kpi-content { border-left-color: #72C3F0 !important; }
|
||||
.kpi-container .box-stats.color2 .value { color: #72C3F0 !important; }
|
||||
|
||||
.kpi-container .box-stats.color3 .kpi-content { border-left-color: #56CE56 !important; }
|
||||
.kpi-container .box-stats.color3 .value { color: #56CE56 !important; }
|
||||
|
||||
.kpi-container .box-stats.color4 .kpi-content { border-left-color: #FFC148 !important; }
|
||||
.kpi-container .box-stats.color4 .value { color: #FFC148 !important; }
|
||||
|
||||
.kpi-container .box-stats.color5 .kpi-content { border-left-color: #A569DF !important; }
|
||||
.kpi-container .box-stats.color5 .value { color: #A569DF !important; }
|
||||
|
||||
.kpi-container .box-stats.color6 .kpi-content { border-left-color: #FF4036 !important; }
|
||||
.kpi-container .box-stats.color6 .value { color: #FF4036 !important; }
|
||||
|
||||
.kpi-container .actions-wrap {
|
||||
display: none !important;
|
||||
}
|
||||
@@ -1,143 +0,0 @@
|
||||
{**
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Open Software License version 3.0
|
||||
* that is bundled with this package in the file LICENSE.md
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* https://opensource.org/license/osl-3-0-php
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to support@qloapps.com so we can send you a copy immediately.
|
||||
*
|
||||
* DISCLAIMER
|
||||
*
|
||||
* Do not edit or add to this file if you wish to upgrade this module to a newer
|
||||
* versions in the future. If you wish to customize this module for your needs
|
||||
* please refer to https://store.webkul.com/customisation-guidelines for more information.
|
||||
*
|
||||
* @author Webkul IN
|
||||
* @copyright Since 2010 Webkul
|
||||
* @license https://opensource.org/license/osl-3-0-php Open Software License version 3.0
|
||||
*}
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<section id="dashguestcycle" class="dashboard-top widget allow_push">
|
||||
<div class="badges-wrapper">
|
||||
{hook h="displayDashboardBadgeListBefore"}
|
||||
<div class="badge-wrapper">
|
||||
<div class="badge-item label-tooltip" data-toggle="tooltip" data-original-title="{l s='The number of arrivals scheduled for today.' mod='dashguestcycle'}">
|
||||
<div class="badge-strip" style="background-color: #266FFE;"></div>
|
||||
<div class="badge-content-wrapper">
|
||||
<div class="title-wrapper">
|
||||
<p class="text-center">{l s="Arrivals" mod='dashguestcycle'}</p>
|
||||
</div>
|
||||
<div class="value-wrapper">
|
||||
<p class="text-center">
|
||||
<span id="dgc_arrived"></span>/<span id="dgc_total_arrivals"></span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="badge-wrapper">
|
||||
<div class="badge-item label-tooltip" data-toggle="tooltip" data-original-title="{l s='The number of departures scheduled for today.' mod='dashguestcycle'}">
|
||||
<div class="badge-strip" style="background-color: #72C3F0;"></div>
|
||||
<div class="badge-content-wrapper">
|
||||
<div class="title-wrapper">
|
||||
<p class="text-center">{l s="Departures" mod='dashguestcycle'}</p>
|
||||
</div>
|
||||
<div class="value-wrapper">
|
||||
<p class="text-center">
|
||||
<span id="dgc_departed"></span>/<span id="dgc_total_departures"></span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="badge-wrapper">
|
||||
<div class="badge-item label-tooltip" data-toggle="tooltip" data-original-title="{l s='The number of new bookings created today so far.' mod='dashguestcycle'}">
|
||||
<div class="badge-strip" style="background-color: #56CE56;"></div>
|
||||
<div class="badge-content-wrapper">
|
||||
<div class="title-wrapper">
|
||||
<p class="text-center">{l s="New Bookings" mod='dashguestcycle'}</p>
|
||||
</div>
|
||||
<div class="value-wrapper">
|
||||
<p class="text-center">
|
||||
<span id="dgc_new_bookings"></span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="badge-wrapper">
|
||||
<div class="badge-item label-tooltip" data-toggle="tooltip" data-original-title="{l s='The count of rooms that are currently occupied by guests.' mod='dashguestcycle'}">
|
||||
<div class="badge-strip" style="background-color: #FFC148;"></div>
|
||||
<div class="badge-content-wrapper">
|
||||
<div class="title-wrapper">
|
||||
<p class="text-center">{l s='Occupied Rooms' mod='dashguestcycle'}</p>
|
||||
</div>
|
||||
<div class="value-wrapper">
|
||||
<p class="text-center">
|
||||
<span id="dgc_occupied"></span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="badge-wrapper">
|
||||
<div class="badge-item label-tooltip" data-toggle="tooltip" data-original-title="{l s='The number of new messages received from guests today.' mod='dashguestcycle'}">
|
||||
<div class="badge-strip" style="background-color: #A569DF;"></div>
|
||||
<div class="badge-content-wrapper">
|
||||
<div class="title-wrapper">
|
||||
<p class="text-center">
|
||||
{l s="Guest Messages" mod='dashguestcycle'}
|
||||
</p>
|
||||
</div>
|
||||
<div class="value-wrapper">
|
||||
<p class="text-center">
|
||||
<span id="dgc_new_messages"></span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="badge-wrapper">
|
||||
<div class="badge-item label-tooltip" data-toggle="tooltip" data-original-title="{l s='The number of bookings cancelled today so far.' mod='dashguestcycle'}">
|
||||
<div class="badge-strip" style="background-color: #FF4036;"></div>
|
||||
<div class="badge-content-wrapper">
|
||||
<div class="title-wrapper">
|
||||
<p class="text-center">
|
||||
{l s="Cancelled Bookings" mod='dashguestcycle'}
|
||||
</p>
|
||||
</div>
|
||||
<div class="value-wrapper">
|
||||
<p class="text-center">
|
||||
<span id="dgc_cancelled_bookings"></span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="badge-wrapper">
|
||||
<div class="badge-item label-tooltip" data-toggle="tooltip" data-original-title="{l s='The number of adults and children scheduled to stay today.' mod='dashguestcycle'}">
|
||||
<div class="badge-strip" style="background-color: #FF809E;"></div>
|
||||
<div class="badge-content-wrapper">
|
||||
<div class="title-wrapper">
|
||||
<p class="text-center">
|
||||
{l s="Guests (Adults/Children)" mod='dashguestcycle'}
|
||||
</p>
|
||||
</div>
|
||||
<div class="value-wrapper">
|
||||
<p class="text-center">
|
||||
<span id="dgc_guests_adults"></span>/<span id="dgc_guests_children"></span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{hook h="displayDashboardBadgeListAfter"}
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
@@ -51,7 +51,7 @@ class HotelBranchInformation extends ObjectModel
|
||||
'fields' => array(
|
||||
'id_category' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId'),
|
||||
'email' => array('type' => self::TYPE_STRING,'validate' => 'isEmail', 'size' => 255, 'required' => true),
|
||||
'rating' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId', 'required' => true),
|
||||
'rating' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId'),
|
||||
'check_in' => array('type' => self::TYPE_STRING, 'required' => true),
|
||||
'check_out' => array('type' => self::TYPE_STRING, 'required' => true),
|
||||
'active' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool'),
|
||||
@@ -1160,7 +1160,7 @@ class HotelBranchInformation extends ObjectModel
|
||||
{
|
||||
// set additional hotel address and restriction fields validations here
|
||||
if (isset($this->webservice_validation) && $this->webservice_validation) {
|
||||
if ($this->rating < 1 || $this->rating > 5) {
|
||||
if ($this->rating && ($this->rating < 1 || $this->rating > 5)) {
|
||||
$message = Tools::displayError('Rating must be between 1 and 5.');
|
||||
} elseif (!strtotime($this->check_in)) {
|
||||
$message = Tools::displayError('Check In time is invalid.');
|
||||
|
||||
@@ -391,10 +391,6 @@ class AdminAddHotelController extends ModuleAdminController
|
||||
$this->errors[] = $this->l('Check Out time must be before Check In time.');
|
||||
}
|
||||
|
||||
if (!$rating) {
|
||||
$this->errors[] = $this->l('Rating is required field.');
|
||||
}
|
||||
|
||||
if (!$address = trim($address)) {
|
||||
$this->errors[] = $this->l('Address is required field.');
|
||||
}
|
||||
|
||||
@@ -214,11 +214,11 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-sm-3 required" for="hotel_country">{l s='Rating :' mod='hotelreservationsystem'}</label>
|
||||
<label class="control-label col-sm-3 " for="hotel_country">{l s='Rating :' mod='hotelreservationsystem'}</label>
|
||||
<div class="col-sm-6">
|
||||
<div style="width: 195px;">
|
||||
<select class="form-control" name="hotel_rating" id="hotel_rating" value="">
|
||||
<option value="">{l s='No star' mod='hotelreservationsystem'}</option>
|
||||
<option value="0">{l s='No star' mod='hotelreservationsystem'}</option>
|
||||
<option value="1" {if (isset($smarty.post.hotel_rating) && $smarty.post.hotel_rating == '1') || isset($edit) && $hotel_info['rating'] == '1'}selected{/if}>*</option>
|
||||
<option value="2" {if (isset($smarty.post.hotel_rating) && $smarty.post.hotel_rating == '2') || isset($edit) && $hotel_info['rating'] == '2'}selected{/if}>**</option>
|
||||
<option value="3" {if (isset($smarty.post.hotel_rating) && $smarty.post.hotel_rating == '3') || isset($edit) && $hotel_info['rating'] == '3'}selected{/if}>***</option>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<div class="copyRightWrapper">
|
||||
<p class="copyRight">
|
||||
©{if isset($WK_HTL_ESTABLISHMENT_YEAR) && $WK_HTL_ESTABLISHMENT_YEAR} {$WK_HTL_ESTABLISHMENT_YEAR}-{'Y'|date} {/if}<a href="{$base_dir}"> {$WK_HTL_CHAIN_NAME}</a>. {l s=' All rights reserved.' mod='hotelreservationsystem'}
|
||||
©{if isset($WK_HTL_ESTABLISHMENT_YEAR) && $WK_HTL_ESTABLISHMENT_YEAR} {$WK_HTL_ESTABLISHMENT_YEAR}-{'Y'|date} {/if}<a href="{$base_dir}"> {$WK_HTL_CHAIN_NAME}</a>. {l s=' All rights reserved. | Powered by' mod='hotelreservationsystem'} <a href="https://qloapps.com/" target="_blank">QloApps</a>
|
||||
</p>
|
||||
</div>
|
||||
@@ -194,7 +194,7 @@
|
||||
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:uppercase;line-height:33px">
|
||||
Dear {firstname} {lastname},
|
||||
</span>
|
||||
@@ -202,7 +202,7 @@
|
||||
<span class="subtitle" style="font-weight:500;font-size:16px;text-transform:uppercase;line-height:25px">
|
||||
Your review has been approved
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -214,7 +214,7 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">
|
||||
Review approved
|
||||
</p>
|
||||
@@ -237,7 +237,7 @@
|
||||
<span style="color:#777">
|
||||
You can view your review from <a href="{review_view_url}" target="_blank">here.</a>
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
@@ -249,20 +249,20 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>
|
||||
You can review your order and download your invoice from the <a href="{history_url}" target="_blank" style="color:#337ff1">"Order history"</a> section of your customer account by clicking <a href="{my_account_url}" target="_blank" style="color:#337ff1">"My account"</a> on our website.
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>
|
||||
If you have a guest account, you can follow your order via the <a href="{guest_tracking_url}" target="_blank" style="color:#337ff1">"Guest Tracking"</a> section on our website.
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
@@ -194,7 +194,7 @@
|
||||
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:uppercase;line-height:33px">
|
||||
Dear {firstname} {lastname},
|
||||
</span>
|
||||
@@ -202,7 +202,7 @@
|
||||
<span class="subtitle" style="font-weight:500;font-size:16px;text-transform:uppercase;line-height:25px">
|
||||
Hotel management has replied to your review
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -214,7 +214,7 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">
|
||||
Management reply
|
||||
</p>
|
||||
@@ -244,7 +244,7 @@
|
||||
<span style="color:#777">
|
||||
You can view your review from <a href="{review_view_url}" target="_blank">here.</a>
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
@@ -256,20 +256,20 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>
|
||||
You can review your order and download your invoice from the <a href="{history_url}" target="_blank" style="color:#337ff1">"Order history"</a> section of your customer account by clicking <a href="{my_account_url}" target="_blank" style="color:#337ff1">"My account"</a> on our website.
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>
|
||||
If you have a guest account, you can follow your order via the <a href="{guest_tracking_url}" target="_blank" style="color:#337ff1">"Guest Tracking"</a> section on our website.
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
@@ -194,7 +194,7 @@
|
||||
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:uppercase;line-height:33px">
|
||||
Dear {firstname} {lastname},
|
||||
</span>
|
||||
@@ -202,7 +202,7 @@
|
||||
<span class="subtitle" style="font-weight:500;font-size:16px;text-transform:uppercase;line-height:25px">
|
||||
Hotel management has replied to your review
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -214,7 +214,7 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">
|
||||
Management reply
|
||||
</p>
|
||||
@@ -238,7 +238,7 @@
|
||||
<strong>Management reply:</strong>
|
||||
<span style="color:#777; white-space: break-spaces;">{management_reply}</span>
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
@@ -250,20 +250,20 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>
|
||||
You can review your order and download your invoice from the <a href="{history_url}" target="_blank" style="color:#337ff1">"Order history"</a> section of your customer account by clicking <a href="{my_account_url}" target="_blank" style="color:#337ff1">"My account"</a> on our website.
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>
|
||||
If you have a guest account, you can follow your order via the <a href="{guest_tracking_url}" target="_blank" style="color:#337ff1">"Guest Tracking"</a> section on our website.
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
@@ -194,7 +194,7 @@
|
||||
|
||||
<tr>
|
||||
<td align="center" class="titleblock" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span class="title" style="font-weight:500;font-size:28px;text-transform:uppercase;line-height:33px">
|
||||
Dear {firstname} {lastname},
|
||||
</span>
|
||||
@@ -202,7 +202,7 @@
|
||||
<span class="subtitle" style="font-weight:500;font-size:16px;text-transform:uppercase;line-height:25px">
|
||||
Thank you for choosing our hotel for your recent stay!
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -214,7 +214,7 @@
|
||||
<tr>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
<td style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<p data-html-only="1" style="border-bottom:1px solid #D6D4D4;margin:3px 0 7px;text-transform:uppercase;font-weight:500;font-size:18px;padding-bottom:10px">
|
||||
Please review us!
|
||||
</p>
|
||||
@@ -222,7 +222,7 @@
|
||||
Could you please take a moment to review us? Please review your stay at <b>{hotel_name}</b> by clicking <a href="{review_link}" target="_blank">here</a>.
|
||||
We would love to hear your feedback and use it to improve our services!
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
<td width="10" style="padding:7px 0"> </td>
|
||||
</tr>
|
||||
@@ -234,20 +234,20 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>
|
||||
You can review your order and download your invoice from the <a href="{history_url}" target="_blank" style="color:#337ff1">"Order history"</a> section of your customer account by clicking <a href="{my_account_url}" target="_blank" style="color:#337ff1">"My account"</a> on our website.
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="linkbelow" style="padding:7px 0">
|
||||
<font size="2" face="Open-sans, sans-serif" color="#555454">
|
||||
<span style="font-size:12px; font-family:Open-sans, sans-serif; color:#555454;">
|
||||
<span>
|
||||
If you have a guest account, you can follow your order via the <a href="{guest_tracking_url}" target="_blank" style="color:#337ff1">"Guest Tracking"</a> section on our website.
|
||||
</span>
|
||||
</font>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<module>
|
||||
<name>wkfooterlangcurrencyblock</name>
|
||||
<displayName><![CDATA[Display Language and Currency Block]]></displayName>
|
||||
<version><![CDATA[1.0.1]]></version>
|
||||
<description><![CDATA[Contains language and currency block in footer.]]></description>
|
||||
<author><![CDATA[webkul]]></author>
|
||||
<tab><![CDATA[front_office_features]]></tab>
|
||||
<is_configurable>0</is_configurable>
|
||||
<need_instance>0</need_instance>
|
||||
<limited_countries></limited_countries>
|
||||
</module>
|
||||
339
pdf/booking-voucher.tpl
Normal file
339
pdf/booking-voucher.tpl
Normal file
@@ -0,0 +1,339 @@
|
||||
{**
|
||||
* NOTICE OF LICENSE
|
||||
*
|
||||
* This source file is subject to the Open Software License version 3.0
|
||||
* that is bundled with this package in the file LICENSE.md
|
||||
* It is also available through the world-wide-web at this URL:
|
||||
* https://opensource.org/license/osl-3-0-php
|
||||
* If you did not receive a copy of the license and are unable to
|
||||
* obtain it through the world-wide-web, please send an email
|
||||
* to support@qloapps.com so we can send you a copy immediately.
|
||||
*
|
||||
* DISCLAIMER
|
||||
*
|
||||
* Do not edit or add to this file if you wish to upgrade this module to a newer
|
||||
* versions in the future. If you wish to customize this module for your needs
|
||||
* please refer to https://store.webkul.com/customisation-guidelines for more information.
|
||||
*
|
||||
* @author Webkul IN
|
||||
* @copyright Since 2010 Webkul
|
||||
* @license https://opensource.org/license/osl-3-0-php Open Software License version 3.0
|
||||
*}
|
||||
|
||||
{assign var=pdf_style_template value=$smarty.const._PS_PDF_DIR_|cat:'invoice.style-tab.tpl'}
|
||||
{include file=$pdf_style_template}
|
||||
|
||||
<table width="100%" id="booking-body" border="0" cellpadding="0" cellspacing="0" style="margin:0;">
|
||||
|
||||
<tr>
|
||||
<td colspan="12">
|
||||
<table class="bordered-table" width="100%" cellpadding="5" cellspacing="0" nobr="true">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th colspan="6" class="header-left small">{l s='BOOKING INFORMATION' pdf='true'}</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="small white"><span class="bold">{l s='Booking Reference' pdf='true'}</span></td>
|
||||
<td class="small white">{$order->reference|escape:'html':'UTF-8'}</td>
|
||||
<td class="small white"><span class="bold">{l s='Booking Date' pdf='true'}</span></td>
|
||||
<td class="small white">{$booking_date|escape:'html':'UTF-8'}</td>
|
||||
<td class="small white"><span class="bold">{l s='Voucher Issue Date' pdf='true'}</span></td>
|
||||
<td class="small white">{$issue_date|escape:'html':'UTF-8'}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="small white"><span class="bold">{l s='Status' pdf='true'}</span></td>
|
||||
<td class="small white">{if $order_state && isset($order_state.name)}{$order_state.name|escape:'html':'UTF-8'}{/if}</td>
|
||||
<td class="small white"><span class="bold">{l s='Total Rooms' pdf='true'}</span></td>
|
||||
<td class="small white">{$total_rooms|intval}</td>
|
||||
<td class="small white"><span class="bold">{l s='Total Nights' pdf='true'}</span></td>
|
||||
<td class="small white">{$total_room_nights|intval}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="12" height="12"> </td>
|
||||
</tr>
|
||||
|
||||
<tr nobr="true">
|
||||
<td colspan="6" class="left" valign="top">
|
||||
<table class="bordered-table" width="100%" cellpadding="5" cellspacing="0" nobr="true">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th colspan="2" class="header-left small">{l s='PROPERTY DETAILS' pdf='true'}</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="small white" width="30%"><span class="bold">{l s='Property' pdf='true'}</span></td>
|
||||
<td class="small white" width="70%">{if $hotel}{$hotel->hotel_name|escape:'html':'UTF-8'}{/if}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="small white" width="30%"><span class="bold">{l s='Email' pdf='true'}</span></td>
|
||||
<td class="small white" width="70%">{if $hotel}{$hotel->email|escape:'html':'UTF-8'}{/if}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="small white" width="30%"><span class="bold">{l s='Phone' pdf='true'}</span></td>
|
||||
<td class="small white" width="70%">{if $hotel}{$hotel->phone|escape:'html':'UTF-8'}{/if}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="small white" width="30%"><span class="bold">{l s='Address' pdf='true'}</span></td>
|
||||
<td class="small white" width="70%">{if $hotel_address}{$hotel_address nofilter}{else}--{/if}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
{* <td colspan="1"> </td> *}
|
||||
<td colspan="6" class="left" valign="top">
|
||||
<table class="bordered-table" width="100%" cellpadding="5" cellspacing="0" nobr="true">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th colspan="2" class="header-left small">{l s='GUEST INFORMATION' pdf='true'}</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="small white" width="35%"><span class="bold">{l s='Primary Guest' pdf='true'}</span></td>
|
||||
<td class="small white" width="65%">{$guest->firstname|escape:'html':'UTF-8'} {$guest->lastname|escape:'html':'UTF-8'}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="small white" width="35%"><span class="bold">{l s='Email' pdf='true'}</span></td>
|
||||
<td class="small white" width="65%">{$guest->email|escape:'html':'UTF-8'}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="small white" width="35%"><span class="bold">{l s='Phone' pdf='true'}</span></td>
|
||||
<td class="small white" width="65%">{$guest->phone|escape:'html':'UTF-8'}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="small white" width="35%"><span class="bold">{l s='Address' pdf='true'}</span></td>
|
||||
<td class="small white" width="65%">{if $guest_address|strip_tags|trim}{$guest_address nofilter}{else}--{/if}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="small white" width="35%"><span class="bold">{l s='Total Guests' pdf='true'}</span></td>
|
||||
<td class="small white" width="65%">{$total_guests|intval}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="12" height="12"> </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="12">
|
||||
<table class="bordered-table" width="100%" cellpadding="4" cellspacing="0" nobr="true">
|
||||
<thead>
|
||||
<tr>
|
||||
<th colspan="7" class="header-left small">{l s='ROOM DETAILS' pdf='true'}</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="header-left small" width="24%">{l s='Room Description' pdf='true'}</th>
|
||||
<th class="header-left small" width="14%">{l s='Tax Rate(s)' pdf='true'}</th>
|
||||
<th class="header-left small" width="14%">{l s='Unit Price' pdf='true'}<br />{l s='(Tax excl.)' pdf='true'}</th>
|
||||
<th class="header-left small" width="14%">{l s='Rooms' pdf='true'}</th>
|
||||
<th class="header-left small" width="11%">{l s='Check-in Date' pdf='true'}</th>
|
||||
<th class="header-left small" width="11%">{l s='Check-out Date' pdf='true'}</th>
|
||||
<th class="header-left small" width="12%">{l s='Total' pdf='true'}<br />{l s='(Tax excl.)' pdf='true'}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{if $room_type_rows}
|
||||
{foreach from=$room_type_rows item=room_type_row}
|
||||
{cycle values="color_line_even,color_line_odd" assign=bgcolor_class}
|
||||
<tr class="{$bgcolor_class}">
|
||||
<td class="small white left" width="24%">{$room_type_row.room_type_name|escape:'html':'UTF-8'}</td>
|
||||
<td class="small white center" width="14%">{$room_type_row.order_detail_tax_label}</td>
|
||||
<td class="small white center" width="14%">{displayPrice currency=$order->id_currency price=$room_type_row.unit_price_tax_excl}</td>
|
||||
<td class="small white left" width="14%">
|
||||
{if $room_type_row.adults <= 9}0{/if}{$room_type_row.adults|intval} {if $room_type_row.adults > 1}{l s='Adults' pdf='true'}{else}{l s='Adult' pdf='true'}{/if}{if $room_type_row.children}, {if $room_type_row.children <= 9}0{/if}{$room_type_row.children|intval} {if $room_type_row.children > 1}{l s='Children' pdf='true'}{else}{l s='Child' pdf='true'}{/if}{/if}<br />{if $room_type_row.rooms <= 9}0{/if}{$room_type_row.rooms|intval} {if $room_type_row.rooms > 1}{l s='Rooms' pdf='true'}{else}{l s='Room' pdf='true'}{/if}
|
||||
</td>
|
||||
<td class="small white center" width="11%" nowrap="nowrap">{$room_type_row.check_in_date|escape:'html':'UTF-8'}</td>
|
||||
<td class="small white center" width="11%" nowrap="nowrap">{$room_type_row.check_out_date|escape:'html':'UTF-8'}</td>
|
||||
<td class="small white center" width="12%">{displayPrice currency=$order->id_currency price=$room_type_row.total_price_tax_excl}</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
{else}
|
||||
<tr>
|
||||
<td class="white center" colspan="7">{l s='No room details available.' pdf='true'}</td>
|
||||
</tr>
|
||||
{/if}
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
{if $service_groups}
|
||||
<tr>
|
||||
<td colspan="12" height="12"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="12">
|
||||
<table class="bordered-table" width="100%" cellpadding="5" cellspacing="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th colspan="3" class="header-left small">{l s='SERVICES DETAILS' pdf='true'}</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<th class="header-left small" width="35%">{l s='Room Type' pdf='true'}</th>
|
||||
<th class="header-left small" width="45%">{l s='Service Name' pdf='true'}</th>
|
||||
<th class="header-left small" width="20%">{l s='Qty' pdf='true'}</th>
|
||||
</tr>
|
||||
{foreach from=$service_groups item=group}
|
||||
{foreach from=$group.services item=service name=service_loop}
|
||||
<tr>
|
||||
{if $smarty.foreach.service_loop.first}
|
||||
<td class="small white" width="35%" rowspan="{$group.services|@count}">{$group.room_type_name|escape:'html':'UTF-8'}<br />
|
||||
{$group.check_in_date|escape:'html':'UTF-8'} - {$group.check_out_date|escape:'html':'UTF-8'}<br />
|
||||
{l s='Room' pdf='true'} - {$group.room_count|intval}
|
||||
</td>
|
||||
{/if}
|
||||
<td class="small white" width="45%">{$service.name|escape:'html':'UTF-8'}</td>
|
||||
<td class="small white" width="20%">{$service.quantity|intval}</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
{/foreach}
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
{/if}
|
||||
|
||||
</table>
|
||||
|
||||
<table width="100%" border="0" cellpadding="0" cellspacing="0" style="margin:0;"><tr><td height="12"> </td></tr></table>
|
||||
|
||||
<table width="100%" border="0" cellpadding="0" cellspacing="0" style="margin:0;" nobr="true">
|
||||
<tr>
|
||||
<td width="50%" class="left" valign="top">
|
||||
<table class="bordered-table" width="100%" cellpadding="5" cellspacing="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th colspan="2" class="header-left small">{l s='PAYMENT INFORMATION' pdf='true'}</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="grey left small bold" width="40%">{l s='Payment Method' pdf='true'}</td>
|
||||
<td class="white left small" width="60%">{$payment_method nofilter}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="grey left small bold" width="40%">{l s='Payment Status' pdf='true'}</td>
|
||||
<td class="white left small" width="60%">{if $order_state && isset($order_state.name)}{$order_state.name|escape:'html':'UTF-8'}{/if}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
<td width="50%" class="left" valign="top">
|
||||
<table class="bordered-table" width="100%" cellpadding="5" cellspacing="0">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th colspan="2" class="header-left small">{l s='TOTAL AMOUNT' pdf='true'}</th>
|
||||
</tr>
|
||||
{if isset($footer.room_price_tax_excl) && $footer.room_price_tax_excl}
|
||||
<tr>
|
||||
<td class="grey small" width="70%">{l s='Total Rooms Cost (tax excl.)' pdf='true'}</td>
|
||||
<td class="white right small" width="30%">{displayPrice currency=$order->id_currency price=$footer.room_price_tax_excl}</td>
|
||||
</tr>
|
||||
{/if}
|
||||
{if isset($footer.service_products_price_tax_excl) && $footer.service_products_price_tax_excl}
|
||||
<tr>
|
||||
<td class="grey small" width="70%">{l s='Total Products cost (tax excl.)' pdf='true'}</td>
|
||||
<td class="white right small" width="30%">{displayPrice currency=$order->id_currency price=$footer.service_products_price_tax_excl}</td>
|
||||
</tr>
|
||||
{/if}
|
||||
{if isset($footer.additional_service_price_tax_excl) && $footer.additional_service_price_tax_excl}
|
||||
<tr>
|
||||
<td class="grey small" width="70%">{l s='Extra Services Cost (tax excl.)' pdf='true'}</td>
|
||||
<td class="white right small" width="30%">{displayPrice currency=$order->id_currency price=$footer.additional_service_price_tax_excl}</td>
|
||||
</tr>
|
||||
{/if}
|
||||
{if isset($footer.total_convenience_fee_te) && $footer.total_convenience_fee_te}
|
||||
<tr>
|
||||
<td class="grey small" width="70%">{l s='Convenience Fee (tax excl.)' pdf='true'}</td>
|
||||
<td class="white right small" width="30%">{displayPrice currency=$order->id_currency price=$footer.total_convenience_fee_te}</td>
|
||||
</tr>
|
||||
{/if}
|
||||
<tr>
|
||||
<td class="grey small bold" width="70%">{l s='Total (Tax excl.)' pdf='true'}</td>
|
||||
<td class="white right small bold" width="30%">{displayPrice currency=$order->id_currency price=$footer.total_without_discount_te}</td>
|
||||
</tr>
|
||||
{if $footer.total_tax_without_discount > 0}
|
||||
<tr>
|
||||
<td class="grey small bold" width="70%">{l s='Total Tax' pdf='true'}</td>
|
||||
<td class="white right small bold" width="30%">{displayPrice currency=$order->id_currency price=$footer.total_tax_without_discount}</td>
|
||||
</tr>
|
||||
{/if}
|
||||
{if isset($footer.product_discounts_tax_incl) && $footer.product_discounts_tax_incl > 0}
|
||||
<tr>
|
||||
<td class="grey small bold" width="70%">{l s='Total Discounts' pdf='true'}</td>
|
||||
<td class="white right small bold" width="30%">- {displayPrice currency=$order->id_currency price=$footer.product_discounts_tax_incl}</td>
|
||||
</tr>
|
||||
{/if}
|
||||
<tr>
|
||||
<td class="grey small bold big" width="70%">{l s='Final Booking Amount' pdf='true'}</td>
|
||||
<td class="white right small bold big" width="30%">{displayPrice currency=$order->id_currency price=$footer.total_paid_tax_incl}</td>
|
||||
</tr>
|
||||
{if $footer.amount_due > 0}
|
||||
<tr>
|
||||
<td class="grey small bold big" width="70%">{l s='Due Amount' pdf='true'}</td>
|
||||
<td class="white right small bold big" width="30%">{displayPrice currency=$order->id_currency price=$footer.amount_due}</td>
|
||||
</tr>
|
||||
{/if}
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
{if $cancellation_policy}
|
||||
<table width="100%" border="0" cellpadding="0" cellspacing="0" style="margin:0;"><tr><td height="12"> </td></tr></table>
|
||||
<table class="bordered-table" width="100%" cellpadding="5" cellspacing="0" nobr="true">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th colspan="2" class="header-left small">{l s='CANCELLATION POLICY' pdf='true'}</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="small white" colspan="2">{$cancellation_policy nofilter}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
{/if}
|
||||
|
||||
<table width="100%" border="0" cellpadding="0" cellspacing="0" style="margin:0;"><tr><td height="12"> </td></tr></table>
|
||||
|
||||
<table class="bordered-table" width="100%" cellpadding="5" cellspacing="0" nobr="true">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th class="header-left small">{l s='PROPERTY POLICIES' pdf='true'}</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="small white">
|
||||
<span class="bold">{l s='Check-in Time:' pdf='true'}</span>
|
||||
{if $hotel && $hotel->check_in && $hotel->check_in != '00:00:00'}{$hotel->check_in|escape:'html':'UTF-8'}{else}__________{/if}
|
||||
|
||||
<span class="bold">{l s='Check-out Time:' pdf='true'}</span>
|
||||
{if $hotel && $hotel->check_out && $hotel->check_out != '00:00:00'}{$hotel->check_out|escape:'html':'UTF-8'}{else}__________{/if}
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="small white">
|
||||
<span class="bold">{l s='Hotel Policies:' pdf='true'}</span><br />
|
||||
<br />
|
||||
{if isset($payment_policy) && $payment_policy|strip_tags|trim}
|
||||
{$payment_policy nofilter}
|
||||
{else}
|
||||
______________________________<br />
|
||||
______________________________<br />
|
||||
______________________________
|
||||
{/if}
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
{if isset($HOOK_DISPLAY_PDF) && $HOOK_DISPLAY_PDF|strip_tags|trim}
|
||||
<table width="100%" border="0" cellpadding="0" cellspacing="0" style="margin:0;"><tr><td height="10"> </td></tr></table>
|
||||
<table width="100%" border="0" cellpadding="0" cellspacing="0" style="margin:0;">
|
||||
<tr>
|
||||
<td>{$HOOK_DISPLAY_PDF}</td>
|
||||
</tr>
|
||||
</table>
|
||||
{/if}
|
||||
@@ -114,8 +114,8 @@
|
||||
</tr>
|
||||
{/foreach}
|
||||
{/if}
|
||||
{assign var=roomCount value=$roomCount+1}
|
||||
{/foreach}
|
||||
{assign var=roomCount value=$roomCount+1}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
@@ -103,6 +103,10 @@
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.template-name {
|
||||
color: brown;
|
||||
}
|
||||
|
||||
#table_assigned_vars th {
|
||||
color: blue;
|
||||
}
|
||||
@@ -123,7 +127,7 @@
|
||||
<h2>included templates & config files (load time in seconds)</h2>
|
||||
<div>
|
||||
{foreach $template_data as $template}
|
||||
<font color="brown">{$template.name}</font>
|
||||
<span class="template-name">{$template.name}</span>
|
||||
<span class="exectime">
|
||||
(compile {$template['compile_time']|string_format:"%.5f"}) (render {$template['render_time']|string_format:"%.5f"}) (cache {$template['cache_time']|string_format:"%.5f"}
|
||||
)
|
||||
|
||||
@@ -148,6 +148,16 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="detail-row">
|
||||
<div class=" title">{l s='Booking Voucher'}</div>
|
||||
<div class=" value payment-method">
|
||||
<span class="icon-pdf"></span>
|
||||
<a target="_blank" href="{$link->getPageLink('pdf-booking-voucher', true)}?id_order={$order->id|intval}{if $is_guest}&secure_key={$order->secure_key|escape:'html':'UTF-8'}{/if}" title="{l s='Click here to download booking voucher.'}">
|
||||
<span>{l s='Booking Voucher'}</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="detail-row">
|
||||
<div class="pull-left title">{l s='Status'}</div>
|
||||
<div class="pull-right value status">
|
||||
@@ -647,6 +657,16 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="detail-row">
|
||||
<div class=" title">{l s='Booking Voucher'}</div>
|
||||
<div class=" value payment-method">
|
||||
<span class="icon-pdf"></span>
|
||||
<a target="_blank" href="{$link->getPageLink('pdf-booking-voucher', true)}?id_order={$order->id|intval}{if $is_guest}&secure_key={$order->secure_key|escape:'html':'UTF-8'}{/if}" title="{l s='Click here to download booking voucher.'}">
|
||||
<span>{l s='Booking Voucher'}</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="detail-row">
|
||||
<div class="pull-left title">{l s='Status'}</div>
|
||||
<div class="pull-right value status">
|
||||
|
||||
Reference in New Issue
Block a user