diff --git a/admin/themes/default/sass/vendor/bootstrap-sass/_buttons.scss b/admin/themes/default/sass/vendor/bootstrap-sass/_buttons.scss index 271ae468f..75c8d0700 100644 --- a/admin/themes/default/sass/vendor/bootstrap-sass/_buttons.scss +++ b/admin/themes/default/sass/vendor/bootstrap-sass/_buttons.scss @@ -50,6 +50,14 @@ } } +// buttons text align +.btn-left { + text-align: left; +} +.btn-right { + text-align: right; +} + // Alternate buttons // -------------------------------------------------- @@ -140,8 +148,6 @@ .btn-block { display: block; width: 100%; - padding-left: 0; - padding-right: 0; } // Vertically space out multiple block buttons diff --git a/admin/themes/default/template/controllers/orders/_current_cart_details_data.tpl b/admin/themes/default/template/controllers/orders/_current_cart_details_data.tpl index b4159912d..35a13e9ac 100644 --- a/admin/themes/default/template/controllers/orders/_current_cart_details_data.tpl +++ b/admin/themes/default/template/controllers/orders/_current_cart_details_data.tpl @@ -23,7 +23,7 @@ {l s='Cart Details'}
| {l s='Room Image'} | {l s='Room Type'} | {l s='Duration'} | + {if $occupancy_required_for_booking} +{l s='Occupancy'} | + {/if}{l s='Unit Price (tax excl)'} | {l s='Additinal Facilities (tax excl)'} | {l s='Total Rooms Price (tax excl)'} | @@ -42,7 +45,7 @@ {if isset($cart_detail_data) && $cart_detail_data} {assign var=curr_id value=$cart->id_currency|intval} {foreach from=$cart_detail_data item=data} -||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| {$data.room_num|escape:'html':'UTF-8'} | @@ -58,13 +61,71 @@ {/if} | {dateFormat date=$data.date_from} - {dateFormat date=$data.date_to} | + {if $occupancy_required_for_booking} +
+
+
+
+
+ |
+ {/if}
{if $data.feature_price_diff != 0} {assign var=shown_room_type_price value=$data.feature_price_tax_excl} {else} {assign var=shown_room_type_price value=$data.product_price_tax_excl} {/if} - + | {if isset($data.extra_demands) && $data.extra_demands} diff --git a/admin/themes/default/template/controllers/orders/_documents.tpl b/admin/themes/default/template/controllers/orders/_documents.tpl index 6d7e49034..8b1436d34 100644 --- a/admin/themes/default/template/controllers/orders/_documents.tpl +++ b/admin/themes/default/template/controllers/orders/_documents.tpl @@ -112,7 +112,7 @@ {if !isset($document->is_delivery)} {if $document->getRestPaid()} - + {l s='Enter payment'} diff --git a/admin/themes/default/template/controllers/orders/_new_product.tpl b/admin/themes/default/template/controllers/orders/_new_product.tpl index e67cc63ff..141e9e68b 100644 --- a/admin/themes/default/template/controllers/orders/_new_product.tpl +++ b/admin/themes/default/template/controllers/orders/_new_product.tpl @@ -64,7 +64,7 @@ | - - {*{if ($order->hasBeenPaid())}{/if} {if $display_warehouse}{/if} {if ($order->hasBeenDelivered())}{/if} *} - + |
+ {if $order->with_occupancy && $data['children']}
+
+
+
+
+ {else}
+ {if $data['adults']}{$data['adults']}{/if} {if $data['adults'] > 1}{l s='Adults'}{else}{l s='Adult'}{/if}{if {$data['children']}}, {$data['children']} {if $data['children'] > 1}{l s='Children'}{else}{l s='Child'}{/if}{/if}
+ {/if}
+ {if $order->with_occupancy}
+
+ {else}
+
+ {/if}
|
diff --git a/admin/themes/default/template/controllers/orders/form.tpl b/admin/themes/default/template/controllers/orders/form.tpl
index 28280d9ba..48cd3737c 100644
--- a/admin/themes/default/template/controllers/orders/form.tpl
+++ b/admin/themes/default/template/controllers/orders/form.tpl
@@ -241,12 +241,13 @@
e.preventDefault();
var cart_row = $(this).closest('tr');
var params = {
- id_booking_data: parseInt($(this).attr('data-id-booking-data')),
- id_product: parseInt($(this).attr('data-id-product')),
- id_room: parseInt($(this).attr('data-id-room')),
- date_from: $(this).attr('data-date-from'),
- date_to: $(this).attr('data-date-to'),
- price: $(this).val(),
+ id_booking_data: parseInt($(cart_row).attr('data-id-booking-data')),
+ id_product: parseInt($(cart_row).attr('data-id-product')),
+ id_room: parseInt($(cart_row).attr('data-id-room')),
+ date_from: $(cart_row).attr('data-date-from'),
+ date_to: $(cart_row).attr('data-date-to'),
+ price: new Number($(this).val().replace(",",".")).toFixed(4).toString(),
+ id_cart: id_cart
};
updateProductPrice(params, cart_row);
})
@@ -272,6 +273,7 @@
}
});
});
+
resetBind();
$('#customer').focus();
@@ -332,6 +334,205 @@
$('#search-customer-form-group').show();
$(this).blur();
});
+
+ {literal}
+ $(document).on('click', '.booking_occupancy_wrapper .remove-room-link', function(e) {
+ e.preventDefault();
+
+ booking_occupancy_inner = $(this).closest('.booking_occupancy_inner');
+ $(this).closest('.occupancy_info_block').remove();
+ $(booking_occupancy_inner).find('.room_num_wrapper').each(function(key, val) {
+ $(this).text(room_txt + ' - '+ (key+1) );
+ });
+ setRoomTypeGuestOccupancy($(booking_occupancy_inner).closest('.booking_occupancy_wrapper'));
+ });
+
+ $(document).on('change', '.num_occupancy', function(e) {
+ let current_room_occupancy = 0;
+ $(this).closest('.occupancy_info_block').find('.num_occupancy').each(function(){
+ current_room_occupancy += parseInt($(this).val());
+ });
+ let max_guests_in_room = $(this).closest(".booking_occupancy_wrapper").find('.max_guests').val();
+ let max_allowed_for_current = (max_guests_in_room - current_room_occupancy) + parseInt($(this).val());
+ if ($(this).val() > $(this).attr('max')) {
+ $(this).val($(this).attr('max'));
+ }
+ if ($(this).val() > max_allowed_for_current) {
+ $(this).val(max_allowed_for_current);
+ }
+ if ($(this).hasClass('num_children')) {
+ var totalChilds = $(this).closest('.occupancy_info_block').find('.guest_child_age').length;
+ if (totalChilds < $(this).val()) {
+ if (totalChilds < max_child_in_room) {
+ $(this).closest('.occupancy_info_block').find('.children_age_info_block').show();
+ while ($(this).closest('.occupancy_info_block').find('.guest_child_age').length < $(this).val()) {
+
+
+ var roomBlockIndex = parseInt($(this).closest('.occupancy_info_block').attr('occ_block_index'));
+
+ var childAgeSelect = ' '; + childAgeSelect += ''; + childAgeSelect += ' '; + $(this).closest('.occupancy_info_block').find('.children_ages').append(childAgeSelect); + } + } + } else { + let child = $(this).val(); + $(this).closest('.occupancy_info_block').find('.guest_child_age').each(function(ind, element) { + if (child <= ind) { + $(element).parent().remove(); + } + }); + if (child == 0) { + $(this).closest('.occupancy_info_block').find('.children_age_info_block').hide(); + } + + } + } + setRoomTypeGuestOccupancy($(this).closest('.booking_occupancy_wrapper')); + + }); + + + $(document).on('click', '.booking_guest_occupancy', function(e) { + $(this).parent().toggleClass('open'); + }); + + $(document).on('click', function(e) { + if ($('.booking_occupancy_wrapper:visible').length) { + var occupancy_wrapper = $('.booking_occupancy_wrapper:visible'); + $(occupancy_wrapper).find(".occupancy_info_block").addClass('selected'); + if (!($(e.target).closest(".booking_occupancy_wrapper").length || $(e.target).closest(".booking_guest_occupancy").length || $(e.target).closest(".ajax_add_to_cart_button").length || $(e.target).closest(".exclusive.book_now_submit").length)) { + let hasErrors = 0; + + let adults = $(occupancy_wrapper).find(".num_adults").map(function(){return $(this).val();}).get(); + let children = $(occupancy_wrapper).find(".num_children").map(function(){return $(this).val();}).get(); + let child_ages = $(occupancy_wrapper).find(".guest_child_age").map(function(){return $(this).val();}).get(); + + // start validating above values + if (!adults.length || (adults.length != children.length)) { + hasErrors = 1; + showErrorMessage(invalid_occupancy_txt); + } else { + $(occupancy_wrapper).find('.occupancy_count').removeClass('error_border'); + + // validate values of adults and children + adults.forEach(function (item, index) { + if (isNaN(item) || parseInt(item) < 1) { + hasErrors = 1; + $(occupancy_wrapper).find(".num_adults").eq(index).closest('.occupancy_count_block').find('.occupancy_count').addClass('error_border'); + } + if (isNaN(children[index])) { + hasErrors = 1; + $(occupancy_wrapper).find(".num_children").eq(index).closest('.occupancy_count_block').find('.occupancy_count').addClass('error_border'); + } + }); + + // validate values of selected child ages + $(occupancy_wrapper).find('.guest_child_age').parent().removeClass('has-error'); + child_ages.forEach(function (age, index) { + age = parseInt(age); + if (isNaN(age) || (age < 0) || (age >= parseInt(max_child_age))) { + hasErrors = 1; + $(occupancy_wrapper).find(".guest_child_age").eq(index).parent().addClass('has-error'); + } + }); + } + if (hasErrors == 0) { + $(occupancy_wrapper).parent().removeClass('open'); + $(document).trigger( "QloApps:updateRoomOccupancy", [occupancy_wrapper]); + } + } + } + }); + + $(document).on('QloApps:updateRoomOccupancy', function (e, occupancy_wrapper) { + e.preventDefault(); + let cart_row = $(occupancy_wrapper).closest('tr'); + let occupancy = getBookingOccupancyDetails(cart_row); + let params = { + id_cart: id_cart, + id_booking_data: parseInt($(cart_row).attr('data-id-booking-data')), + occupancy : occupancy.shift(), + }; + updateRoomOccupancy(params, cart_row); + }); + + function getBookingOccupancyDetails(bookingform) + { + let occupancy = []; + let selected_occupancy = $(bookingform).find(".occupancy_info_block.selected") + if (selected_occupancy.length) { + $(selected_occupancy).each(function(ind, element) { + if (parseInt($(element).find('.num_adults').val())) { + let child_ages = []; + $(element).find('.guest_child_age').each(function(index) { + if ($(this).val() > -1) { + child_ages.push($(this).val()); + } + }); + if ($(element).find('.num_children').val()) { + if (child_ages.length != $(element).find('.num_children').val()) { + $(bookingform).find('.booking_occupancy_wrapper').parent().addClass('open'); + } + } + occupancy.push({ + 'adults': $(element).find('.num_adults').val(), + 'children': $(element).find('.num_children').val(), + 'child_ages': child_ages + }); + } else { + $(bookingform).find('.booking_occupancy_wrapper').parent().addClass('open'); + } + }); + } else { + $(bookingform).find('.booking_occupancy_wrapper').parent().addClass('open'); + } + + return occupancy; + } + + function setRoomTypeGuestOccupancy(booking_occupancy_wrapper) + { + var adults = 0; + var children = 0; + var rooms = $(booking_occupancy_wrapper).find('.occupancy_info_block').length; + + $(booking_occupancy_wrapper).find(".num_adults" ).each(function(key, val) { + adults += parseInt($(this).val()); + }); + $(booking_occupancy_wrapper).find(".num_children" ).each(function(key, val) { + children += parseInt($(this).val()); + }); + + var guestButtonVal = parseInt(adults) + ' '; + if (parseInt(adults) > 1) { + guestButtonVal += adults_txt; + } else { + guestButtonVal += adult_txt; + } + if (parseInt(children) > 0) { + if (parseInt(children) > 1) { + guestButtonVal += ', ' + parseInt(children) + ' ' + children_txt; + } else { + guestButtonVal += ', ' + parseInt(children) + ' ' + child_txt; + } + } + // if (parseInt(rooms) > 1) { + // guestButtonVal += ', ' + parseInt(rooms) + ' ' + rooms_txt; + // } else { + // guestButtonVal += ', ' + parseInt(rooms) + ' ' + room_txt; + // } + // console.log($(booking_occupancy_wrapper).siblings('.booking_guest_occupancy > span')); + $(booking_occupancy_wrapper).siblings('.booking_guest_occupancy').find('span').text(guestButtonVal); + } + {/literal} }); function resetBind() @@ -389,12 +590,8 @@ }); } - function updateProductPrice(params, cart_row) { - $.extend(params, { - id_cart: id_cart, - price: new Number(params.price.replace(",",".")).toFixed(4).toString(), - }); - + function updateProductPrice(params, cart_row) + { $.ajax({ type:"POST", url: "{$link->getAdminLink('AdminCarts')|addslashes}", @@ -414,6 +611,29 @@ }); } + function updateRoomOccupancy(params, cart_row) + { + debugger; + $.ajax({ + type:"POST", + url: "{$link->getAdminLink('AdminCarts')|addslashes}", + async: true, + dataType: "JSON", + data: { + ajax: "1", + token: "{getAdminToken tab='AdminCarts'}", + tab: "AdminCarts", + action: "updateRoomOccupancy", + params: params, + }, + success : function(response) { + updateCartLine(response.curr_booking_info, cart_row); + updateCartSummaryData(response.cart_info); + } + }); + } + + function updateCartLine(data, cart_row) { $(cart_row).find('.cart_line_total_rooms_price').html(data.amt_with_qty); $(cart_row).find('.cart_line_total_price').html(data.total_price); @@ -1807,6 +2027,23 @@ +{strip} + {addJsDef max_child_age=$max_child_age} + {addJsDef max_child_in_room=$max_child_in_room} + {addJsDefL name='select_age_txt'}{l s='Select age' js=1}{/addJsDefL} + {addJsDefL name='under_1_age'}{l s='Under 1' js=1}{/addJsDefL} + {addJsDefL name='room_txt'}{l s='Room' js=1}{/addJsDefL} + {addJsDefL name='rooms_txt'}{l s='Rooms' js=1}{/addJsDefL} + {addJsDefL name='remove_txt'}{l s='Remove' js=1}{/addJsDefL} + {addJsDefL name='adult_txt'}{l s='Adult' js=1}{/addJsDefL} + {addJsDefL name='adults_txt'}{l s='Adults' js=1}{/addJsDefL} + {addJsDefL name='child_txt'}{l s='Child' js=1}{/addJsDefL} + {addJsDefL name='children_txt'}{l s='Children' js=1}{/addJsDefL} + {addJsDefL name='below_txt'}{l s='Below' js=1}{/addJsDefL} + {addJsDefL name='years_txt'}{l s='years' js=1}{/addJsDefL} + {addJsDefL name='all_children_txt'}{l s='All Children' js=1}{/addJsDefL} + {addJsDefL name='invalid_occupancy_txt'}{l s='Invalid occupancy(adults/children) found.' js=1}{/addJsDefL} +{/strip}
diff --git a/admin/themes/default/template/controllers/orders/helpers/view/view.tpl b/admin/themes/default/template/controllers/orders/helpers/view/view.tpl
index 784324e04..b84467ddd 100644
--- a/admin/themes/default/template/controllers/orders/helpers/view/view.tpl
+++ b/admin/themes/default/template/controllers/orders/helpers/view/view.tpl
@@ -470,7 +470,7 @@
-
+
@@ -1034,7 +1128,7 @@
-
{l s="Payment"} {$order->getOrderPayments()|@count}
@@ -495,13 +495,14 @@
{/foreach} *}
{/if}
-
{if (!$order->valid && sizeof($currencies) > 1)}
+
+ {/if}
{hook h="displayAdminOrderRight" id_order=$order->id}
+ {l s='Refunds'}
+
+
+
{l s='Rooms In This Order'} {$order_detail_data|@count}
@@ -1054,6 +1148,7 @@
{/if}
@@ -1485,6 +1585,21 @@
{addJsDefL name=txtSomeErr}{l s='Some error occurred. Please try again.' js=1}{/addJsDefL}
{addJsDefL name=txtDeleteSucc}{l s='Deleted successfully' js=1}{/addJsDefL}
{addJsDefL name=txtInvalidDemandVal}{l s='Invalid demand value found' js=1}{/addJsDefL}
+ {addJsDefL name='select_age_txt'}{l s='Select age' js=1}{/addJsDefL}
+ {addJsDefL name='under_1_age'}{l s='Under 1' js=1}{/addJsDefL}
+ {addJsDefL name='room_txt'}{l s='Room' js=1}{/addJsDefL}
+ {addJsDefL name='rooms_txt'}{l s='Rooms' js=1}{/addJsDefL}
+ {addJsDefL name='remove_txt'}{l s='Remove' js=1}{/addJsDefL}
+ {addJsDefL name='adult_txt'}{l s='Adult' js=1}{/addJsDefL}
+ {addJsDefL name='adults_txt'}{l s='Adults' js=1}{/addJsDefL}
+ {addJsDefL name='child_txt'}{l s='Child' js=1}{/addJsDefL}
+ {addJsDefL name='children_txt'}{l s='Children' js=1}{/addJsDefL}
+ {addJsDefL name='below_txt'}{l s='Below' js=1}{/addJsDefL}
+ {addJsDefL name='years_txt'}{l s='years' js=1}{/addJsDefL}
+ {addJsDefL name='all_children_txt'}{l s='All Children' js=1}{/addJsDefL}
+ {addJsDefL name='invalid_occupancy_txt'}{l s='Invalid occupancy(adults/children) found.' js=1}{/addJsDefL}
+ {addJsDef max_child_age=$max_child_age|escape:'quotes':'UTF-8'}
+ {addJsDef max_child_in_room=$max_child_in_room|escape:'quotes':'UTF-8'}
{/strip}
{* Apply javascript for the page *}
diff --git a/admin/themes/default/template/controllers/products/occupancy.tpl b/admin/themes/default/template/controllers/products/occupancy.tpl
index c38cd0b92..1605e2818 100644
--- a/admin/themes/default/template/controllers/products/occupancy.tpl
+++ b/admin/themes/default/template/controllers/products/occupancy.tpl
@@ -24,27 +24,25 @@
{l s='Room Type'} |
{l s='Hotel Name'} |
{l s='Duration'} |
+ {l s='Occupancy'} |
{l s='Unit Price (Tax excl.)'} |
{l s='Total Price (Tax incl.)'} |
{if isset($refundReqBookings) && $refundReqBookings}
@@ -1113,9 +1208,14 @@
{if $refund_allowed && !$hasCompletelyRefunded}
-
+
+
+
+
{/if}
{l s='Occupancy'}
- {l s='Set the occupancy of this room type. Enter how much adults and children this room type can accomodate.'}
-
- {l s='Note'} : {l s='These occupancy settings will not affect "ROOM TYPE ADDITIONAL FACILITIES" any way. It will work separately.'} + {l s='Below, enter the base occupancy of this room type.'}
-
+
@@ -53,6 +51,46 @@
+ + +
+ {l s='Below, enter the maximum of adults or children which can be accommodated in a room of this room type. Also, enter maximum number of guests for this room type.'}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
";if(!f.monthSelect)return n;var r=!!f.startDate&&Q(f.startDate).add(f.singleMonth||"month2"!==t?0:1,"month"),s=!!f.endDate&&Q(f.endDate).add(f.singleMonth||"month1"!==t?0:-1,"month"),o=r&&e.isSame(r,"year")?r.get("month"):0,i=s&&e.isSame(s,"year")?s.get("month"):11,d=Math.min(o,a),l=Math.max(i,a);if(d===l)return n;return P("month",V({minSelectable:o,maxSelectable:i,minVisible:d,maxVisible:l},a,function(e){return A(e)}))}(e=Q(e).toDate(),t),n=function(e,t){var a=(e=Q(e)).get("year"),n='
+
+
+ '+a+" ";if(!f.yearSelect)return n;var r=f.yearSelect&&"function"==typeof f.yearSelect,s=!!f.startDate&&Q(f.startDate).add(f.singleMonth||"month2"!==t?0:1,"month"),o=!!f.endDate&&Q(f.endDate).add(f.singleMonth||"month1"!==t?0:-1,"month"),i=r?f.yearSelect(a):f.yearSelect.slice(),d=s?Math.max(i[0],s.get("year")):Math.min(i[0],a),l=o?Math.min(i[1],o.get("year")):Math.max(i[1],a),u=Math.min(d,a),m=Math.max(l,a);if(u===m)return n;return P("year",V({minSelectable:d,maxSelectable:l,minVisible:u,maxVisible:m},a))}(e,t);m.find("."+t+" .month-name").html(a+" "+n),m.find("."+t+" tbody").html(function(e){var t=[];e.setDate(1);new Date(e.getTime()-864e5);var a,n,r=new Date,s=e.getDay();0===s&&"monday"===f.startOfWeek&&(s=7);if(0 | "),l.push("'+f.getWeekNumber(a.date)+" | ")}l.push(""+J(a.time,a.day)+" | "+K("week-1")+" | "+K("week-2")+" | "+K("week-3")+" | "+K("week-4")+" | "+K("week-5")+" | "+K("week-6")+" | "+K("week-7")+" | ":e+""+K("week-7")+" | "+K("week-1")+" | "+K("week-2")+" | "+K("week-3")+" | "+K("week-4")+" | "+K("week-5")+" | "+K("week-6")+" | "}function q(e){return e=Q(e),!(!f.startDate||!e.endOf("month").isBefore(f.startDate))||!(!f.endDate||!e.startOf("month").isAfter(f.endDate))}function $(e,t,r){var s=U.extend(!0,{},e);U.each(t,function(e,t){var a=t(r);for(var n in a)s.hasOwnProperty(n)?s[n]+=a[n]:s[n]=a[n]});var a="";for(var n in s)s.hasOwnProperty(n)&&(a+=n+'="'+s[n]+'" ');return a}function J(e,t){return f.showDateFilter&&"function"==typeof f.showDateFilter?f.showDateFilter(e,t):t}function K(e){var t=e.toLowerCase(),a=e in r?r[e]:t in r?r[t]:null,n=U.dateRangePickerLanguages.default;return null==a&&(a=e in n?n[e]:t in n?n[t]:""),a}function _(){var e=f.defaultTime?f.defaultTime:new Date;return f.lookBehind?(f.startDate&&L(e,f.startDate)<0&&(e=F(Q(f.startDate).toDate())),f.endDate&&0
Hi {firstname} {lastname}, - Thanks for your order with the reference {order_name} from {shop_name}. + Thank you for shopping with {shop_name}! |
@@ -86,9 +86,10 @@
- Order {order_name} - Item(s) out of stock - - Unfortunately, one or more items are currently out of stock. This may cause a slight delay in your delivery. Please accept our apologies and rest assured that we are working hard to rectify this. + Order {order_name} - Awaiting payment + + Order reference: {order_name}+ Payment method: {payment_method} |
@@ -99,6 +100,7 @@ | |||||||||||||||||||||||||||||||||||||||||||||||
| @@ -111,11 +113,12 @@ | - If you have a guest account, you can follow your order via the "Guest Tracking" section on our shop. + If you have a guest account, you can follow your order via the "Guest Tracking" section on our shop. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| - |
-
|
- - |
| - |
-
|
- - |
| @@ -73,7 +73,6 @@ |
Hi {firstname} {lastname}, - Your request for booking cancellation has been recieved. |
- Order details ++ VOUCHER GENERATED + - Order: {order_reference} Placed on {order_date}- Refund Status: {status_name} + Your voucher has been generated successfully against your credit slip #{credit_slip_id}. + + Voucher Code: {voucher_code} for an amount of {voucher_amount}. + To use this voucher just copy and paste this code during payment process for your next order. |
@@ -99,35 +102,6 @@
Booking details
-| Room Type | -Hotel | -Num. Rooms | -Duration | -
|---|
Booking details
+Requested Booking Cancellations
| - |
-
|
- - |
| + |
+
+ + {l s='Here are the bank details for your transfer:' mod='bankwire' lang=$lang} + + + {l s='Amount:' mod='bankwire' lang=$lang} {literal}{total_paid}{/literal}+ {l s='Account owner:' mod='bankwire' lang=$lang} {$bankwire_owner} + {l s='Account details:' mod='bankwire' lang=$lang} {$bankwire_details} + {l s='Bank address:' mod='bankwire' lang=$lang} {$bankwire_address} + + + |
+ + |
| {l s='Duration' mod='hotelreservationsystem'} | {l s='Room No.' mod='hotelreservationsystem'} | -{l s='Duration' mod='hotelreservationsystem'} | -{l s='Allotment Type' mod='hotelreservationsystem'} | -{l s='Action' mod='hotelreservationsystem'} | +{l s='Allotment Type' mod='hotelreservationsystem'} | + {if $occupancy_required_for_booking} +{l s='Guests' mod='hotelreservationsystem'} | + {/if} +{l s='Action' mod='hotelreservationsystem'} | ||
|---|---|---|---|---|---|---|---|---|---|
| {$part_v['room_num']|escape:'htmlall':'UTF-8'} | -
-
|
-
+
+
+
+
+ |
+ {/if}
+ + + | + + {/foreach} {/foreach}||||||
| {dateFormat date=date('Y-m-d', strtotime($rm_dtl_v['date_from']))} - {dateFormat date=date('Y-m-d', strtotime($rm_dtl_v['date_to']))} | -{$rm_dtl_v['comment']|escape:'htmlall':'UTF-8'} | -- {if $rm_dtl_v['booking_type'] == HotelBookingDetail::ALLOTMENT_AUTO}{l s='Auto Allotment' mod='hotelreservationsystem'}{elseif $rm_dtl_v['booking_type'] == HotelBookingDetail::ALLOTMENT_MANUAL}{l s='Manual Allotment' mod='hotelreservationsystem'}{/if} - | -- {if $rm_dtl_v['booking_type'] == HotelBookingDetail::ALLOTMENT_AUTO} - - {else} - -- - {/if} - | -
{l s='Search Rooms' mod='wkroomsearchblock'}
- {$data_v['adult']} {l s='Adults'}, {$data_v['children']} {l s='Children'} + {$data_v['adults']} {l s='Adults'}, {$data_v['children']} {l s='Children'}
-
- {$rm_v['num_rm']}
+ {if $rm_v['adults'] <= 9}0{$rm_v['adults']}{else}{$rm_v['adults']}{/if} {if $rm_v['adults'] > 1}{l s='Adults'}{else}{l s='Adult'}{/if}{if $rm_v['children']}, {if $rm_v['children'] <= 9}0{$rm_v['children']}{else} {$rm_v['children']}{/if} {if $rm_v['children'] > 1}{l s='Children'}{else}{l s='Child'}{/if}{/if}
{if $rm_v['num_rm'] <= 9}0{/if}{$rm_v['num_rm']} {if $rm_v['num_rm'] > 1}{l s='Rooms'}{else}{l s='Room'}{/if}