Merge branch 'develop' into gli-2967_2

This commit is contained in:
amit sharma
2026-08-07 19:08:00 +05:30
319 changed files with 18468 additions and 4388 deletions

File diff suppressed because it is too large Load Diff

Before

Width:  |  Height:  |  Size: 306 KiB

After

Width:  |  Height:  |  Size: 434 KiB

View File

@@ -1,8 +1,5 @@
// Make sure the charset is set appropriately
@charset "UTF-8"
//Compass is required to pre-compile this stylesheets to .css
@import "compass"
@import "modules/colors"
@import "modules/variables"
@import "modules/mixins"
@@ -108,6 +105,8 @@
@import "partials/select2"
@import "partials/ndv3"
@import "partials/tooltip"
//Backward compatibility
@import "partials/backward"

View File

@@ -112,6 +112,8 @@
//RTL
@import "partials/rtl"
@import "partials/tooltip"
//Backward compatibility
@import "partials/backward"

View File

@@ -14,3 +14,41 @@
i
font-size: $size/3*2
line-height: $size
// Vendor-prefix helper (replaces Compass experimental mixin)
@mixin experimental($property, $value)
-webkit-#{$property}: $value
-moz-#{$property}: $value
-ms-#{$property}: $value
#{$property}: $value
// Returns $dark or $light based on $color luminance (replaces Compass contrast-color)
@function contrast-color($color, $dark, $light)
@if lightness($color) > 50%
@return $dark
@else
@return $light
// Opacity with IE filter fallback
@mixin opacity($value)
opacity: $value
filter: alpha(opacity=#{$value * 100})
// Text shadow
@mixin text-shadow($values...)
text-shadow: $values
// Transform with vendor prefixes
@mixin transform($values...)
-webkit-transform: $values
-ms-transform: $values
transform: $values
// Transform style with vendor prefix
@mixin transform-style($value: preserve-3d)
-webkit-transform-style: $value
transform-style: $value
// Background image wrapper
@mixin background-image($values...)
background-image: $values

View File

@@ -66,6 +66,12 @@ a.link-social
text-decoration: none
.link-twitter i
color: #FFFFFF
background-color: #000000
&:hover
color: #000000
background-color: #FFFFFF
.link-twitter-classic i
color: white
background-color: #7CCEEF
&:hover

View File

@@ -449,3 +449,14 @@
@extend .icon-mail-reply
.process-icon-lock
@extend .icon-lock
$icon-x-twitter-svg: "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z'/%3E%3C/svg%3E"
.icon-twitter
&:before
background-color: currentColor
-webkit-mask: url($icon-x-twitter-svg) center / contain no-repeat
mask: url($icon-x-twitter-svg) center / contain no-repeat
.icon-twitter-classic
&:before
content: $fa-var-twitter

View File

@@ -0,0 +1,30 @@
.tooltip_cont
min-width: 280px
width: 100%
font-size: 14px
font-weight: 600
.tip_header
margin-bottom: 10px
.tip-body > div
margin-bottom: 6px
.tip_element_head
font-size: 12px
.tip_element_value
font-size: 14px
font-weight: 400
opacity: 0.8
.tip-body
display: grid
grid-template-columns: auto auto
&.tip-body-grid
grid-template-columns: 1fr 1fr
gap: 8px 16px
.ui-tooltip,
.ui-tooltip.ui-widget-content
border: none
padding: 10px
box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.15)

View File

@@ -7,6 +7,15 @@
border-radius: .1em;
}
.#{$fa-css-prefix}-pull-left { float: left; }
.#{$fa-css-prefix}-pull-right { float: right; }
.#{$fa-css-prefix} {
&.#{$fa-css-prefix}-pull-left { margin-right: .3em; }
&.#{$fa-css-prefix}-pull-right { margin-left: .3em; }
}
/* Deprecated as of 4.4.0 */
.pull-right { float: right; }
.pull-left { float: left; }

View File

@@ -3,11 +3,10 @@
.#{$fa-css-prefix} {
display: inline-block;
font: normal normal normal #{$fa-font-size-base}/1 FontAwesome; // shortening font declaration
font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration
font-size: inherit; // can't have font-size inherit on line above, so need to override
text-rendering: auto; // optimizelegibility throws things off #1094
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
transform: translate(0, 0); // ensures no half-pixel rendering in firefox
}

View File

@@ -163,6 +163,7 @@
.#{$fa-css-prefix}-github:before { content: $fa-var-github; }
.#{$fa-css-prefix}-unlock:before { content: $fa-var-unlock; }
.#{$fa-css-prefix}-credit-card:before { content: $fa-var-credit-card; }
.#{$fa-css-prefix}-feed:before,
.#{$fa-css-prefix}-rss:before { content: $fa-var-rss; }
.#{$fa-css-prefix}-hdd-o:before { content: $fa-var-hdd-o; }
.#{$fa-css-prefix}-bullhorn:before { content: $fa-var-bullhorn; }
@@ -437,7 +438,7 @@
.#{$fa-css-prefix}-stumbleupon:before { content: $fa-var-stumbleupon; }
.#{$fa-css-prefix}-delicious:before { content: $fa-var-delicious; }
.#{$fa-css-prefix}-digg:before { content: $fa-var-digg; }
.#{$fa-css-prefix}-pied-piper:before { content: $fa-var-pied-piper; }
.#{$fa-css-prefix}-pied-piper-pp:before { content: $fa-var-pied-piper-pp; }
.#{$fa-css-prefix}-pied-piper-alt:before { content: $fa-var-pied-piper-alt; }
.#{$fa-css-prefix}-drupal:before { content: $fa-var-drupal; }
.#{$fa-css-prefix}-joomla:before { content: $fa-var-joomla; }
@@ -487,11 +488,14 @@
.#{$fa-css-prefix}-life-ring:before { content: $fa-var-life-ring; }
.#{$fa-css-prefix}-circle-o-notch:before { content: $fa-var-circle-o-notch; }
.#{$fa-css-prefix}-ra:before,
.#{$fa-css-prefix}-resistance:before,
.#{$fa-css-prefix}-rebel:before { content: $fa-var-rebel; }
.#{$fa-css-prefix}-ge:before,
.#{$fa-css-prefix}-empire:before { content: $fa-var-empire; }
.#{$fa-css-prefix}-git-square:before { content: $fa-var-git-square; }
.#{$fa-css-prefix}-git:before { content: $fa-var-git; }
.#{$fa-css-prefix}-y-combinator-square:before,
.#{$fa-css-prefix}-yc-square:before,
.#{$fa-css-prefix}-hacker-news:before { content: $fa-var-hacker-news; }
.#{$fa-css-prefix}-tencent-weibo:before { content: $fa-var-tencent-weibo; }
.#{$fa-css-prefix}-qq:before { content: $fa-var-qq; }
@@ -502,7 +506,6 @@
.#{$fa-css-prefix}-send-o:before,
.#{$fa-css-prefix}-paper-plane-o:before { content: $fa-var-paper-plane-o; }
.#{$fa-css-prefix}-history:before { content: $fa-var-history; }
.#{$fa-css-prefix}-genderless:before,
.#{$fa-css-prefix}-circle-thin:before { content: $fa-var-circle-thin; }
.#{$fa-css-prefix}-header:before { content: $fa-var-header; }
.#{$fa-css-prefix}-paragraph:before { content: $fa-var-paragraph; }
@@ -573,6 +576,7 @@
.#{$fa-css-prefix}-venus:before { content: $fa-var-venus; }
.#{$fa-css-prefix}-mars:before { content: $fa-var-mars; }
.#{$fa-css-prefix}-mercury:before { content: $fa-var-mercury; }
.#{$fa-css-prefix}-intersex:before,
.#{$fa-css-prefix}-transgender:before { content: $fa-var-transgender; }
.#{$fa-css-prefix}-transgender-alt:before { content: $fa-var-transgender-alt; }
.#{$fa-css-prefix}-venus-double:before { content: $fa-var-venus-double; }
@@ -582,6 +586,7 @@
.#{$fa-css-prefix}-mars-stroke-v:before { content: $fa-var-mars-stroke-v; }
.#{$fa-css-prefix}-mars-stroke-h:before { content: $fa-var-mars-stroke-h; }
.#{$fa-css-prefix}-neuter:before { content: $fa-var-neuter; }
.#{$fa-css-prefix}-genderless:before { content: $fa-var-genderless; }
.#{$fa-css-prefix}-facebook-official:before { content: $fa-var-facebook-official; }
.#{$fa-css-prefix}-pinterest-p:before { content: $fa-var-pinterest-p; }
.#{$fa-css-prefix}-whatsapp:before { content: $fa-var-whatsapp; }
@@ -594,3 +599,191 @@
.#{$fa-css-prefix}-train:before { content: $fa-var-train; }
.#{$fa-css-prefix}-subway:before { content: $fa-var-subway; }
.#{$fa-css-prefix}-medium:before { content: $fa-var-medium; }
.#{$fa-css-prefix}-yc:before,
.#{$fa-css-prefix}-y-combinator:before { content: $fa-var-y-combinator; }
.#{$fa-css-prefix}-optin-monster:before { content: $fa-var-optin-monster; }
.#{$fa-css-prefix}-opencart:before { content: $fa-var-opencart; }
.#{$fa-css-prefix}-expeditedssl:before { content: $fa-var-expeditedssl; }
.#{$fa-css-prefix}-battery-4:before,
.#{$fa-css-prefix}-battery:before,
.#{$fa-css-prefix}-battery-full:before { content: $fa-var-battery-full; }
.#{$fa-css-prefix}-battery-3:before,
.#{$fa-css-prefix}-battery-three-quarters:before { content: $fa-var-battery-three-quarters; }
.#{$fa-css-prefix}-battery-2:before,
.#{$fa-css-prefix}-battery-half:before { content: $fa-var-battery-half; }
.#{$fa-css-prefix}-battery-1:before,
.#{$fa-css-prefix}-battery-quarter:before { content: $fa-var-battery-quarter; }
.#{$fa-css-prefix}-battery-0:before,
.#{$fa-css-prefix}-battery-empty:before { content: $fa-var-battery-empty; }
.#{$fa-css-prefix}-mouse-pointer:before { content: $fa-var-mouse-pointer; }
.#{$fa-css-prefix}-i-cursor:before { content: $fa-var-i-cursor; }
.#{$fa-css-prefix}-object-group:before { content: $fa-var-object-group; }
.#{$fa-css-prefix}-object-ungroup:before { content: $fa-var-object-ungroup; }
.#{$fa-css-prefix}-sticky-note:before { content: $fa-var-sticky-note; }
.#{$fa-css-prefix}-sticky-note-o:before { content: $fa-var-sticky-note-o; }
.#{$fa-css-prefix}-cc-jcb:before { content: $fa-var-cc-jcb; }
.#{$fa-css-prefix}-cc-diners-club:before { content: $fa-var-cc-diners-club; }
.#{$fa-css-prefix}-clone:before { content: $fa-var-clone; }
.#{$fa-css-prefix}-balance-scale:before { content: $fa-var-balance-scale; }
.#{$fa-css-prefix}-hourglass-o:before { content: $fa-var-hourglass-o; }
.#{$fa-css-prefix}-hourglass-1:before,
.#{$fa-css-prefix}-hourglass-start:before { content: $fa-var-hourglass-start; }
.#{$fa-css-prefix}-hourglass-2:before,
.#{$fa-css-prefix}-hourglass-half:before { content: $fa-var-hourglass-half; }
.#{$fa-css-prefix}-hourglass-3:before,
.#{$fa-css-prefix}-hourglass-end:before { content: $fa-var-hourglass-end; }
.#{$fa-css-prefix}-hourglass:before { content: $fa-var-hourglass; }
.#{$fa-css-prefix}-hand-grab-o:before,
.#{$fa-css-prefix}-hand-rock-o:before { content: $fa-var-hand-rock-o; }
.#{$fa-css-prefix}-hand-stop-o:before,
.#{$fa-css-prefix}-hand-paper-o:before { content: $fa-var-hand-paper-o; }
.#{$fa-css-prefix}-hand-scissors-o:before { content: $fa-var-hand-scissors-o; }
.#{$fa-css-prefix}-hand-lizard-o:before { content: $fa-var-hand-lizard-o; }
.#{$fa-css-prefix}-hand-spock-o:before { content: $fa-var-hand-spock-o; }
.#{$fa-css-prefix}-hand-pointer-o:before { content: $fa-var-hand-pointer-o; }
.#{$fa-css-prefix}-hand-peace-o:before { content: $fa-var-hand-peace-o; }
.#{$fa-css-prefix}-trademark:before { content: $fa-var-trademark; }
.#{$fa-css-prefix}-registered:before { content: $fa-var-registered; }
.#{$fa-css-prefix}-creative-commons:before { content: $fa-var-creative-commons; }
.#{$fa-css-prefix}-gg:before { content: $fa-var-gg; }
.#{$fa-css-prefix}-gg-circle:before { content: $fa-var-gg-circle; }
.#{$fa-css-prefix}-tripadvisor:before { content: $fa-var-tripadvisor; }
.#{$fa-css-prefix}-odnoklassniki:before { content: $fa-var-odnoklassniki; }
.#{$fa-css-prefix}-odnoklassniki-square:before { content: $fa-var-odnoklassniki-square; }
.#{$fa-css-prefix}-get-pocket:before { content: $fa-var-get-pocket; }
.#{$fa-css-prefix}-wikipedia-w:before { content: $fa-var-wikipedia-w; }
.#{$fa-css-prefix}-safari:before { content: $fa-var-safari; }
.#{$fa-css-prefix}-chrome:before { content: $fa-var-chrome; }
.#{$fa-css-prefix}-firefox:before { content: $fa-var-firefox; }
.#{$fa-css-prefix}-opera:before { content: $fa-var-opera; }
.#{$fa-css-prefix}-internet-explorer:before { content: $fa-var-internet-explorer; }
.#{$fa-css-prefix}-tv:before,
.#{$fa-css-prefix}-television:before { content: $fa-var-television; }
.#{$fa-css-prefix}-contao:before { content: $fa-var-contao; }
.#{$fa-css-prefix}-500px:before { content: $fa-var-500px; }
.#{$fa-css-prefix}-amazon:before { content: $fa-var-amazon; }
.#{$fa-css-prefix}-calendar-plus-o:before { content: $fa-var-calendar-plus-o; }
.#{$fa-css-prefix}-calendar-minus-o:before { content: $fa-var-calendar-minus-o; }
.#{$fa-css-prefix}-calendar-times-o:before { content: $fa-var-calendar-times-o; }
.#{$fa-css-prefix}-calendar-check-o:before { content: $fa-var-calendar-check-o; }
.#{$fa-css-prefix}-industry:before { content: $fa-var-industry; }
.#{$fa-css-prefix}-map-pin:before { content: $fa-var-map-pin; }
.#{$fa-css-prefix}-map-signs:before { content: $fa-var-map-signs; }
.#{$fa-css-prefix}-map-o:before { content: $fa-var-map-o; }
.#{$fa-css-prefix}-map:before { content: $fa-var-map; }
.#{$fa-css-prefix}-commenting:before { content: $fa-var-commenting; }
.#{$fa-css-prefix}-commenting-o:before { content: $fa-var-commenting-o; }
.#{$fa-css-prefix}-houzz:before { content: $fa-var-houzz; }
.#{$fa-css-prefix}-vimeo:before { content: $fa-var-vimeo; }
.#{$fa-css-prefix}-black-tie:before { content: $fa-var-black-tie; }
.#{$fa-css-prefix}-fonticons:before { content: $fa-var-fonticons; }
.#{$fa-css-prefix}-reddit-alien:before { content: $fa-var-reddit-alien; }
.#{$fa-css-prefix}-edge:before { content: $fa-var-edge; }
.#{$fa-css-prefix}-credit-card-alt:before { content: $fa-var-credit-card-alt; }
.#{$fa-css-prefix}-codiepie:before { content: $fa-var-codiepie; }
.#{$fa-css-prefix}-modx:before { content: $fa-var-modx; }
.#{$fa-css-prefix}-fort-awesome:before { content: $fa-var-fort-awesome; }
.#{$fa-css-prefix}-usb:before { content: $fa-var-usb; }
.#{$fa-css-prefix}-product-hunt:before { content: $fa-var-product-hunt; }
.#{$fa-css-prefix}-mixcloud:before { content: $fa-var-mixcloud; }
.#{$fa-css-prefix}-scribd:before { content: $fa-var-scribd; }
.#{$fa-css-prefix}-pause-circle:before { content: $fa-var-pause-circle; }
.#{$fa-css-prefix}-pause-circle-o:before { content: $fa-var-pause-circle-o; }
.#{$fa-css-prefix}-stop-circle:before { content: $fa-var-stop-circle; }
.#{$fa-css-prefix}-stop-circle-o:before { content: $fa-var-stop-circle-o; }
.#{$fa-css-prefix}-shopping-bag:before { content: $fa-var-shopping-bag; }
.#{$fa-css-prefix}-shopping-basket:before { content: $fa-var-shopping-basket; }
.#{$fa-css-prefix}-hashtag:before { content: $fa-var-hashtag; }
.#{$fa-css-prefix}-bluetooth:before { content: $fa-var-bluetooth; }
.#{$fa-css-prefix}-bluetooth-b:before { content: $fa-var-bluetooth-b; }
.#{$fa-css-prefix}-percent:before { content: $fa-var-percent; }
.#{$fa-css-prefix}-gitlab:before { content: $fa-var-gitlab; }
.#{$fa-css-prefix}-wpbeginner:before { content: $fa-var-wpbeginner; }
.#{$fa-css-prefix}-wpforms:before { content: $fa-var-wpforms; }
.#{$fa-css-prefix}-envira:before { content: $fa-var-envira; }
.#{$fa-css-prefix}-universal-access:before { content: $fa-var-universal-access; }
.#{$fa-css-prefix}-wheelchair-alt:before { content: $fa-var-wheelchair-alt; }
.#{$fa-css-prefix}-question-circle-o:before { content: $fa-var-question-circle-o; }
.#{$fa-css-prefix}-blind:before { content: $fa-var-blind; }
.#{$fa-css-prefix}-audio-description:before { content: $fa-var-audio-description; }
.#{$fa-css-prefix}-volume-control-phone:before { content: $fa-var-volume-control-phone; }
.#{$fa-css-prefix}-braille:before { content: $fa-var-braille; }
.#{$fa-css-prefix}-assistive-listening-systems:before { content: $fa-var-assistive-listening-systems; }
.#{$fa-css-prefix}-asl-interpreting:before,
.#{$fa-css-prefix}-american-sign-language-interpreting:before { content: $fa-var-american-sign-language-interpreting; }
.#{$fa-css-prefix}-deafness:before,
.#{$fa-css-prefix}-hard-of-hearing:before,
.#{$fa-css-prefix}-deaf:before { content: $fa-var-deaf; }
.#{$fa-css-prefix}-glide:before { content: $fa-var-glide; }
.#{$fa-css-prefix}-glide-g:before { content: $fa-var-glide-g; }
.#{$fa-css-prefix}-signing:before,
.#{$fa-css-prefix}-sign-language:before { content: $fa-var-sign-language; }
.#{$fa-css-prefix}-low-vision:before { content: $fa-var-low-vision; }
.#{$fa-css-prefix}-viadeo:before { content: $fa-var-viadeo; }
.#{$fa-css-prefix}-viadeo-square:before { content: $fa-var-viadeo-square; }
.#{$fa-css-prefix}-snapchat:before { content: $fa-var-snapchat; }
.#{$fa-css-prefix}-snapchat-ghost:before { content: $fa-var-snapchat-ghost; }
.#{$fa-css-prefix}-snapchat-square:before { content: $fa-var-snapchat-square; }
.#{$fa-css-prefix}-pied-piper:before { content: $fa-var-pied-piper; }
.#{$fa-css-prefix}-first-order:before { content: $fa-var-first-order; }
.#{$fa-css-prefix}-yoast:before { content: $fa-var-yoast; }
.#{$fa-css-prefix}-themeisle:before { content: $fa-var-themeisle; }
.#{$fa-css-prefix}-google-plus-circle:before,
.#{$fa-css-prefix}-google-plus-official:before { content: $fa-var-google-plus-official; }
.#{$fa-css-prefix}-fa:before,
.#{$fa-css-prefix}-font-awesome:before { content: $fa-var-font-awesome; }
.#{$fa-css-prefix}-handshake-o:before { content: $fa-var-handshake-o; }
.#{$fa-css-prefix}-envelope-open:before { content: $fa-var-envelope-open; }
.#{$fa-css-prefix}-envelope-open-o:before { content: $fa-var-envelope-open-o; }
.#{$fa-css-prefix}-linode:before { content: $fa-var-linode; }
.#{$fa-css-prefix}-address-book:before { content: $fa-var-address-book; }
.#{$fa-css-prefix}-address-book-o:before { content: $fa-var-address-book-o; }
.#{$fa-css-prefix}-vcard:before,
.#{$fa-css-prefix}-address-card:before { content: $fa-var-address-card; }
.#{$fa-css-prefix}-vcard-o:before,
.#{$fa-css-prefix}-address-card-o:before { content: $fa-var-address-card-o; }
.#{$fa-css-prefix}-user-circle:before { content: $fa-var-user-circle; }
.#{$fa-css-prefix}-user-circle-o:before { content: $fa-var-user-circle-o; }
.#{$fa-css-prefix}-user-o:before { content: $fa-var-user-o; }
.#{$fa-css-prefix}-id-badge:before { content: $fa-var-id-badge; }
.#{$fa-css-prefix}-drivers-license:before,
.#{$fa-css-prefix}-id-card:before { content: $fa-var-id-card; }
.#{$fa-css-prefix}-drivers-license-o:before,
.#{$fa-css-prefix}-id-card-o:before { content: $fa-var-id-card-o; }
.#{$fa-css-prefix}-quora:before { content: $fa-var-quora; }
.#{$fa-css-prefix}-free-code-camp:before { content: $fa-var-free-code-camp; }
.#{$fa-css-prefix}-telegram:before { content: $fa-var-telegram; }
.#{$fa-css-prefix}-thermometer-4:before,
.#{$fa-css-prefix}-thermometer:before,
.#{$fa-css-prefix}-thermometer-full:before { content: $fa-var-thermometer-full; }
.#{$fa-css-prefix}-thermometer-3:before,
.#{$fa-css-prefix}-thermometer-three-quarters:before { content: $fa-var-thermometer-three-quarters; }
.#{$fa-css-prefix}-thermometer-2:before,
.#{$fa-css-prefix}-thermometer-half:before { content: $fa-var-thermometer-half; }
.#{$fa-css-prefix}-thermometer-1:before,
.#{$fa-css-prefix}-thermometer-quarter:before { content: $fa-var-thermometer-quarter; }
.#{$fa-css-prefix}-thermometer-0:before,
.#{$fa-css-prefix}-thermometer-empty:before { content: $fa-var-thermometer-empty; }
.#{$fa-css-prefix}-shower:before { content: $fa-var-shower; }
.#{$fa-css-prefix}-bathtub:before,
.#{$fa-css-prefix}-s15:before,
.#{$fa-css-prefix}-bath:before { content: $fa-var-bath; }
.#{$fa-css-prefix}-podcast:before { content: $fa-var-podcast; }
.#{$fa-css-prefix}-window-maximize:before { content: $fa-var-window-maximize; }
.#{$fa-css-prefix}-window-minimize:before { content: $fa-var-window-minimize; }
.#{$fa-css-prefix}-window-restore:before { content: $fa-var-window-restore; }
.#{$fa-css-prefix}-times-rectangle:before,
.#{$fa-css-prefix}-window-close:before { content: $fa-var-window-close; }
.#{$fa-css-prefix}-times-rectangle-o:before,
.#{$fa-css-prefix}-window-close-o:before { content: $fa-var-window-close-o; }
.#{$fa-css-prefix}-bandcamp:before { content: $fa-var-bandcamp; }
.#{$fa-css-prefix}-grav:before { content: $fa-var-grav; }
.#{$fa-css-prefix}-etsy:before { content: $fa-var-etsy; }
.#{$fa-css-prefix}-imdb:before { content: $fa-var-imdb; }
.#{$fa-css-prefix}-ravelry:before { content: $fa-var-ravelry; }
.#{$fa-css-prefix}-eercast:before { content: $fa-var-eercast; }
.#{$fa-css-prefix}-microchip:before { content: $fa-var-microchip; }
.#{$fa-css-prefix}-snowflake-o:before { content: $fa-var-snowflake-o; }
.#{$fa-css-prefix}-superpowers:before { content: $fa-var-superpowers; }
.#{$fa-css-prefix}-wpexplorer:before { content: $fa-var-wpexplorer; }
.#{$fa-css-prefix}-meetup:before { content: $fa-var-meetup; }

View File

@@ -3,25 +3,58 @@
@mixin fa-icon() {
display: inline-block;
font: normal normal normal #{$fa-font-size-base}/1 FontAwesome; // shortening font declaration
font: normal normal normal #{$fa-font-size-base}/#{$fa-line-height-base} FontAwesome; // shortening font declaration
font-size: inherit; // can't have font-size inherit on line above, so need to override
text-rendering: auto; // optimizelegibility throws things off #1094
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
transform: translate(0, 0); // ensures no half-pixel rendering in firefox
}
@mixin fa-icon-rotate($degrees, $rotation) {
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation});
-ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation})";
-webkit-transform: rotate($degrees);
-ms-transform: rotate($degrees);
transform: rotate($degrees);
}
@mixin fa-icon-flip($horiz, $vert, $rotation) {
filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation});
-ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}, mirror=1)";
-webkit-transform: scale($horiz, $vert);
-ms-transform: scale($horiz, $vert);
transform: scale($horiz, $vert);
}
// Only display content to screen readers. A la Bootstrap 4.
//
// See: http://a11yproject.com/posts/how-to-hide-content/
@mixin sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0,0,0,0);
border: 0;
}
// Use in conjunction with .sr-only to only display content when it's focused.
//
// Useful for "Skip to main content" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1
//
// Credit: HTML5 Boilerplate
@mixin sr-only-focusable {
&:active,
&:focus {
position: static;
width: auto;
height: auto;
margin: 0;
overflow: visible;
clip: auto;
}
}

View File

@@ -0,0 +1,5 @@
// Screen Readers
// -------------------------
.sr-only { @include sr-only(); }
.sr-only-focusable { @include sr-only-focusable(); }

View File

@@ -2,22 +2,30 @@
// --------------------------
$fa-font-path: "../fonts" !default;
$img-path: "../img" !default;
$img-path: "../img" !default;
$fa-font-size-base: 14px !default;
//$fa-font-path: "//netdna.bootstrapcdn.com/font-awesome/4.3.0/fonts" !default; // for referencing Bootstrap CDN font files directly
$fa-line-height-base: 1 !default;
//$fa-font-path: "//netdna.bootstrapcdn.com/font-awesome/4.7.0/fonts" !default; // for referencing Bootstrap CDN font files directly
$fa-css-prefix: fa !default;
$fa-version: "4.3.0" !default;
$fa-version: "4.7.0" !default;
$fa-border-color: #eee !default;
$fa-inverse: #fff !default;
$fa-li-width: (30em / 14) !default;
$fa-var-500px: "\f26e";
$fa-var-address-book: "\f2b9";
$fa-var-address-book-o: "\f2ba";
$fa-var-address-card: "\f2bb";
$fa-var-address-card-o: "\f2bc";
$fa-var-adjust: "\f042";
$fa-var-adn: "\f170";
$fa-var-align-center: "\f037";
$fa-var-align-justify: "\f039";
$fa-var-align-left: "\f036";
$fa-var-align-right: "\f038";
$fa-var-amazon: "\f270";
$fa-var-ambulance: "\f0f9";
$fa-var-american-sign-language-interpreting: "\f2a3";
$fa-var-anchor: "\f13d";
$fa-var-android: "\f17b";
$fa-var-angellist: "\f209";
@@ -48,16 +56,34 @@ $fa-var-arrows: "\f047";
$fa-var-arrows-alt: "\f0b2";
$fa-var-arrows-h: "\f07e";
$fa-var-arrows-v: "\f07d";
$fa-var-asl-interpreting: "\f2a3";
$fa-var-assistive-listening-systems: "\f2a2";
$fa-var-asterisk: "\f069";
$fa-var-at: "\f1fa";
$fa-var-audio-description: "\f29e";
$fa-var-automobile: "\f1b9";
$fa-var-backward: "\f04a";
$fa-var-balance-scale: "\f24e";
$fa-var-ban: "\f05e";
$fa-var-bandcamp: "\f2d5";
$fa-var-bank: "\f19c";
$fa-var-bar-chart: "\f080";
$fa-var-bar-chart-o: "\f080";
$fa-var-barcode: "\f02a";
$fa-var-bars: "\f0c9";
$fa-var-bath: "\f2cd";
$fa-var-bathtub: "\f2cd";
$fa-var-battery: "\f240";
$fa-var-battery-0: "\f244";
$fa-var-battery-1: "\f243";
$fa-var-battery-2: "\f242";
$fa-var-battery-3: "\f241";
$fa-var-battery-4: "\f240";
$fa-var-battery-empty: "\f244";
$fa-var-battery-full: "\f240";
$fa-var-battery-half: "\f242";
$fa-var-battery-quarter: "\f243";
$fa-var-battery-three-quarters: "\f241";
$fa-var-bed: "\f236";
$fa-var-beer: "\f0fc";
$fa-var-behance: "\f1b4";
@@ -72,12 +98,17 @@ $fa-var-birthday-cake: "\f1fd";
$fa-var-bitbucket: "\f171";
$fa-var-bitbucket-square: "\f172";
$fa-var-bitcoin: "\f15a";
$fa-var-black-tie: "\f27e";
$fa-var-blind: "\f29d";
$fa-var-bluetooth: "\f293";
$fa-var-bluetooth-b: "\f294";
$fa-var-bold: "\f032";
$fa-var-bolt: "\f0e7";
$fa-var-bomb: "\f1e2";
$fa-var-book: "\f02d";
$fa-var-bookmark: "\f02e";
$fa-var-bookmark-o: "\f097";
$fa-var-braille: "\f2a1";
$fa-var-briefcase: "\f0b1";
$fa-var-btc: "\f15a";
$fa-var-bug: "\f188";
@@ -90,7 +121,11 @@ $fa-var-buysellads: "\f20d";
$fa-var-cab: "\f1ba";
$fa-var-calculator: "\f1ec";
$fa-var-calendar: "\f073";
$fa-var-calendar-check-o: "\f274";
$fa-var-calendar-minus-o: "\f272";
$fa-var-calendar-o: "\f133";
$fa-var-calendar-plus-o: "\f271";
$fa-var-calendar-times-o: "\f273";
$fa-var-camera: "\f030";
$fa-var-camera-retro: "\f083";
$fa-var-car: "\f1b9";
@@ -106,7 +141,9 @@ $fa-var-cart-arrow-down: "\f218";
$fa-var-cart-plus: "\f217";
$fa-var-cc: "\f20a";
$fa-var-cc-amex: "\f1f3";
$fa-var-cc-diners-club: "\f24c";
$fa-var-cc-discover: "\f1f2";
$fa-var-cc-jcb: "\f24b";
$fa-var-cc-mastercard: "\f1f1";
$fa-var-cc-paypal: "\f1f4";
$fa-var-cc-stripe: "\f1f5";
@@ -128,12 +165,14 @@ $fa-var-chevron-left: "\f053";
$fa-var-chevron-right: "\f054";
$fa-var-chevron-up: "\f077";
$fa-var-child: "\f1ae";
$fa-var-chrome: "\f268";
$fa-var-circle: "\f111";
$fa-var-circle-o: "\f10c";
$fa-var-circle-o-notch: "\f1ce";
$fa-var-circle-thin: "\f1db";
$fa-var-clipboard: "\f0ea";
$fa-var-clock-o: "\f017";
$fa-var-clone: "\f24d";
$fa-var-close: "\f00d";
$fa-var-cloud: "\f0c2";
$fa-var-cloud-download: "\f0ed";
@@ -142,20 +181,26 @@ $fa-var-cny: "\f157";
$fa-var-code: "\f121";
$fa-var-code-fork: "\f126";
$fa-var-codepen: "\f1cb";
$fa-var-codiepie: "\f284";
$fa-var-coffee: "\f0f4";
$fa-var-cog: "\f013";
$fa-var-cogs: "\f085";
$fa-var-columns: "\f0db";
$fa-var-comment: "\f075";
$fa-var-comment-o: "\f0e5";
$fa-var-commenting: "\f27a";
$fa-var-commenting-o: "\f27b";
$fa-var-comments: "\f086";
$fa-var-comments-o: "\f0e6";
$fa-var-compass: "\f14e";
$fa-var-compress: "\f066";
$fa-var-connectdevelop: "\f20e";
$fa-var-contao: "\f26d";
$fa-var-copy: "\f0c5";
$fa-var-copyright: "\f1f9";
$fa-var-creative-commons: "\f25e";
$fa-var-credit-card: "\f09d";
$fa-var-credit-card-alt: "\f283";
$fa-var-crop: "\f125";
$fa-var-crosshairs: "\f05b";
$fa-var-css3: "\f13c";
@@ -166,6 +211,8 @@ $fa-var-cutlery: "\f0f5";
$fa-var-dashboard: "\f0e4";
$fa-var-dashcube: "\f210";
$fa-var-database: "\f1c0";
$fa-var-deaf: "\f2a4";
$fa-var-deafness: "\f2a4";
$fa-var-dedent: "\f03b";
$fa-var-delicious: "\f1a5";
$fa-var-desktop: "\f108";
@@ -176,17 +223,25 @@ $fa-var-dollar: "\f155";
$fa-var-dot-circle-o: "\f192";
$fa-var-download: "\f019";
$fa-var-dribbble: "\f17d";
$fa-var-drivers-license: "\f2c2";
$fa-var-drivers-license-o: "\f2c3";
$fa-var-dropbox: "\f16b";
$fa-var-drupal: "\f1a9";
$fa-var-edge: "\f282";
$fa-var-edit: "\f044";
$fa-var-eercast: "\f2da";
$fa-var-eject: "\f052";
$fa-var-ellipsis-h: "\f141";
$fa-var-ellipsis-v: "\f142";
$fa-var-empire: "\f1d1";
$fa-var-envelope: "\f0e0";
$fa-var-envelope-o: "\f003";
$fa-var-envelope-open: "\f2b6";
$fa-var-envelope-open-o: "\f2b7";
$fa-var-envelope-square: "\f199";
$fa-var-envira: "\f299";
$fa-var-eraser: "\f12d";
$fa-var-etsy: "\f2d7";
$fa-var-eur: "\f153";
$fa-var-euro: "\f153";
$fa-var-exchange: "\f0ec";
@@ -194,11 +249,13 @@ $fa-var-exclamation: "\f12a";
$fa-var-exclamation-circle: "\f06a";
$fa-var-exclamation-triangle: "\f071";
$fa-var-expand: "\f065";
$fa-var-expeditedssl: "\f23e";
$fa-var-external-link: "\f08e";
$fa-var-external-link-square: "\f14c";
$fa-var-eye: "\f06e";
$fa-var-eye-slash: "\f070";
$fa-var-eyedropper: "\f1fb";
$fa-var-fa: "\f2b4";
$fa-var-facebook: "\f09a";
$fa-var-facebook-f: "\f09a";
$fa-var-facebook-official: "\f230";
@@ -206,6 +263,7 @@ $fa-var-facebook-square: "\f082";
$fa-var-fast-backward: "\f049";
$fa-var-fast-forward: "\f050";
$fa-var-fax: "\f1ac";
$fa-var-feed: "\f09e";
$fa-var-female: "\f182";
$fa-var-fighter-jet: "\f0fb";
$fa-var-file: "\f15b";
@@ -231,6 +289,8 @@ $fa-var-film: "\f008";
$fa-var-filter: "\f0b0";
$fa-var-fire: "\f06d";
$fa-var-fire-extinguisher: "\f134";
$fa-var-firefox: "\f269";
$fa-var-first-order: "\f2b0";
$fa-var-flag: "\f024";
$fa-var-flag-checkered: "\f11e";
$fa-var-flag-o: "\f11d";
@@ -243,9 +303,13 @@ $fa-var-folder-o: "\f114";
$fa-var-folder-open: "\f07c";
$fa-var-folder-open-o: "\f115";
$fa-var-font: "\f031";
$fa-var-font-awesome: "\f2b4";
$fa-var-fonticons: "\f280";
$fa-var-fort-awesome: "\f286";
$fa-var-forumbee: "\f211";
$fa-var-forward: "\f04e";
$fa-var-foursquare: "\f180";
$fa-var-free-code-camp: "\f2c5";
$fa-var-frown-o: "\f119";
$fa-var-futbol-o: "\f1e3";
$fa-var-gamepad: "\f11b";
@@ -254,29 +318,50 @@ $fa-var-gbp: "\f154";
$fa-var-ge: "\f1d1";
$fa-var-gear: "\f013";
$fa-var-gears: "\f085";
$fa-var-genderless: "\f1db";
$fa-var-genderless: "\f22d";
$fa-var-get-pocket: "\f265";
$fa-var-gg: "\f260";
$fa-var-gg-circle: "\f261";
$fa-var-gift: "\f06b";
$fa-var-git: "\f1d3";
$fa-var-git-square: "\f1d2";
$fa-var-github: "\f09b";
$fa-var-github-alt: "\f113";
$fa-var-github-square: "\f092";
$fa-var-gitlab: "\f296";
$fa-var-gittip: "\f184";
$fa-var-glass: "\f000";
$fa-var-glide: "\f2a5";
$fa-var-glide-g: "\f2a6";
$fa-var-globe: "\f0ac";
$fa-var-google: "\f1a0";
$fa-var-google-plus: "\f0d5";
$fa-var-google-plus-circle: "\f2b3";
$fa-var-google-plus-official: "\f2b3";
$fa-var-google-plus-square: "\f0d4";
$fa-var-google-wallet: "\f1ee";
$fa-var-graduation-cap: "\f19d";
$fa-var-gratipay: "\f184";
$fa-var-grav: "\f2d6";
$fa-var-group: "\f0c0";
$fa-var-h-square: "\f0fd";
$fa-var-hacker-news: "\f1d4";
$fa-var-hand-grab-o: "\f255";
$fa-var-hand-lizard-o: "\f258";
$fa-var-hand-o-down: "\f0a7";
$fa-var-hand-o-left: "\f0a5";
$fa-var-hand-o-right: "\f0a4";
$fa-var-hand-o-up: "\f0a6";
$fa-var-hand-paper-o: "\f256";
$fa-var-hand-peace-o: "\f25b";
$fa-var-hand-pointer-o: "\f25a";
$fa-var-hand-rock-o: "\f255";
$fa-var-hand-scissors-o: "\f257";
$fa-var-hand-spock-o: "\f259";
$fa-var-hand-stop-o: "\f256";
$fa-var-handshake-o: "\f2b5";
$fa-var-hard-of-hearing: "\f2a4";
$fa-var-hashtag: "\f292";
$fa-var-hdd-o: "\f0a0";
$fa-var-header: "\f1dc";
$fa-var-headphones: "\f025";
@@ -287,16 +372,33 @@ $fa-var-history: "\f1da";
$fa-var-home: "\f015";
$fa-var-hospital-o: "\f0f8";
$fa-var-hotel: "\f236";
$fa-var-hourglass: "\f254";
$fa-var-hourglass-1: "\f251";
$fa-var-hourglass-2: "\f252";
$fa-var-hourglass-3: "\f253";
$fa-var-hourglass-end: "\f253";
$fa-var-hourglass-half: "\f252";
$fa-var-hourglass-o: "\f250";
$fa-var-hourglass-start: "\f251";
$fa-var-houzz: "\f27c";
$fa-var-html5: "\f13b";
$fa-var-i-cursor: "\f246";
$fa-var-id-badge: "\f2c1";
$fa-var-id-card: "\f2c2";
$fa-var-id-card-o: "\f2c3";
$fa-var-ils: "\f20b";
$fa-var-image: "\f03e";
$fa-var-imdb: "\f2d8";
$fa-var-inbox: "\f01c";
$fa-var-indent: "\f03c";
$fa-var-industry: "\f275";
$fa-var-info: "\f129";
$fa-var-info-circle: "\f05a";
$fa-var-inr: "\f156";
$fa-var-instagram: "\f16d";
$fa-var-institution: "\f19c";
$fa-var-internet-explorer: "\f26b";
$fa-var-intersex: "\f224";
$fa-var-ioxhost: "\f208";
$fa-var-italic: "\f033";
$fa-var-joomla: "\f1aa";
@@ -324,6 +426,7 @@ $fa-var-line-chart: "\f201";
$fa-var-link: "\f0c1";
$fa-var-linkedin: "\f0e1";
$fa-var-linkedin-square: "\f08c";
$fa-var-linode: "\f2b8";
$fa-var-linux: "\f17c";
$fa-var-list: "\f03a";
$fa-var-list-alt: "\f022";
@@ -335,13 +438,18 @@ $fa-var-long-arrow-down: "\f175";
$fa-var-long-arrow-left: "\f177";
$fa-var-long-arrow-right: "\f178";
$fa-var-long-arrow-up: "\f176";
$fa-var-low-vision: "\f2a8";
$fa-var-magic: "\f0d0";
$fa-var-magnet: "\f076";
$fa-var-mail-forward: "\f064";
$fa-var-mail-reply: "\f112";
$fa-var-mail-reply-all: "\f122";
$fa-var-male: "\f183";
$fa-var-map: "\f279";
$fa-var-map-marker: "\f041";
$fa-var-map-o: "\f278";
$fa-var-map-pin: "\f276";
$fa-var-map-signs: "\f277";
$fa-var-mars: "\f222";
$fa-var-mars-double: "\f227";
$fa-var-mars-stroke: "\f229";
@@ -351,25 +459,37 @@ $fa-var-maxcdn: "\f136";
$fa-var-meanpath: "\f20c";
$fa-var-medium: "\f23a";
$fa-var-medkit: "\f0fa";
$fa-var-meetup: "\f2e0";
$fa-var-meh-o: "\f11a";
$fa-var-mercury: "\f223";
$fa-var-microchip: "\f2db";
$fa-var-microphone: "\f130";
$fa-var-microphone-slash: "\f131";
$fa-var-minus: "\f068";
$fa-var-minus-circle: "\f056";
$fa-var-minus-square: "\f146";
$fa-var-minus-square-o: "\f147";
$fa-var-mixcloud: "\f289";
$fa-var-mobile: "\f10b";
$fa-var-mobile-phone: "\f10b";
$fa-var-modx: "\f285";
$fa-var-money: "\f0d6";
$fa-var-moon-o: "\f186";
$fa-var-mortar-board: "\f19d";
$fa-var-motorcycle: "\f21c";
$fa-var-mouse-pointer: "\f245";
$fa-var-music: "\f001";
$fa-var-navicon: "\f0c9";
$fa-var-neuter: "\f22c";
$fa-var-newspaper-o: "\f1ea";
$fa-var-object-group: "\f247";
$fa-var-object-ungroup: "\f248";
$fa-var-odnoklassniki: "\f263";
$fa-var-odnoklassniki-square: "\f264";
$fa-var-opencart: "\f23d";
$fa-var-openid: "\f19b";
$fa-var-opera: "\f26a";
$fa-var-optin-monster: "\f23c";
$fa-var-outdent: "\f03b";
$fa-var-pagelines: "\f18c";
$fa-var-paint-brush: "\f1fc";
@@ -379,18 +499,22 @@ $fa-var-paperclip: "\f0c6";
$fa-var-paragraph: "\f1dd";
$fa-var-paste: "\f0ea";
$fa-var-pause: "\f04c";
$fa-var-pause-circle: "\f28b";
$fa-var-pause-circle-o: "\f28c";
$fa-var-paw: "\f1b0";
$fa-var-paypal: "\f1ed";
$fa-var-pencil: "\f040";
$fa-var-pencil-square: "\f14b";
$fa-var-pencil-square-o: "\f044";
$fa-var-percent: "\f295";
$fa-var-phone: "\f095";
$fa-var-phone-square: "\f098";
$fa-var-photo: "\f03e";
$fa-var-picture-o: "\f03e";
$fa-var-pie-chart: "\f200";
$fa-var-pied-piper: "\f1a7";
$fa-var-pied-piper: "\f2ae";
$fa-var-pied-piper-alt: "\f1a8";
$fa-var-pied-piper-pp: "\f1a7";
$fa-var-pinterest: "\f0d2";
$fa-var-pinterest-p: "\f231";
$fa-var-pinterest-square: "\f0d3";
@@ -403,28 +527,36 @@ $fa-var-plus: "\f067";
$fa-var-plus-circle: "\f055";
$fa-var-plus-square: "\f0fe";
$fa-var-plus-square-o: "\f196";
$fa-var-podcast: "\f2ce";
$fa-var-power-off: "\f011";
$fa-var-print: "\f02f";
$fa-var-product-hunt: "\f288";
$fa-var-puzzle-piece: "\f12e";
$fa-var-qq: "\f1d6";
$fa-var-qrcode: "\f029";
$fa-var-question: "\f128";
$fa-var-question-circle: "\f059";
$fa-var-question-circle-o: "\f29c";
$fa-var-quora: "\f2c4";
$fa-var-quote-left: "\f10d";
$fa-var-quote-right: "\f10e";
$fa-var-ra: "\f1d0";
$fa-var-random: "\f074";
$fa-var-ravelry: "\f2d9";
$fa-var-rebel: "\f1d0";
$fa-var-recycle: "\f1b8";
$fa-var-reddit: "\f1a1";
$fa-var-reddit-alien: "\f281";
$fa-var-reddit-square: "\f1a2";
$fa-var-refresh: "\f021";
$fa-var-registered: "\f25d";
$fa-var-remove: "\f00d";
$fa-var-renren: "\f18b";
$fa-var-reorder: "\f0c9";
$fa-var-repeat: "\f01e";
$fa-var-reply: "\f112";
$fa-var-reply-all: "\f122";
$fa-var-resistance: "\f1d0";
$fa-var-retweet: "\f079";
$fa-var-rmb: "\f157";
$fa-var-road: "\f018";
@@ -437,8 +569,11 @@ $fa-var-rss-square: "\f143";
$fa-var-rub: "\f158";
$fa-var-ruble: "\f158";
$fa-var-rupee: "\f156";
$fa-var-s15: "\f2cd";
$fa-var-safari: "\f267";
$fa-var-save: "\f0c7";
$fa-var-scissors: "\f0c4";
$fa-var-scribd: "\f28a";
$fa-var-search: "\f002";
$fa-var-search-minus: "\f010";
$fa-var-search-plus: "\f00e";
@@ -456,10 +591,15 @@ $fa-var-sheqel: "\f20b";
$fa-var-shield: "\f132";
$fa-var-ship: "\f21a";
$fa-var-shirtsinbulk: "\f214";
$fa-var-shopping-bag: "\f290";
$fa-var-shopping-basket: "\f291";
$fa-var-shopping-cart: "\f07a";
$fa-var-shower: "\f2cc";
$fa-var-sign-in: "\f090";
$fa-var-sign-language: "\f2a7";
$fa-var-sign-out: "\f08b";
$fa-var-signal: "\f012";
$fa-var-signing: "\f2a7";
$fa-var-simplybuilt: "\f215";
$fa-var-sitemap: "\f0e8";
$fa-var-skyatlas: "\f216";
@@ -468,6 +608,10 @@ $fa-var-slack: "\f198";
$fa-var-sliders: "\f1de";
$fa-var-slideshare: "\f1e7";
$fa-var-smile-o: "\f118";
$fa-var-snapchat: "\f2ab";
$fa-var-snapchat-ghost: "\f2ac";
$fa-var-snapchat-square: "\f2ad";
$fa-var-snowflake-o: "\f2dc";
$fa-var-soccer-ball-o: "\f1e3";
$fa-var-sort: "\f0dc";
$fa-var-sort-alpha-asc: "\f15d";
@@ -500,7 +644,11 @@ $fa-var-steam-square: "\f1b7";
$fa-var-step-backward: "\f048";
$fa-var-step-forward: "\f051";
$fa-var-stethoscope: "\f0f1";
$fa-var-sticky-note: "\f249";
$fa-var-sticky-note-o: "\f24a";
$fa-var-stop: "\f04d";
$fa-var-stop-circle: "\f28d";
$fa-var-stop-circle-o: "\f28e";
$fa-var-street-view: "\f21d";
$fa-var-strikethrough: "\f0cc";
$fa-var-stumbleupon: "\f1a4";
@@ -509,6 +657,7 @@ $fa-var-subscript: "\f12c";
$fa-var-subway: "\f239";
$fa-var-suitcase: "\f0f2";
$fa-var-sun-o: "\f185";
$fa-var-superpowers: "\f2dd";
$fa-var-superscript: "\f12b";
$fa-var-support: "\f1cd";
$fa-var-table: "\f0ce";
@@ -518,6 +667,8 @@ $fa-var-tag: "\f02b";
$fa-var-tags: "\f02c";
$fa-var-tasks: "\f0ae";
$fa-var-taxi: "\f1ba";
$fa-var-telegram: "\f2c6";
$fa-var-television: "\f26c";
$fa-var-tencent-weibo: "\f1d5";
$fa-var-terminal: "\f120";
$fa-var-text-height: "\f034";
@@ -525,6 +676,18 @@ $fa-var-text-width: "\f035";
$fa-var-th: "\f00a";
$fa-var-th-large: "\f009";
$fa-var-th-list: "\f00b";
$fa-var-themeisle: "\f2b2";
$fa-var-thermometer: "\f2c7";
$fa-var-thermometer-0: "\f2cb";
$fa-var-thermometer-1: "\f2ca";
$fa-var-thermometer-2: "\f2c9";
$fa-var-thermometer-3: "\f2c8";
$fa-var-thermometer-4: "\f2c7";
$fa-var-thermometer-empty: "\f2cb";
$fa-var-thermometer-full: "\f2c7";
$fa-var-thermometer-half: "\f2c9";
$fa-var-thermometer-quarter: "\f2ca";
$fa-var-thermometer-three-quarters: "\f2c8";
$fa-var-thumb-tack: "\f08d";
$fa-var-thumbs-down: "\f165";
$fa-var-thumbs-o-down: "\f088";
@@ -534,6 +697,8 @@ $fa-var-ticket: "\f145";
$fa-var-times: "\f00d";
$fa-var-times-circle: "\f057";
$fa-var-times-circle-o: "\f05c";
$fa-var-times-rectangle: "\f2d3";
$fa-var-times-rectangle-o: "\f2d4";
$fa-var-tint: "\f043";
$fa-var-toggle-down: "\f150";
$fa-var-toggle-left: "\f191";
@@ -541,6 +706,7 @@ $fa-var-toggle-off: "\f204";
$fa-var-toggle-on: "\f205";
$fa-var-toggle-right: "\f152";
$fa-var-toggle-up: "\f151";
$fa-var-trademark: "\f25c";
$fa-var-train: "\f238";
$fa-var-transgender: "\f224";
$fa-var-transgender-alt: "\f225";
@@ -548,6 +714,7 @@ $fa-var-trash: "\f1f8";
$fa-var-trash-o: "\f014";
$fa-var-tree: "\f1bb";
$fa-var-trello: "\f181";
$fa-var-tripadvisor: "\f262";
$fa-var-trophy: "\f091";
$fa-var-truck: "\f0d1";
$fa-var-try: "\f195";
@@ -555,33 +722,45 @@ $fa-var-tty: "\f1e4";
$fa-var-tumblr: "\f173";
$fa-var-tumblr-square: "\f174";
$fa-var-turkish-lira: "\f195";
$fa-var-tv: "\f26c";
$fa-var-twitch: "\f1e8";
$fa-var-twitter: "\f099";
$fa-var-twitter-square: "\f081";
$fa-var-umbrella: "\f0e9";
$fa-var-underline: "\f0cd";
$fa-var-undo: "\f0e2";
$fa-var-universal-access: "\f29a";
$fa-var-university: "\f19c";
$fa-var-unlink: "\f127";
$fa-var-unlock: "\f09c";
$fa-var-unlock-alt: "\f13e";
$fa-var-unsorted: "\f0dc";
$fa-var-upload: "\f093";
$fa-var-usb: "\f287";
$fa-var-usd: "\f155";
$fa-var-user: "\f007";
$fa-var-user-circle: "\f2bd";
$fa-var-user-circle-o: "\f2be";
$fa-var-user-md: "\f0f0";
$fa-var-user-o: "\f2c0";
$fa-var-user-plus: "\f234";
$fa-var-user-secret: "\f21b";
$fa-var-user-times: "\f235";
$fa-var-users: "\f0c0";
$fa-var-vcard: "\f2bb";
$fa-var-vcard-o: "\f2bc";
$fa-var-venus: "\f221";
$fa-var-venus-double: "\f226";
$fa-var-venus-mars: "\f228";
$fa-var-viacoin: "\f237";
$fa-var-viadeo: "\f2a9";
$fa-var-viadeo-square: "\f2aa";
$fa-var-video-camera: "\f03d";
$fa-var-vimeo: "\f27d";
$fa-var-vimeo-square: "\f194";
$fa-var-vine: "\f1ca";
$fa-var-vk: "\f189";
$fa-var-volume-control-phone: "\f2a0";
$fa-var-volume-down: "\f027";
$fa-var-volume-off: "\f026";
$fa-var-volume-up: "\f028";
@@ -591,16 +770,32 @@ $fa-var-weibo: "\f18a";
$fa-var-weixin: "\f1d7";
$fa-var-whatsapp: "\f232";
$fa-var-wheelchair: "\f193";
$fa-var-wheelchair-alt: "\f29b";
$fa-var-wifi: "\f1eb";
$fa-var-wikipedia-w: "\f266";
$fa-var-window-close: "\f2d3";
$fa-var-window-close-o: "\f2d4";
$fa-var-window-maximize: "\f2d0";
$fa-var-window-minimize: "\f2d1";
$fa-var-window-restore: "\f2d2";
$fa-var-windows: "\f17a";
$fa-var-won: "\f159";
$fa-var-wordpress: "\f19a";
$fa-var-wpbeginner: "\f297";
$fa-var-wpexplorer: "\f2de";
$fa-var-wpforms: "\f298";
$fa-var-wrench: "\f0ad";
$fa-var-xing: "\f168";
$fa-var-xing-square: "\f169";
$fa-var-y-combinator: "\f23b";
$fa-var-y-combinator-square: "\f1d4";
$fa-var-yahoo: "\f19e";
$fa-var-yc: "\f23b";
$fa-var-yc-square: "\f1d4";
$fa-var-yelp: "\f1e9";
$fa-var-yen: "\f157";
$fa-var-yoast: "\f2b1";
$fa-var-youtube: "\f167";
$fa-var-youtube-play: "\f16a";
$fa-var-youtube-square: "\f166";

View File

@@ -1,5 +1,5 @@
/*!
* Font Awesome 4.3.0 by @davegandy - http://fontawesome.io - @fontawesome
* Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
* License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
*/
@@ -15,3 +15,4 @@
@import "rotated-flipped";
@import "stacked";
@import "icons";
@import "screen-reader";

View File

@@ -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">

View File

@@ -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}

View File

@@ -150,9 +150,6 @@
<a class="link-social link-github _blank" href="https://github.com/webkul/hotelcommerce" title="Github">
<i class="icon-github"></i>
</a>
<a class="link-social link-google _blank" href="https://plus.google.com/110221570427070809661" title="Google">
<i class="icon-google-plus"></i>
</a>
</p>
</div>
</div>

View File

@@ -51,7 +51,12 @@
{assign var=curr_id value=$cart->id_currency|intval}
{foreach from=$cart_detail_data item=data}
<tr data-id-booking-data="{$data.id}" data-id-product="{$data.id_product}" data-id-room="{$data.id_room}" data-date-from="{$data.date_from}" data-date-to="{$data.date_to}" >
<td>{$data.room_num|escape:'html':'UTF-8'} {hook h='displayRoomNumAfter' data=$data type='adminOrder'}</td>
<td>{$data.room_num|escape:'html':'UTF-8'}
{if isset($data['connected_rooms'][$data.id_room])}
{include file="controllers/products/connected-rooms.tpl" htl_connected_rooms=$data['connected_rooms'][$data.id_room]}
{/if}
{hook h='displayRoomNumAfter' data=$data type='adminOrder'}</td>
<td><img src="{$data.image_link|escape:'html':'UTF-8'}" title="Room image" /></td>
<td>
<p>{$data.room_type|escape:'html':'UTF-8'}</p>
@@ -130,7 +135,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'}

View File

@@ -117,7 +117,7 @@
{l s='Delete'}
</button>
{else}
<div class="btn-group">
<div class="btn-group pull-right">
{* <button type="button" class="btn btn-default delete_product_line">
<i class="icon-trash"></i>
{l s='Delete'}

View File

@@ -24,26 +24,28 @@
*}
<tr class="product-line-row" data-id_htl_booking="{$data.id|escape:'html':'UTF-8'}" data-id_room="{$data.id_room}" data-id_product="{$data.id_product}" data-id_hotel="{$data.id_hotel}" data-date_from="{$data.date_from}" data-date_to="{$data.date_to}" data-product_price="{$data.unit_amt_tax_incl}" data-id_order_detail="{$data.id_order_detail}">
<td>
<td class="center">
<p>{$data.room_num}</p>
<p><a href="{$link->getAdminLink('AdminProducts')|escape:'html':'UTF-8'}&amp;id_product={$data.id_product}&amp;updateproduct" target="_blank"><span>{$data.room_type}</span></a></p>
{if $data.is_back_order}
<span class="overbooked_room">{l s='overbooked'}</span>
{/if}
{if isset($data['connected_rooms'][$data.id_room])}
{include file="controllers/products/connected-rooms.tpl" htl_connected_rooms=$data['connected_rooms'][$data.id_room]}
{/if}
</td>
<td><img src="{$data.image_link}" title="{l s='Room image'}"></td>
<td>
<p><a href="{$link->getAdminLink('AdminProducts')|escape:'html':'UTF-8'}&amp;id_product={$data.id_product}&amp;updateproduct" target="_blank"><span>{$data.room_type}</span></a></p>
</td>
<td>
<td class="center"><img width="80px" src="{$data.image_link}" title="{l s='Room image'}"></td>
<td class="center">
{assign var="is_full_date" value=($show_full_date && ($data['date_from']|date_format:'%D' == $data['date_to']|date_format:'%D'))}
{dateFormat date=$data.date_from full=$is_full_date} - {dateFormat date=$data.date_to full=$is_full_date}
<p>{dateFormat date=$data.date_from full=$is_full_date}</p>
<p>{l s='to'}</p>
<p>{dateFormat date=$data.date_to full=$is_full_date}</p>
</td>
<td>
<td class="center">
<p>{if $data['adults']}{$data['adults']}{/if} {if $data['adults'] > 1}{l s='Adults'}{else}{l s='Adult'}{/if}</p>
{if $data['children']}
<div class="dropdown">
<a data-toggle="dropdown">
<span>{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}</span>
</a>
<a data-toggle="dropdown"><span>{$data['children']} {if $data['children'] > 1}{l s='Children'}{else}{l s='Child'}{/if}</span></a>
<div class="dropdown-menu well well-sm">
<label>{l s='Children Ages'}</label>
{if isset($data['child_ages']) && $data['child_ages']}
@@ -59,19 +61,41 @@
{/if}
</div>
</div>
{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}
</td>
<td>
<td class="center">
<p>
{if ($data['id_status'] == $hotel_order_status['STATUS_CHECKED_IN']['id_status']) || ($data['id_status'] == $hotel_order_status['STATUS_CHECKED_OUT']['id_status'])}
<span class="text-danger room_status">{dateFormat date=$data['check_in'] full=1}</span>
{else}
--
{/if}
</p>
<p>
{if $data['id_status'] == $hotel_order_status['STATUS_CHECKED_OUT']['id_status']}
<span class="text-success room_status">{dateFormat date=$data['check_out'] full=1}</span>
{else}
--
{/if}
</p>
</td>
<td class="center">
{if $data['booking_type'] == $ALLOTMENT_MANUAL}
{l s='Manual'} &nbsp;{if $data['comment'] != ''}<a class="manual_allotment_comment" href="#" data-id_hotel_booking_detail="{$data['id']}"><i class="icon-info-circle"></i></a>{/if}
{else}
{l s='Auto'}
{/if}
</td>
<td class="center">
<p>
<span class="room_type_current_price">
{convertPriceWithCurrency price=$data['total_price_tax_excl'] currency=$currency->id}
</span>
</p>
<p class="help-block">{l s='Per day price:'} {convertPriceWithCurrency price=$data['paid_unit_price_tax_excl'] currency=$currency->id}</p>
<p class="help-block">{convertPriceWithCurrency price=$data['paid_unit_price_tax_excl'] currency=$currency->id}/{l s='day'}</p>
</td>
<td>
<td class="center">
{convertPriceWithCurrency price=($data['extra_demands_price_te'] + $data['additional_services_price_te'] + $data['convenience_fee_te'] + $data['additional_services_price_auto_add_te']) currency=$currency->id}
{if $data['extra_demands']|count || $data['additional_services']|count}
<a class="open_room_extra_services" href="#" date_from="{$data['date_from']}" date_to="{$data['date_to']}" id_product="{$data['id_product']}" id_room="{$data['id_room']}" id_order="{$order->id}" id_htl_booking="{$data['id']}">
@@ -79,37 +103,37 @@
</a>
{/if}
</td>
<td>
<td class="center">
{convertPriceWithCurrency price=($data['total_room_tax']) currency=$currency->id}
</td>
<td>
<td class="center">
{convertPriceWithCurrency price=($data['total_room_price_ti']) currency=$currency->id}
</td>
{if (isset($refundReqBookings) && $refundReqBookings)}
<td>
{if $data.id|in_array:$refundReqBookings}
{if $data.is_cancelled}
<span class="badge badge-danger">{l s='Cancelled'}</span>
{elseif isset($data.refund_info) && (!$data.refund_info.refunded || $data.refund_info.id_customization)}
<span class="badge" style="background-color:{$data.refund_info.color|escape:'html':'UTF-8'}">{$data.refund_info.name|escape:'html':'UTF-8'}</span>
{else}
<span>--</span>
{/if}
{else}
<span>--</span>
{/if}
</td>
<td>
{if $data.is_refunded && isset($data.refund_info) && $data.refund_info}
{convertPriceWithCurrency price=$data.refund_info.refunded_amount currency=$currency->id}
{else}
--
{/if}
<td class="center">
<p>
{if $data.id|in_array:$refundReqBookings}
{if $data.is_cancelled}
<span class="badge badge-danger">{l s='Cancelled'}</span>
{elseif isset($data.refund_info) && (!$data.refund_info.refunded || $data.refund_info.id_customization)}
<span class="badge" style="background-color:{$data.refund_info.color|escape:'html':'UTF-8'}">{$data.refund_info.name|escape:'html':'UTF-8'}</span>
{else}
<span>--</span>
{/if}
{else}
<span>--</span>
{/if}
</p>
{if $data.is_refunded && isset($data.refund_info) && $data.refund_info}
<p class="badge badge-success refunded_amount">
{convertPriceWithCurrency price=$data.refund_info.refunded_amount currency=$currency->id}
</p>
{/if}
</td>
{/if}
{if ($can_edit && !$order->hasBeenDelivered())}
<td class="product_action">
<div class="btn-group">
<td class="product_action center">
<div class="btn-group pull-right">
{if isset($refundReqBookings) && $refundReqBookings && $data.id|in_array:$refundReqBookings && $data.is_cancelled}
<button href="#" class="btn btn-default delete_room_line">
<i class="icon-trash"></i>
@@ -124,6 +148,22 @@
<span class="caret"></span>
</button>
<ul class="dropdown-menu" role="menu">
{if isset($refundReqBookings) && $refundReqBookings && $data.id|in_array:$refundReqBookings && $data.is_refunded}
{else}
<li>
<a href="#" class="open_room_status_form" data-id_hotel_booking_detail="{$data['id']}" data-id_order="{$data['id_order']}" data-id_status="{$data['id_status']}" data-id_room="{$data['id_room']}" data-date_from="{$data['date_from']|date_format:"%Y-%m-%d"}" data-date_to="{$data['date_to']|date_format:"%Y-%m-%d"}" data-check_in_time="{$data['check_in_time']}" data-check_out_time="{$data['check_out_time']}" data-check_in="{$data['check_in']}" data-check_out="{$data['check_out']}">
<i class="icon-clock-o"></i>
{l s='Room Status'}
</a>
</li>
{/if}
<li>
<a href="#" onclick="BookingDocumentsModal.init({$data.id|intval}, this); return false;">
<i class="icon-file-text"></i>
{l s='Documents'}
<span class="badge badge-info">{if $data.num_checkin_documents > 0}{$data.num_checkin_documents}{else}0{/if}</span>
</a>
</li>
<li>
<a href="#" class="room_reallocate_swap" id="reallocate_room_{$data['id']}" data-room_type_name="{$data['room_type_name']}" data-toggle="modal" data-target="#mySwappigModal" data-id_htl_booking="{$data['id']}" data-id_order="{$data['id_order']}" data-room_num='{$data.room_num}' data-id_room_type='{$data.id_product}' data-cust_name='{$data.alloted_cust_name}' data-cust_email='{$data.alloted_cust_email}' data-avail_rm_swap='{$data.avail_rooms_to_swap|@json_encode}' data-avail_realloc_room_types='{$data.avail_room_types_to_realloc|@json_encode}' data-allotment_type='{$data.booking_type}' data-allotment_type_label='{if $data.booking_type == $ALLOTMENT_MANUAL}{l s='Manual'}{else}{l s='Auto'}{/if}' data-comment='{$data.comment}'>
<i class="icon-refresh"></i>

View File

@@ -27,21 +27,21 @@
<table class="table" id="customer_cart_details">
<thead>
<tr>
<th><span class="title_box">{l s='Room No.'}</span></th>
<th><span class="title_box">{l s='Image'}</th>
<th><span class="title_box">{l s='Room Type'}</span></th>
<th><span class="title_box">{l s='Duration'}</span></th>
<th class="fixed-width-lg"><span class="title_box">{l s='Occupancy'}</span></th>
<th><span class="title_box">{l s='Room Price (Tax excl.)'}</span></th>
<th><span class="title_box">{l s='Extra Services/Fee (Tax excl.)'}</span></th>
<th><span class="title_box">{l s='Total Tax'}</span></th>
<th><span class="title_box">{l s='Total Price (Tax incl.)'}</span></th>
<th class="center"><span ><p>{l s='Room'}</p></span></th>
<th class="center"><span >{l s='Image'}</span></th>
<th class="center"><span class="title_box help-tooltip" data-toggle="tooltip" title="" data-original-title="{l s='Booking check-in and check-out dates'}">{l s='Duration'}</span></th>
<th class="center"><span class="title_box help-tooltip" data-toggle="tooltip" title="" data-original-title="{l s='Number of adults and children'}">{l s='Occupancy'}</span></th>
<th class="center"><span class="title_box help-tooltip" data-toggle="tooltip" title="" data-original-title="{l s='Guest check-in and check-out date/time'}">{l s='Check-in/Check-out'}</span></th>
<th class="center"><span class="title_box help-tooltip" data-toggle="tooltip" title="" data-original-title="{l s='Whether the room was auto-allotted or manually assigned with a remark.'}">{l s='Allotment'}</span></th>
<th class="center"><span class="title_box help-tooltip" data-toggle="tooltip" title="" data-original-title="{l s='Base room price for the stay duration, excluding tax'}"><div>{l s='Room Price'}</div><div>{l s='(Tax excl.)'}</div></span></th>
<th class="center"><span class="title_box help-tooltip" data-toggle="tooltip" title="" data-original-title="{l s='Total cost of extra services, auto added services and convenience fee for this room, excluding tax'}"><div>{l s='Extra Services'}</div><div>{l s='(Tax excl.)'}</div></span></th>
<th class="center"><span class="title_box help-tooltip" data-toggle="tooltip" title="" data-original-title="{l s='Total tax applied on this room booking'}">{l s='Total Tax'}</span></th>
<th class="center"><span class="title_box help-tooltip" data-toggle="tooltip" title="" data-original-title="{l s='Total price of the room including extra services/fees, tax included'}"><div>{l s='Total Price'}</div><div>{l s='(Tax incl.)'}</div></span></th>
{if (isset($refundReqBookings) && $refundReqBookings)}
<th><span class="title_box">{l s='Refund/Cancel Status'}</span></th>
<th><span class="title_box">{l s='Refunded amount'}</span></th>
<th class="center"><span class="title_box help-tooltip" data-toggle="tooltip" title="" data-original-title="{l s='Refund or cancellation status and refunded amount for this room booking'}">{l s='Refund'}</span></th>
{/if}
{if ($can_edit && !$order->hasBeenDelivered())}
<th class="fixed-width-md"><span class="title_box">{l s='Actions'}</th>
<th class="fixed-width-md center"><span >{l s='Actions'}</span></th>
{/if}
</tr>
</thead>

View File

@@ -117,7 +117,7 @@
{l s='Delete'}
</button>
{else}
<div class="btn-group">
<div class="btn-group pull-right">
{* <button type="button" class="btn btn-default delete_product_line">
<i class="icon-trash"></i>
{l s='Delete'}

View File

@@ -88,90 +88,6 @@
<div class="row">
<div class="col-lg-7">
{if isset($htl_booking_order_data) && $htl_booking_order_data}
<div class="panel">
<div class="panel-heading order_status_heading">
<i class="icon-bed"></i> &nbsp;{l s='Rooms Status'}
</div>
<div class="panel-content">
<div class="row">
<div class="col-lg-12 table-responsive" id="room_status_info_wrapper">
<table class="table">
<thead>
<tr>
<th>{l s='Room'}</th>
<th>{l s='Duration'}</th>
<th>{l s='Check-In'}</th>
<th>{l s='Check-Out'}</th>
<th>{l s='Allotment'}</th>
<th>{l s='Action'}</th>
</tr>
</thead>
<tbody>
{if isset($htl_booking_order_data) && $htl_booking_order_data}
{foreach from=$htl_booking_order_data item=data}
<tr>
<td>
{$data['room_num']}<br>
<a href="{$link->getAdminLink('AdminProducts')|escape:'html':'UTF-8'}&amp;id_product={$data['id_product']}&amp;updateproduct" target="_blank">{$data['room_type_name']|escape:'html':'UTF-8'}</a>
</td>
<td>
{assign var="is_full_date" value=($show_full_date && ($data['date_from']|date_format:'%D' == $data['date_to']|date_format:'%D'))}
{dateFormat date=$data['date_from'] full=$is_full_date} - {dateFormat date=$data['date_to'] full=$is_full_date}
</td>
<td>
{if ($data['id_status'] == $hotel_order_status['STATUS_CHECKED_IN']['id_status']) || ($data['id_status'] == $hotel_order_status['STATUS_CHECKED_OUT']['id_status'])}
<span class="text-danger room_status">{l s='Checked in on'}<br>{dateFormat date=$data['check_in'] full=1}</span>
{else}
--
{/if}
</td>
<td>
{if $data['id_status'] == $hotel_order_status['STATUS_CHECKED_OUT']['id_status']}
<span class="text-success room_status">{l s='Checked out on'}<br>{dateFormat date=$data['check_out'] full=1}</span>
{else}
--
{/if}
</td>
<td>
{if $data['booking_type'] == $ALLOTMENT_MANUAL}
{l s='Manual'} &nbsp;{if $data['comment'] != ''}<a class="manual_allotment_comment" href="#" data-id_hotel_booking_detail="{$data['id']}"><i class="icon-info-circle"></i></a>{/if}
{else}
{l s='Auto'}
{/if}
</td>
<td>
<a title="{l s='Upload/Check guest documents'}" class="btn btn-default" href="#" onclick="BookingDocumentsModal.init({$data.id|intval}, this); return false;">
<span class="badge badge-info">{if $data.num_checkin_documents > 0}{$data.num_checkin_documents}{else}0{/if}</span> <i class="icon-file-text"></i>
</a>
{if isset($refundReqBookings) && $refundReqBookings && $data.id|in_array:$refundReqBookings && $data.is_refunded}
<span class="badge badge-danger">{if $data.is_cancelled}{l s='Cancelled'}{else}{l s='Refunded'}{/if}</span>
{elseif $can_edit}
<a class="open_room_status_form btn btn-default" href="#" data-id_hotel_booking_detail="{$data['id']}" data-id_order="{$data['id_order']}" data-id_status="{$data['id_status']}" data-id_room="{$data['id_room']}" data-date_from="{$data['date_from']|date_format:"%Y-%m-%d"}" data-date_to="{$data['date_to']|date_format:"%Y-%m-%d"}" data-check_in_time="{$data['check_in_time']}" data-check_out_time="{$data['check_out_time']}" data-check_in="{$data['check_in']}" data-check_out="{$data['check_out']}">
<i class="icon-pencil"></i> {l s='Edit'}
</a>
{/if}
</td>
</tr>
{/foreach}
{else}
<tr>
<td class="list-empty hidden-print" colspan="6">
<div class="list-empty-msg">
<i class="icon-warning-sign list-empty-icon"></i>
{l s='No rooms found'}
</div>
</td>
</tr>
{/if}
</tbody>
</table>
</div>
</div>
</div>
</div>
{/if}
<div class="panel">
<div class="panel-heading">
<i class="icon-file"></i> &nbsp;{l s='Order'}
@@ -683,9 +599,11 @@
</div>
{/if}
{else}
{if $addressAccess['add'] === 1}
<button id="add_guest_address" class="btn btn-primary pull-right fancybox" href="{$link->getAdminLink('AdminAddresses')}&amp;addaddress&amp;id_order={$order->id|intval}&amp;address_type=2&amp;id_customer={$order->id_customer}&amp;liteDisplaying=1&amp;submitFormAjax=1#">
<i class="icon-plus-circle"></i> {l s='Add Address'}
</button>
{/if}
{if $idCurrentAddress}
<div class="guest_address_actions dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">
@@ -1120,7 +1038,7 @@
<div class="panel panel-vouchers">
<div class="panel-heading">
<span><i class="icon-tag"></i> &nbsp;{l s='Voucher'}</span>
{if $can_edit && $order->total_paid > 0}
{if $can_edit && $order->total_paid > 0 && $cartRuleAccess['add'] === 1}
<button id="add_voucher" class="btn btn-primary pull-right" type="button" >
<i class="icon-ticket"></i> {l s='Add new voucher'}
</button>

View File

@@ -43,7 +43,7 @@
<div class="edit_room_fields">
<div class="row form-group">
<div class="col-sm-6 room_check_in_div">
<label class="control-label">{l s='Check-In'}</label>
<label class="control-label">{l s='Date From'}</label>
<div class="input-group">
<input type="hidden" class="edit_product_date_from_actual" name="edit_product[date_from]"/>
{if isset($refundReqBookings) && $refundReqBookings && $data.id|in_array:$refundReqBookings && $data.is_refunded}
@@ -55,7 +55,7 @@
</div>
</div>
<div class="col-sm-6 room_check_out_div">
<label class="control-label">{l s='Check-Out'}</label>
<label class="control-label">{l s='Date To'}</label>
<div class="input-group">
<input type="hidden" class="edit_product_date_to_actual" name="edit_product[date_to]"/>
{if isset($refundReqBookings) && $refundReqBookings && $data.id|in_array:$refundReqBookings && $data.is_refunded}

View File

@@ -67,6 +67,14 @@
</span>
</label>
</th>
<th class="col-sm-1 center">
<label class="control-label">
<span class="label-tooltip" data-toggle="tooltip"
data-original-title="{l s='Manage connected rooms for this room'}">
{l s='Connected Rooms'}
</span>
</label>
</th>
{hook h='displayHotelRoomListTableHeaderColumn'}
<th class="col-sm-1 center">
{l s='--'}
@@ -108,6 +116,21 @@
<input type="hidden" class="form-control disable_dates_json" name="{$var_name_room_info|cat:'[disable_dates_json]'}" {if $room_info['id_status'] == $rm_status['STATUS_TEMPORARY_INACTIVE']['id']}value="{$room_info['disable_dates_json']|escape:'html':'UTF-8'}"{/if}>
</td>
{* Since the data can also be used from post incase of errors, which will cause issues with the id index *}
<td class="col-sm-1 center">
{if isset($room_info['id'])}
<a href="#" class="btn btn-default connectedRoomModal" data-toggle="modal"
data-target="#connectedRoomModal" data-id-room="{$room_info['id']|intval}"
data-room-num="{$room_info['room_num']|escape:'html':'UTF-8'}"
data-room-type="{$room_info['id_product']|intval}">
<span class="connected-room-icon-wrapper">
<i class="icon-random"></i>
<span class="connected-room-count">
{if isset($room_info['connected_rooms_count'])}{$room_info['connected_rooms_count']|intval}{else}0{/if}
</span>
</span>
</a>
{/if}
</td>
{if isset($room_info['id'])}
{hook h='displayHotelRoomListTableRowColumn' index=$key id_room=$room_info['id']}
{else}
@@ -343,6 +366,7 @@
</label>
<div class="col-lg-6">
<select class="form-control bulk_update_room_status" name="bulk_update_room_status">
<option value="0">{l s='Select Status'}</option>
{foreach from=$rm_status item=room_stauts}
<option value="{$room_stauts['id']}">{$room_stauts['status']|escape:'htmlall':'UTF-8'}</option>
{/foreach}
@@ -404,6 +428,17 @@
</div>
<div class="modal-body padding-top-20">
<div class="text-left errors-wrap" style="display: none;"></div>
<div class="alert alert-info">
<button type="button" class="close" data-dismiss="alert">&times;</button>
<p>{l s='If both the Room Prefix and Starting Room No. fields are left blank, the room name will be generated using the acronym of the Room Type name.'}</p>
<p>
<strong>{l s='Example:'}</strong>
{l s='For the Room Type'}
<strong id="bulk_create_room_example_name">{$product->name[$id_lang]|escape:'html':'UTF-8'}</strong>,
{l s='the room name will be'}
<strong id="room_type_acronym">{$room_type_acronym|escape:'html':'UTF-8'}</strong>.
</p>
</div>
<div class="form-group">
<label class="control-label col-lg-3">
<span>{l s='Room prefix'}</span>
@@ -578,6 +613,26 @@
border: 1px solid #f2f2f2;
margin-top: 10px;
}
.connected-room-icon-wrapper {
display: inline-flex;
align-items: center;
gap: 4px;
justify-content: center;
}
.connected-room-count {
min-width: 14px;
height: 14px;
padding: 0 3px;
border-radius: 9px;
background: #f5f5f5;
color: #666;
border: 1px solid #d5d5d5;
font-size: 9px;
line-height: 12px;
font-weight: 600;
text-align: center;
box-shadow: none;
}
</style>
<script>
@@ -585,10 +640,13 @@
var rm_status = {$rm_status|@json_encode};
var confirmText = "{l s='Are you sure?' js=1}";
var removeDisableDateText = "{l s='Are you sure you want to remove the selected date range?' js=1}";
var selectRoomText = "{l s='Please select a room' js=1}";
var roomNoText = "{l s='Room No' js=1}";
var currentRoomRow = 0;
$(document).ready(function() {
var tooltipCounter = 0;
var disableDatesCounter = {};
// Setting the Date object without current time.
const dateToday = new Date("{date('Y-m-d')}");
{literal}
@@ -616,44 +674,55 @@
{/literal}
// Add new room detail
$('#add-more-rooms-button').on('click',function() {
var lengthRooms = parseInt($('.room_data_values').length);
$('#add-more-rooms-button').on('click', function() {
var lengthRooms = parseInt($('.room_data_values').length);
var prefix = 'rooms_info['+lengthRooms+']';
html = '<tr class="room_data_values" data-row-index="'+lengthRooms+'">';
var prefix = 'rooms_info[' + lengthRooms + ']';
html = '<tr class="room_data_values" data-row-index="' + lengthRooms + '">';
html += '<td class="center">';
html += '<input type="checkbox" disabled name="selected_room_ids[]">';
html += '<input type="checkbox" disabled name="selected_room_ids[]">';
html += '</td>';
html += '<td class="col-sm-1 center">';
html += '<input class="form-control" type="text" name="'+prefix+'[room_num]">';
html += '<input class="form-control" type="text" name="' + prefix + '[room_num]">';
html += '</td>';
html += '<td class="col-sm-2 center">';
html += '<input class="form-control" type="text" name="'+prefix+'[floor]">';
html += '<input class="form-control" type="text" name="' + prefix + '[floor]">';
html += '</td>';
html += '<td class="col-sm-2 center">';
html += '<select class="form-control room_status" name="'+prefix+'[id_status]">';
$.each(rm_status, function(key, value) {
html += '<option value="'+value.id+'">'+value.status+'</option>';
});
html += '</select>';
html += '<select class="form-control room_status" name="' + prefix + '[id_status]">';
$.each(rm_status, function(key, value) {
html += '<option value="' + value.id + '">' + value.status + '</option>';
});
html += '</select>';
html += '</td>';
html += '<td class="col-sm-3 center">';
html += '<input class="form-control" type="text" name="'+prefix+'[comment]">';
html += '<input class="form-control" type="text" name="' + prefix + '[comment]">';
html += '</td>';
html += '<td class="center col-sm-2">';
html += '<a class="btn btn-default deactiveDatesModal disabled" data-toggle="modal" data-target="#deactiveDatesModal">';
html += "{l s='Add Dates'}";
html += '</a>';
html += '<input type="hidden" class="form-control disable_dates_json" name="'+prefix+'[disable_dates_json]">';
html +=
'<a class="btn btn-default deactiveDatesModal disabled" data-toggle="modal" data-target="#deactiveDatesModal">';
html += "{l s='Add Dates'}";
html += '</a>';
html += '<input type="hidden" class="form-control disable_dates_json" name="' + prefix +
'[disable_dates_json]">';
html += '</td>';
html += '<td class="col-sm-1 center">';
html += '<a href="#" class="btn btn-default disabled">';
html += '<span class="connected-room-icon-wrapper">';
html += '<i class="icon-random"></i>';
html += '<span class="connected-room-count">0</span>';
html += '</span>';
html += '</a>';
html += '</td>';
html += '{hook h='displayHotelRoomListTableRowColumn'}';
html += '<td class="center col-sm-1">';
html += '<a href="#" class="remove-rooms-button btn btn-default"><i class="icon-trash"></i></a>';
html +=
'<a href="#" class="remove-rooms-button btn btn-default"><i class="icon-trash"></i></a>';
html += '</td>';
html += '</tr>';
html += '</tr>';
$('table.hotel-room tbody').append(html);
});
$('table.hotel-room tbody').append(html);
});
// delete room
$('.rm_htl_room').on('click',function(e) {
@@ -669,13 +738,26 @@
action:'deleteHotelRoom',
id: id_htl_info,
},
success: function (response) {
success: function(response) {
if (response.success) {
showSuccessMessage("{l s='Removed successfully'}");
$current.closest(".room_data_values").remove();
if (response.affected_rooms && response.affected_rooms.length) {
$.each(response.affected_rooms, function(i, roomId) {
var $badge = $(
'.connectedRoomModal[data-id-room="' +
roomId + '"] .connected-room-count');
if ($badge.length) {
var count = parseInt($badge.text().trim());
if (count > 0) {
$badge.text(count - 1);
}
}
});
}
} else {
if (response.errors)
showErrorMessage(response.errors);
showErrorMessage(response.errors);
}
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
@@ -1027,7 +1109,7 @@
$('#bulkUpdateRoomModal').on('show.bs.modal', function(e){
if (!$(e.relatedTarget).attr('disabled')) {
$('#bulkUpdateRoomModal table tbody').html('');
$('.bulk_update_room_status').val(rm_status.STATUS_ACTIVE.id).closest('.modal-body').find('.rooms-disable-dates').parent().hide();
$('.bulk_update_room_status').val('0').closest('.modal-body').find('.rooms-disable-dates').parent().hide();
$('[name="bulk_update_room_comment"]').val('');
$('[name="bulk_update_room_floor"]').val('');
$('#page-loader').show();
@@ -1885,6 +1967,184 @@
return false;
}
}
const initConnectedRoomModal = {
show: function(e) {
e.preventDefault();
var roomId = $(this).data('id-room');
var roomNum = $(this).data('room-num');
$.ajax({
type: 'POST',
url: prod_link,
dataType: 'json',
data: {
ajax: true,
action: 'initConnectedRoomModal',
room_id: roomId,
},
success: function(response) {
if (!response.hasError) {
if ($('#connectedRoomModal').length) {
$('#connectedRoomModal').modal('hide');
$('#connectedRoomModal').data('bs.modal', null);
$('#connectedRoomModal').remove();
}
$('.modal-backdrop').remove();
$('body').removeClass('modal-open');
$("#footer").next(".bootstrap").append(response.modalHtml);
$('#connectedRoomModal').modal({
backdrop: 'static',
keyboard: true
});
if (roomNum) {
roomNum = '( ' + roomNoText + ' ' + roomNum + ')';
$('#connectedRoomModal').attr('data-room-num-title', roomNum);
$('#connected_room_title').html(roomNum);
} else {
$('#connectedRoomModal').attr('data-room-num-title', '');
$('#connected_room_title').html('');
}
} else {
alert(response.message);
}
}
});
},
add: function() {
var $row = $(this).closest('tr');
var mainRoomId = $('#connected_room_main_id').val();
var connectedRoomId = $row.find('.connect-room').val();
if (!connectedRoomId) {
alert(selectRoomText);
return;
}
$.ajax({
url: prod_link,
type: 'POST',
dataType: 'json',
data: {
ajax: true,
action: 'ManageConnectedRoom',
mode: 'add',
room_id: mainRoomId,
connected_room_id: connectedRoomId,
},
beforeSend: function() {
$row.find('.save-connected-room').prop('disabled', true);
},
success: function(response) {
if (response.success) {
showSuccessMessage(response.message);
$('#connectedRoomModal .modal-body').replaceWith($(response.html).filter('.modal-body'));
$('#connected_room_title').html($('#connectedRoomModal').attr('data-room-num-title'));
var $icon = $('.connectedRoomModal[data-id-room="' + mainRoomId + '"]').find('.connected-room-count');
if ($icon.length && typeof response.connected_count !== 'undefined') {
$icon.text(response.connected_count);
}
} else {
alert(response.message);
}
},
complete: function() {
$row.find('.save-connected-room').prop('disabled', false);
}
});
},
showNotConnectedRooms: function() {
var $typeSelect = $(this);
var $row = $typeSelect.closest('tr');
var roomTypeId = $typeSelect.val();
var roomId = $('#connected_room_main_id').val();
var $roomSelect = $row.find('.connect-room');
$roomSelect.empty();
if (!roomTypeId) {
return;
}
$.ajax({
url: prod_link,
type: 'POST',
dataType: 'json',
data: {
ajax: true,
action: 'getNotConnectedRooms',
room_id: roomId,
room_type_id: roomTypeId,
},
success: function(response) {
if (response.success && response.rooms && response.rooms.length) {
$.each(response.rooms, function(i, room) {
$roomSelect.append(
$('<option>').val(room.id_room).text(room.name)
);
});
}
}
});
},
addRow: function() {
var $template = $('#connected_room_add_template');
if (!$template.length) {
return;
}
var $tbody = $('#connected_rooms_tbody');
if ($tbody.find('.connected-room-add-row').not('#connected_room_add_template').length) {
return;
}
var $newRow = $template.clone().removeAttr('id').removeClass('hide');
$('#connected_rooms_table_wrapper').removeClass('hide');
$('#connected_rooms_empty_state').hide();
$tbody.append($newRow);
initConnectedRoomModal.showNotConnectedRooms.call($newRow.find('.connect-room-type')[0]);
$('#add_connected_room_row').prop('disabled', true);
},
removeRow: function() {
var $row = $(this).closest('tr');
$row.remove();
$('#add_connected_room_row').prop('disabled', false);
if (!$('#connected_rooms_tbody').find('.connected-room-row').length) {
$('#connected_rooms_table_wrapper').addClass('hide');
$('#connected_rooms_empty_state').removeClass('hide').show();
}
},
delete: function() {
var mainRoomId = $('#connected_room_main_id').val();
var connectedId = $(this).data('connected-id');
$.ajax({
url: prod_link,
type: 'POST',
dataType: 'json',
data: {
ajax: true,
action: 'ManageConnectedRoom',
mode: 'delete',
room_id: mainRoomId,
connected_id: connectedId,
},
success: function(response) {
if (response.success) {
showSuccessMessage(response.message);
$('#connectedRoomModal .modal-body').replaceWith($(response.html).filter('.modal-body'));
$('#connected_room_title').html($('#connectedRoomModal').attr('data-room-num-title'));
var $icon = $('.connectedRoomModal[data-id-room="' + mainRoomId + '"]').find('.connected-room-count');
if ($icon.length && typeof response.connected_count !== 'undefined') {
$icon.text(response.connected_count);
}
} else {
alert(response.message);
}
}
});
}
};
$(document).on('click', '.connectedRoomModal', initConnectedRoomModal.show);
$(document).on('click', '.save-connected-room', initConnectedRoomModal.add);
$(document).on('click', '.delete-connected-room', initConnectedRoomModal.delete);
$(document).on('click', '#add_connected_room_row', initConnectedRoomModal.addRow);
$(document).on('click', '.remove-connected-room-row', initConnectedRoomModal.removeRow);
$(document).on('change', '.connect-room-type', initConnectedRoomModal.showNotConnectedRooms);
});
</script>

View File

@@ -0,0 +1,82 @@
{**
* 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
*}
{if isset($htl_connected_rooms) && $htl_connected_rooms|@count > 0}
<span class="connected-room-tooltip-trigger"
data-connected-details='{json_encode($htl_connected_rooms.connected_room_types)|escape:'html':'UTF-8'}'>
<i class="icon-random" style="color: #008abd; cursor: pointer;"></i>
</span>
{/if}
<script>
$(document).ready(function() {
{literal}
if (typeof window.initConnectedRoomTooltips === 'undefined') {
window.initConnectedRoomTooltips = function() {
if (typeof $.fn.tooltip === 'undefined' || typeof $.ui === 'undefined' || typeof $.ui.tooltip === 'undefined') {
return;
}
$('.connected-room-tooltip-trigger').each(function() {
if ($(this).data('ui-tooltip')) {
return;
}
$(this).tooltip({
items: '.connected-room-tooltip-trigger',
content: function() {
var details = $(this).data('connected-details');
if (!details || $.isEmptyObject(details)) {
return "{/literal}{l s='No rooms connected' js=1}{literal}";
}
var html = '<div class="tooltip_cont">';
html += '<div class="tip_header"><div class="tip_date">{/literal}{l s="Connected Rooms" js=1}{literal}</div></div>';
html += '<div class="tip-body tip-body-grid">';
for (var typeId in details) {
var group = details[typeId];
var names = [];
for (var i = 0; i < group.connected_rooms.length; i++) {
names.push(group.connected_rooms[i].name);
}
html += '<div>';
html += '<div class="tip_element_head">' + group.room_type_name + '</div>';
html += '<div class="tip_element_value">' + names.join(', ') + '</div>';
html += '</div>';
}
html += '</div></div>';
return html;
},
position: { my: "left top+10", at: "left bottom", collision: "flipfit", within: "#content" },
close: function(event, ui) {
ui.tooltip.hover(function() {
$(this).stop(true).fadeTo(300, 1);
},
function() {
$(this).fadeOut('300', function() {
$(this).remove();
});
});
}
});
});
};
}
window.initConnectedRoomTooltips();
{/literal}
});
</script>

View File

@@ -0,0 +1,140 @@
{*
* 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
*}
<style>
#connectedRoomModal .connected-rooms-table {
table-layout: fixed;
width: 100%;
border-radius: 3px;
}
#connectedRoomModal .modal-title .disable_dates_title {
display: inline-block;
font-weight: 600;
}
#connectedRoomModal .modal-title .connected_room_num {
color: grey;
}
#connectedRoomModal .modal-title {
line-height: 2;
}
#connectedRoomModal .modal-title .close {
line-height: 2;
}
#connectedRoomModal .modal-body {
max-height: 600px;
overflow-y: auto;
}
</style>
<div class="modal-body">
<input type="hidden" id="connected_room_main_id" name="main_room_id" value="{$main_room_id|intval}">
{assign var="connected_room_types" value=[]}
{if isset($htl_connected_rooms[$main_room_id].connected_room_types)}
{assign var="connected_room_types" value=$htl_connected_rooms[$main_room_id].connected_room_types}
{/if}
<!-- connectedrooms list -->
<div class="">
<div class="">
<div id="connected_rooms_list">
<div id="connected_rooms_table_wrapper"
class="{if $connected_room_types|@count == 0}hide{/if}">
<table class="table table-bordered table-striped connected-rooms-table">
<thead>
<tr>
<th>{l s='Room Type'}</th>
<th>{l s='Connected Room'}</th>
<th class="text-center">
{l s='Action'}
</th>
</tr>
</thead>
<tbody id="connected_rooms_tbody">
{foreach from=$connected_room_types item=typeGroup}
{foreach from=$typeGroup.connected_rooms item=room}
<tr class="connected-room-row">
<td>{$typeGroup.room_type_name|escape:'html':'UTF-8'}</td>
<td>{$room.name|escape:'html':'UTF-8'}</td>
<td class="text-center">
<a href="javascript:void(0);"
class="delete-connected-room btn btn-default"
data-connected-id="{$room.id_connected_room|intval}"
data-connected-room-id="{$room.id_room|intval}"
title="{l s='Remove'}">
<i class="icon-trash"></i>
</a>
</td>
</tr>
{/foreach}
{/foreach}
</tbody>
</table>
</div>
<div class="list-empty {if $connected_room_types|@count > 0}hide{/if}"
id="connected_rooms_empty_state">
<div class="list-empty-msg">
<i class="icon-warning-sign list-empty-icon"></i>
{l s='No connected rooms.'}
</div>
</div>
</div>
{if isset($htl_not_connected_rooms) && $htl_not_connected_rooms|count > 0}
<button type="button" id="add_connected_room_row" class="btn btn-default">
<i class="icon-plus"></i> {l s='Add Connected Room'}
</button>
{/if}
</div>
</div>
{if isset($htl_not_connected_rooms) && $htl_not_connected_rooms|count > 0}
<table class="hide">
<tbody>
<tr id="connected_room_add_template" class="connected-room-add-row hide">
<td>
<select class="form-control connect-room-type" name="connect_room_type">
{foreach from=$htl_not_connected_rooms key=typeId item=typeGroup}
<option value="{$typeGroup.id_room_type|intval}"
{if $typeGroup.id_room_type == $current_roomtype}selected{/if}>
{$typeGroup.name|escape:'html':'UTF-8'}
</option>
{/foreach}
</select>
</td>
<td>
<select class="form-control connect-room" name="connect_room">
</select>
</td>
<td class="text-center">
<button type="button" class="btn btn-default remove-connected-room-row"
title="{l s='Remove'}">
<i class="icon-trash"></i>
</button>
<button type="button" class="btn btn-primary save-connected-room">
{l s='Add'}
</button>
</td>
</tr>
</tbody>
</table>
{/if}
</div>

View File

@@ -45,9 +45,6 @@
<a class="link-social link-github _blank" href="https://github.com/webkul/hotelcommerce" title="Github">
<i class="icon-github"></i>
</a>
<a class="link-social link-google _blank" href="https://plus.google.com/110221570427070809661" title="Google">
<i class="icon-google-plus"></i>
</a>
</div>
</div>
<div class="col-sm-5">

View File

@@ -754,9 +754,8 @@ class CartCore extends ObjectModel
$totalPriceByProductTaxExcl += $roomTotalPrice['total_price_tax_excl'];
}
// Rounding as per configurations
$row['total'] = Tools::processPriceRounding($totalPriceByProductTaxExcl);
$row['total_wt'] = Tools::processPriceRounding($totalPriceByProductTaxIncl);
$row['total'] = $totalPriceByProductTaxExcl;
$row['total_wt'] = $totalPriceByProductTaxIncl;
}
} else {
$row['total'] = 0;
@@ -1768,10 +1767,11 @@ class CartCore extends ObjectModel
} else {
$priceAdd = $servicePorduct['unit_price_tax_excl'];
}
$lineTotal = Tools::processPriceRounding($priceAdd, (int)$servicePorduct['quantity']);
if ($ps_round_type == Order::ROUND_TOTAL) {
$products_total[$id_tax_rules_group.'_'.$id_address] += $priceAdd * (int)$servicePorduct['quantity'];
$products_total[$id_tax_rules_group.'_'.$id_address] += $lineTotal;
} else {
$products_total[$id_tax_rules_group] += $priceAdd * (int)$servicePorduct['quantity'];
$products_total[$id_tax_rules_group] += $lineTotal;
}
}
}
@@ -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);
}
}
}
}

View File

@@ -229,12 +229,12 @@ abstract class PaymentModuleCore extends Module
$this->currentOrderReference = $reference;
$order_creation_failed = false;
$cart_total_paid = (float)Tools::ps_round((float)$this->context->cart->getOrderTotal(true, Cart::BOTH), 2);
$cart_total_paid = (float)Tools::ps_round((float)$this->context->cart->getOrderTotal(true, Cart::BOTH), _PS_PRICE_COMPUTE_PRECISION_);
if ($this->context->cart->is_advance_payment) {
$cart_total_paid = (float)Tools::ps_round(
(float)$this->context->cart->getOrderTotal(true, CART::ADVANCE_PAYMENT),
2
_PS_PRICE_COMPUTE_PRECISION_
);
}
@@ -314,7 +314,7 @@ abstract class PaymentModuleCore extends Module
$order->gift_message = $this->context->cart->gift_message;
$order->mobile_theme = $this->context->cart->mobile_theme;
$order->conversion_rate = $this->context->currency->conversion_rate;
$amount_paid = !$dont_touch_amount ? Tools::ps_round((float)$amount_paid, 2) : $amount_paid;
$amount_paid = !$dont_touch_amount ? Tools::ps_round((float)$amount_paid, _PS_PRICE_COMPUTE_PRECISION_) : $amount_paid;
$order->total_paid_real = 0;
$order->total_products = (float)$this->context->cart->getOrderTotal(false, Cart::ONLY_PRODUCTS, $order->product_list, $id_carrier);
@@ -389,7 +389,7 @@ abstract class PaymentModuleCore extends Module
(float)$this->context->cart->getOrderTotal(true, Cart::BOTH, $order->product_list, $id_carrier),
_PS_PRICE_COMPUTE_PRECISION_
);
if ($orderTotal = $this->context->cart->getOrderTotal(true, Cart::BOTH, null, $id_carrier)) {
if ($orderTotal = Tools::ps_round((float)$this->context->cart->getOrderTotal(true, Cart::BOTH, null, $id_carrier), _PS_PRICE_COMPUTE_PRECISION_)) {
$order->amount_paid = (float)Tools::ps_round(
(($order->advance_paid_amount * $amount_paid) / $orderTotal),
_PS_PRICE_COMPUTE_PRECISION_
@@ -677,7 +677,7 @@ abstract class PaymentModuleCore extends Module
$orderTotals[$order->id]['excl'] -= $used['excl'];
$cart_rules[$key]['remaining'] -= $used['excl'];
}
$order->addCartRule($cart_rule['obj']->id, $cart_rule['obj']->name, $values, 0, $cart_rule['obj']->free_shipping);
if ($id_order_state != Configuration::get('PS_OS_ERROR') && $id_order_state != Configuration::get('PS_OS_CANCELED') && !in_array($cart_rule['obj']->id, $cart_rule_used)) {
@@ -850,7 +850,8 @@ abstract class PaymentModuleCore extends Module
$objCartBookingData->id_cart,
$objCartBookingData->id_guest,
$objCartBookingData->id_room,
0
0,
1
);
$objBookingDetail->date_from = $objCartBookingData->date_from;
@@ -941,8 +942,8 @@ abstract class PaymentModuleCore extends Module
);
}
$objBookingDemand->total_price_tax_excl = Tools::processPriceRounding(($objBookingDemand->unit_price_tax_excl * $numDays));
$objBookingDemand->total_price_tax_incl = Tools::processPriceRounding(($objBookingDemand->unit_price_tax_incl * $numDays));
$objBookingDemand->total_price_tax_excl = $objBookingDemand->unit_price_tax_excl * $numDays;
$objBookingDemand->total_price_tax_incl = $objBookingDemand->unit_price_tax_incl * $numDays;
$objBookingDemand->price_calc_method = $objGlobalDemand->price_calc_method;
$objBookingDemand->id_tax_rules_group = $objGlobalDemand->id_tax_rules_group;
@@ -2042,6 +2043,7 @@ abstract class PaymentModuleCore extends Module
// calculate averages now
foreach ($cart_htl_data[$type_key]['date_diff'] as $key => &$value) {
$value['avg_paid_unit_price_tax_incl'] = Tools::ps_round($value['avg_paid_unit_price_tax_incl'] / $value['num_rm'], 6);
$value['avg_paid_unit_price_tax_excl'] = Tools::ps_round($value['avg_paid_unit_price_tax_excl'] / $value['num_rm'], 6);
}
}
}

View File

@@ -227,8 +227,20 @@ class RequestSqlCore extends ObjectModel
if (in_array($attr['expr_type'], array('operator', 'const'))) {
continue;
}
if ($attribut = $this->cutAttribute($attr['base_expr'], $from)) {
$tab[] = $attribut;
if (!empty($attr['sub_tree'])) {
foreach ($attr['sub_tree'] as $tree_item) {
if ($tree_item['expr_type'] !== 'colref') {
continue;
}
if ($attribut = $this->cutAttribute($tree_item['base_expr'], $from)) {
$tab[] = $attribut;
}
}
} else {
if ($attribut = $this->cutAttribute($attr['base_expr'], $from)) {
$tab[] = $attribut;
}
}
}
@@ -279,16 +291,25 @@ class RequestSqlCore extends ObjectModel
{
if ($alias) {
foreach ($tables as $table) {
if (isset($table['alias']) && isset($table['table']) && $table['alias']['no_quotes'] == $alias) {
return array($table['table']);
if (!isset($table['alias'])) {
continue;
}
$table_alias = $table['alias']['no_quotes'];
if ($table_alias != $alias && !(is_array($table_alias) && $table_alias['parts'][0] == $alias)) {
continue;
}
if (!isset($table['table'])) {
// derived table (subquery) - no real table name to verify columns against
return array(false);
}
return array($table['table']);
}
} elseif (count($tables) > 1) {
if ($attr !== null) {
$tab = array();
foreach ($tables as $table) {
if ($this->attributExistInTable($attr, $table['table'])) {
$tab = $table['table'];
$tab[] = $table['table'];
}
}
if (count($tab) == 1) {
@@ -322,6 +343,10 @@ class RequestSqlCore extends ObjectModel
if (is_array($table) && (count($table) == 1)) {
$table = $table[0];
}
if (!$table) {
// derived table (subquery) - no real table to verify against, assume valid
return true;
}
$attributs = $this->getAttributesByTable($table);
foreach ($attributs as $attribut) {
if ($attribut['Field'] == trim($attr, ' `')) {
@@ -382,22 +407,14 @@ class RequestSqlCore extends ObjectModel
return false;
}
if ($table['ref_type'] == 'ON' && (trim($table['join_type']) == 'LEFT' || trim($table['join_type']) == 'JOIN')) {
if ($attrs = $this->cutJoin($table['ref_clause'], $from)) {
foreach ($attrs as $attr) {
if (!$this->attributExistInTable($attr['attribut'], $attr['table'])) {
$this->error_sql['checkedFrom']['attribut'] = array($attr['attribut'], implode(', ', $attr['table']));
return false;
}
}
} else {
if (isset($this->error_sql['returnNameTable'])) {
$this->error_sql['checkedFrom'] = $this->error_sql['returnNameTable'];
return false;
} else {
$this->error_sql['checkedFrom'] = false;
$attrs = $this->cutJoin($table['ref_clause'], $from);
foreach ($attrs as $attr) {
if (!$this->attributExistInTable($attr['attribut'], $attr['table'])) {
$this->error_sql['checkedFrom']['attribut'] = array($attr['attribut'], implode(', ', $attr['table']));
return false;
}
}
// derived-table joins (subquery as table) can't be resolved by cutJoin; nothing to check, not an error
}
}
return true;
@@ -416,7 +433,7 @@ class RequestSqlCore extends ObjectModel
$nb = count($select);
for ($i = 0; $i < $nb; $i++) {
$attribut = $select[$i];
if ($attribut['base_expr'] != '*' && !preg_match('/\.$/', $attribut['base_expr'])) {
if ($attribut['base_expr'] != '*' && !preg_match('/\.\*$/', $attribut['base_expr'])) {
if ($attribut['expr_type'] == 'colref') {
if ($attr = $this->cutAttribute(trim($attribut['base_expr']), $from)) {
if (!$this->attributExistInTable($attr['attribut'], $attr['table'])) {
@@ -433,6 +450,14 @@ class RequestSqlCore extends ObjectModel
}
}
}
while (is_array($attribut['sub_tree']) && isset($attribut['sub_tree'][0])) {
if ($attribut['expr_type'] === 'function' && in_array(strtoupper($attribut['base_expr']), $this->tested['unauthorized'])) {
$this->error_sql['checkedSelect']['function'] = $attribut['base_expr'];
return false;
}
$attribut = $attribut['sub_tree'][0];
}
} elseif ($in) {
$this->error_sql['checkedSelect']['*'] = false;
return false;
@@ -454,7 +479,7 @@ class RequestSqlCore extends ObjectModel
$nb = count($where);
for ($i = 0; $i < $nb; $i++) {
$attribut = $where[$i];
if ($attribut['expr_type'] == 'colref' || $attribut['expr_type'] == 'reserved') {
if ($attribut['expr_type'] == 'colref') {
if ($attr = $this->cutAttribute(trim($attribut['base_expr']), $from)) {
if (!$this->attributExistInTable($attr['attribut'], $attr['table'])) {
$this->error_sql['checkedWhere']['attribut'] = array($attr['attribut'], implode(', ', $attr['table']));
@@ -469,6 +494,11 @@ class RequestSqlCore extends ObjectModel
return false;
}
}
} elseif ($attribut['expr_type'] == 'reserved') {
if ($attribut['base_expr'] !== 'EXISTS' || !isset($where[$i + 1]) || $where[$i + 1]['expr_type'] !== 'subquery') {
$this->error_sql['checkedWhere'] = isset($this->error_sql['returnNameTable']) ? $this->error_sql['returnNameTable'] : false;
return false;
}
} elseif ($attribut['expr_type'] == 'operator') {
if (!in_array(strtoupper($attribut['base_expr']), $this->tested['operator'])) {
$this->error_sql['checkedWhere']['operator'] = array($attribut['base_expr']);
@@ -531,7 +561,7 @@ class RequestSqlCore extends ObjectModel
public function checkedOrder($order, $from)
{
$order = $order[0];
if ($order['type'] == 'expression') {
if ($order['expr_type'] == 'colref') {
if ($attr = $this->cutAttribute(trim($order['base_expr']), $from)) {
if (!$this->attributExistInTable($attr['attribut'], $attr['table'])) {
$this->error_sql['checkedOrder']['attribut'] = array($attr['attribut'], implode(', ', $attr['table']));
@@ -560,7 +590,7 @@ class RequestSqlCore extends ObjectModel
public function checkedGroupBy($group, $from)
{
$group = $group[0];
if ($group['type'] == 'expression') {
if ($group['expr_type'] == 'colref') {
if ($attr = $this->cutAttribute(trim($group['base_expr']), $from)) {
if (!$this->attributExistInTable($attr['attribut'], $attr['table'])) {
$this->error_sql['checkedGroupBy']['attribut'] = array($attr['attribut'], implode(', ', $attr['table']));
@@ -587,7 +617,7 @@ class RequestSqlCore extends ObjectModel
*/
public function checkedLimit($limit)
{
if (!preg_match('#^[0-9]+$#', trim($limit['start'])) || !preg_match('#^[0-9]+$#', trim($limit['end']))) {
if (!preg_match('#^[0-9]+$#', trim($limit['offset'])) || !preg_match('#^[0-9]+$#', trim($limit['rowcount']))) {
$this->error_sql['checkedLimit'] = false;
return false;
}

View File

@@ -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);
}

View File

@@ -2010,7 +2010,9 @@ class AdminControllerCore extends Controller
}
if ($conf = Tools::getValue('conf')) {
$this->context->smarty->assign('conf', $this->json ? json_encode($this->_conf[(int)$conf]) : $this->_conf[(int)$conf]);
if (isset($this->_conf[$conf])) {
$this->context->smarty->assign('conf', $this->json ? json_encode($this->_conf[(int)$conf]) : $this->_conf[(int)$conf]);
}
}
foreach (array('errors', 'warnings', 'informations', 'confirmations') as $type) {

View File

@@ -2677,7 +2677,7 @@ class OrderCore extends ObjectModel
'unit_tax_base' => $autoAddedPriceExcl / $totalAutoAddedQty,
'total_tax_base' => $autoAddedPriceExcl,
'unit_amount' => $amount,
'total_amount' => Tools::processPriceRounding($amount, $totalAutoAddedQty),
'total_amount' => Tools::processPriceRounding($amount, $totalAutoAddedQty, $this->round_type, $this->round_mode),
);
}
} else {
@@ -2724,7 +2724,7 @@ class OrderCore extends ObjectModel
foreach ($tax_calculator->getTaxesAmount($unit_price_tax_excl) as $id_tax => $unit_amount) {
$total_tax_base = 0;
$total_amount = Tools::processPriceRounding($unit_amount, $quantity);
$total_amount = Tools::processPriceRounding($unit_amount, $quantity, $this->round_type, $this->round_mode);
if (!isset($groupedTaxDetails[$id_tax])) {
$groupedTaxDetails[$id_tax] = array(

View 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, '&nbsp;');
}
$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);
}
}

View File

@@ -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';
/**

View File

@@ -18,8 +18,8 @@
<meta meta_page="manufacturer" left="1" right="0"/>
<meta meta_page="new-products" left="1" right="0"/>
<meta meta_page="password" left="0" right="0"/>
<meta meta_page="prices-drop" left="1" right="0"/>
<meta meta_page="sitemap" left="1" right="0"/>
<!-- <meta meta_page="prices-drop" left="1" right="0"/> -->
<!-- <meta meta_page="sitemap" left="1" right="0"/> -->
<meta meta_page="supplier" left="0" right="0"/>
<meta meta_page="address" left="0" right="0"/>
<meta meta_page="addresses" left="0" right="0"/>
@@ -32,8 +32,8 @@
<meta meta_page="order-follow" left="0" right="0"/>
<meta meta_page="order-slip" left="0" right="0"/>
<meta meta_page="order" left="0" right="0"/>
<meta meta_page="search" left="1" right="0"/>
<meta meta_page="stores" left="0" right="0"/>
<!-- <meta meta_page="search" left="1" right="0"/> -->
<!-- <meta meta_page="stores" left="0" right="0"/> -->
<meta meta_page="order-opc" left="0" right="0"/>
<meta meta_page="guest-tracking" left="0" right="0"/>
<meta meta_page="order-confirmation" left="0" right="0"/>
@@ -45,7 +45,6 @@
<meta meta_page="module-bankwire-validation" left="0" right="0"/>
<meta meta_page="module-bankwire-payment" left="0" right="0"/>
<meta meta_page="module-cashondelivery-validation" left="0" right="0"/>
<meta meta_page="module-blocknewsletter-verification" left="1" right="0"/>
</metas>
<modules>
<module action="enable" name="blocknewsletter"/>

View File

@@ -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(),

View File

@@ -552,7 +552,7 @@ class AdminLanguagesControllerCore extends AdminController
}
// Get all iso code available
if ($lang_packs = Tools::file_get_contents('http://www.prestashop.com/download/lang_packs/get_language_pack.php?version='.Tools::getValue('ps_version').'&iso_lang='.Tools::strtolower(Tools::getValue('iso_lang')))) {
if ($lang_packs = Tools::file_get_contents(_QLO_API_URL_.'/lang_pack/get_lang_pack.php?version='.Tools::getValue('ps_version').'&iso_lang='.Tools::strtolower(Tools::getValue('iso_lang')))) {
$result = json_decode($lang_packs);
if ($lang_packs !== '' && $result && !isset($result->error)) {
$this->status = 'ok';

View File

@@ -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())
@@ -1031,7 +1034,11 @@ class AdminOrdersControllerCore extends AdminController
$taxRulesGroups = TaxRulesGroup::getTaxRulesGroups(true);
$smartyVars['taxRulesGroups'] = $taxRulesGroups;
$smartyVars['invoices_collection'] = $objOrder->getInvoicesCollection();
$smartyVars['customServiceAllowed'] = Configuration::get('PS_ALLOW_CREATE_CUSTOM_SERVICES_IN_BOOKING');
$serviceProductAccess = Profile::getProfileAccess(
$this->context->employee->id_profile,
Tab::getIdFromClassName('AdminNormalProducts')
);
$smartyVars['customServiceAllowed'] = $serviceProductAccess['add'] && Configuration::get('PS_ALLOW_CREATE_CUSTOM_SERVICES_IN_BOOKING');
$smartyVars['current_id_lang'] = $this->context->language->id;
$this->context->smarty->assign($smartyVars);
@@ -1346,6 +1353,8 @@ class AdminOrdersControllerCore extends AdminController
parent::setMedia();
$this->addJqueryUI('ui.datepicker');
$this->addJqueryUI('ui.tooltip', 'base', true);
$this->addJS(_PS_JS_DIR_.'vendor/d3.v3.min.js');
if ($this->display == 'view') {
@@ -3215,6 +3224,7 @@ class AdminOrdersControllerCore extends AdminController
if (!Validate::isLoadedObject($order = new Order(Tools::getValue('id_order')))) {
return;
}
if ($this->tabAccess['kpi'] === 1) {
$this->content .= $this->renderKpis();
}
@@ -3577,6 +3587,8 @@ class AdminOrdersControllerCore extends AdminController
$order_detail_data[$key]['amt_with_qty_tax_incl'] = $value['total_price_tax_incl'];
$order_detail_data[$key]['room_type_info'] = $objHotelRoomType->getRoomTypeInfoByIdProduct($value['id_product']);
$order_detail_data[$key]['total_room_tax'] = $order_detail_data[$key]['total_room_price_ti'] - $order_detail_data[$key]['total_room_price_te'];
$order_detail_data[$key]['num_checkin_documents'] = HotelBookingDocument::getCountByIdHtlBooking($value['id']);
$order_detail_data[$key]['connected_rooms'] = HotelConnectedRoom::getConnectedRooms($value['id_room'], null, null, (int) Context::getContext()->language->id);
if (isset($value['refund_info'])
&& $value['refund_info']['refunded']
@@ -3695,6 +3707,8 @@ class AdminOrdersControllerCore extends AdminController
$objProduct = new Product();
$hotelStandaloneProducts = $objProduct->getServiceProducts(null, Product::SELLING_PREFERENCE_HOTEL_STANDALONE);
$standaloneProducts = $objProduct->getServiceProducts(null, Product::SELLING_PREFERENCE_STANDALONE);
$cartRuleAccess = Profile::getProfileAccess($this->context->employee->id_profile, (int)Tab::getIdFromClassName('AdminCartRules'));
$addressAccess = Profile::getProfileAccess($this->context->employee->id_profile, (int)Tab::getIdFromClassName('AdminAddresses'));
$this->tpl_view_vars = array(
'hotelStandaloneProducts' => $hotelStandaloneProducts,
@@ -3762,6 +3776,8 @@ class AdminOrdersControllerCore extends AdminController
'iso_code_lang' => $this->context->language->iso_code,
'id_lang' => $this->context->language->id,
'can_edit' => ($this->tabAccess['edit'] === 1),
'cartRuleAccess' => $cartRuleAccess,
'addressAccess' => $addressAccess,
'current_id_lang' => $this->context->language->id,
'invoices_collection' => $order->getInvoicesCollection(),
'not_paid_invoices_collection' => $order->getNotPaidInvoicesCollection(),
@@ -5164,8 +5180,8 @@ class AdminOrdersControllerCore extends AdminController
$carrier = new Carrier((int)$order->id_carrier);
$tax_calculator = $carrier->getTaxCalculator($invoice_address);
$order_invoice->total_paid_tax_excl = Tools::ps_round((float)$cart->getOrderTotal(false, $total_method), 2);
$order_invoice->total_paid_tax_incl = Tools::ps_round((float)$cart->getOrderTotal($use_taxes, $total_method), 2);
$order_invoice->total_paid_tax_excl = Tools::ps_round((float)$cart->getOrderTotal(false, $total_method), _PS_PRICE_COMPUTE_PRECISION_);
$order_invoice->total_paid_tax_incl = Tools::ps_round((float)$cart->getOrderTotal($use_taxes, $total_method), _PS_PRICE_COMPUTE_PRECISION_);
$order_invoice->total_products = (float)$cart->getOrderTotal(false, Cart::ONLY_PRODUCTS);
$order_invoice->total_products_wt = (float)$cart->getOrderTotal($use_taxes, Cart::ONLY_PRODUCTS);
$order_invoice->total_shipping_tax_excl = (float)$cart->getTotalShippingCost(null, false);
@@ -5402,7 +5418,8 @@ class AdminOrdersControllerCore extends AdminController
$this->context->cart->id,
$this->context->cookie->id_guest,
$objCartBookingData->id_room,
0
0,
1
);
$objBookingDetail->total_price_tax_excl = $total_price['total_price_tax_excl'];
$objBookingDetail->total_price_tax_incl = $total_price['total_price_tax_incl'];
@@ -5722,8 +5739,8 @@ class AdminOrdersControllerCore extends AdminController
$invoice_address = new Address((int) $objOrder->{Configuration::get('PS_TAX_ADDRESS_TYPE', null, null, $objOrder->id_shop)});
$carrier = new Carrier((int)$objOrder->id_carrier);
$tax_calculator = $carrier->getTaxCalculator($invoice_address);
$objOrderInvoice->total_paid_tax_excl = Tools::ps_round((float)$objCart->getOrderTotal(false, $totalMethod), 2);
$objOrderInvoice->total_paid_tax_incl = Tools::ps_round((float)$objCart->getOrderTotal($useTaxes, $totalMethod), 2);
$objOrderInvoice->total_paid_tax_excl = Tools::ps_round((float)$objCart->getOrderTotal(false, $totalMethod), _PS_PRICE_COMPUTE_PRECISION_);
$objOrderInvoice->total_paid_tax_incl = Tools::ps_round((float)$objCart->getOrderTotal($useTaxes, $totalMethod), _PS_PRICE_COMPUTE_PRECISION_);
$objOrderInvoice->total_products = (float)$objCart->getOrderTotal(false, Cart::ONLY_PRODUCTS);
$objOrderInvoice->total_products_wt = (float)$objCart->getOrderTotal($useTaxes, Cart::ONLY_PRODUCTS);
$objOrderInvoice->total_shipping_tax_excl = (float)$objCart->getTotalShippingCost(null, false);
@@ -5864,25 +5881,28 @@ class AdminOrdersControllerCore extends AdminController
$objOrderHistory->changeIdOrderState($idOrderState, $objOrder, $useExistingPayment);
$objOrderHistory->add();
} else {
// check if new order amount is greater that old order amount and order payment is accepted
// then update order status to partial payment accepted
$currentOrderState = $objOrder->getCurrentOrderState();
$psOsPartialPaymentAccepted = Configuration::get('PS_OS_PARTIAL_PAYMENT_ACCEPTED');
if ($currentOrderState->paid == 1 && $currentOrderState->id != $psOsPartialPaymentAccepted) {
if ($currentOrderState->paid == 1) {
// calculate due amount
$dueAmount = $objOrder->total_paid_tax_incl - $objOrder->total_paid_real;
if ($dueAmount > 0) {
// now change order status to partial payment
$psOsPartialPaymentAccepted = Configuration::get('PS_OS_PARTIAL_PAYMENT_ACCEPTED');
$psOSPaymentComplete = Configuration::get('PS_OS_PAYMENT_ACCEPTED');
if ($objOrder->total_paid_real == 0) {
$targetState = Configuration::get('PS_OS_AWAITING_PAYMENT');
} elseif ($currentOrderState->id != $psOsPartialPaymentAccepted) {
$targetState = $psOsPartialPaymentAccepted;
}
$objOrderHistory = new OrderHistory();
$objOrderHistory->id_order = $objOrder->id;
$objOrderHistory->id_employee = (int) $this->context->employee->id;
$useExistingPayment = false;
if (!$objOrder->hasInvoice()) {
$useExistingPayment = true;
}
$objOrderHistory->changeIdOrderState($psOsPartialPaymentAccepted, $objOrder, $useExistingPayment);
$objOrderHistory->changeIdOrderState($targetState, $objOrder, $useExistingPayment);
$objOrderHistory->add();
}
}
@@ -5980,7 +6000,8 @@ class AdminOrdersControllerCore extends AdminController
$cart->id,
$cart->id_guest,
$id_room,
0
0,
1
);
$totalRoomPriceAfterTE = (float) $roomTotalPrice['total_price_tax_excl'];
@@ -7731,6 +7752,7 @@ class AdminOrdersControllerCore extends AdminController
$response['hasError'] = true;
$response['errors'][] = Tools::displayError('Error while updating service, please try again after refresing the page');
} else {
$this->sendChangedNotification($objOrder);
$response['service_panel']= $servicesBlock = $this->processRenderServicesPanel(
$objOrderDetail->id_order,
$objHotelBookingDetail->id_product,
@@ -7987,6 +8009,8 @@ class AdminOrdersControllerCore extends AdminController
}
}
}
$this->sendChangedNotification($order);
$response['service_panel'] = $this->processRenderServicesPanel(
$order->id,
$objHotelBookingDetail->id_product,
@@ -8269,6 +8293,7 @@ class AdminOrdersControllerCore extends AdminController
// Save changes of order
if ($objOrder->update()) {
$this->sendChangedNotification($objOrder);
$response['service_panel'] = $this->processRenderServicesPanel(
$objOrder->id,
$objHotelBookingDetail->id_product,
@@ -8522,7 +8547,7 @@ class AdminOrdersControllerCore extends AdminController
$objBookingDetail->date_to
);
}
$objBookingDemand->total_price_tax_excl = $totalPriceTaxIncl = Tools::processPriceRounding(
$objBookingDemand->total_price_tax_excl = $totalPriceTaxExcl = Tools::processPriceRounding(
($objBookingDemand->unit_price_tax_excl * $numDays),
1,
$order->round_type,
@@ -8622,7 +8647,7 @@ class AdminOrdersControllerCore extends AdminController
$order->round_type,
$order->round_mode
);
$objBookingDemand->total_price_tax_excl = Tools::processPriceRounding(
$objBookingDemand->total_price_tax_incl = Tools::processPriceRounding(
($objBookingDemand->unit_price_tax_incl * $numDays),
1,
$order->round_type,
@@ -8928,7 +8953,8 @@ class AdminOrdersControllerCore extends AdminController
0,
0,
0,
0
0,
1
);
if ($objHotelBooking->total_price_tax_excl != $newRoomTotalPrice['total_price_tax_excl']) {
$result['has_price_changes'] = 1;

View File

@@ -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);

View File

@@ -1602,7 +1602,8 @@ class AdminProductsControllerCore extends AdminController
) {
$this->addJqueryUI(array(
'ui.core',
'ui.widget'
'ui.widget',
'ui.tooltip'
));
$this->addjQueryPlugin(array(
@@ -3159,6 +3160,7 @@ class AdminProductsControllerCore extends AdminController
$disableDates = $objRoomDisableDates->getRoomDisableDates($room['id']);
$room['disable_dates_json'] = json_encode($disableDates);
}
$room['connected_rooms_count'] = HotelConnectedRoom::getTotalConnectedRooms($room['id']);
}
$data->assign('htl_room_info', $hotelRoomInfo);
@@ -3170,7 +3172,10 @@ class AdminProductsControllerCore extends AdminController
'product' => $obj,
'htl_info' => $hotelInfo,
'rm_status' => $roomStatus,
'locale' => $this->context->language->iso_code
'id_lang' => $this->context->language->id,
'locale' => $this->context->language->iso_code,
'room_type_acronym' => preg_replace(
'/(?:(?<!^)(?<!\s)\p{L}|\P{L})+/u','',(string) $obj->name[$this->context->language->id]),
)
);
} else {
@@ -3786,6 +3791,7 @@ class AdminProductsControllerCore extends AdminController
$this->errors[] = $this->l('This room cannot be deleted as this room contains future booking.');
}
if (empty($this->errors)) {
$response['affected_rooms'] = HotelConnectedRoom::getTotalConnectedRooms(null, $idRoom);
if ($objRoomInfo->delete()) {
$response['success'] = true;
} else {
@@ -5506,7 +5512,9 @@ class AdminProductsControllerCore extends AdminController
if (empty($this->errors)) {
foreach ($roomsInfo as $roomInfo) {
$objHotelRoomInfo = new HotelRoomInformation($roomInfo['id']);
$objHotelRoomInfo->id_status = $roomInfo['id_status'];
if (!empty($roomInfo['id_status'])) {
$objHotelRoomInfo->id_status = $roomInfo['id_status'];
}
if (isset($roomInfo['floor']) && $roomInfo['floor'] != '') {
$objHotelRoomInfo->floor = $roomInfo['floor'];
}
@@ -5589,6 +5597,8 @@ class AdminProductsControllerCore extends AdminController
$this->errors[] = Tools::displayError('Number of rooms is required.');
} else if (!Validate::isUnsignedInt($roomQuantity) || $roomQuantity < 1) {
$this->errors[] = Tools::displayError('Invalid value for number of rooms.');
} else if ($roomQuantity > 50) {
$this->errors[] = Tools::displayError('You cannot create more than 50 rooms at a time.');
}
if (trim($comment = Tools::getValue('room_comment'))) {
@@ -5618,16 +5628,19 @@ class AdminProductsControllerCore extends AdminController
}
if (empty($this->errors)) {
if (!$prefix) {
$roomsInfo['prefix'] = $objProduct->name[0].'R';
} else {
if ($prefix) {
$roomsInfo['prefix'] = $prefix;
} elseif (!(int) $roomNumber) {
$roomsInfo['prefix'] = preg_replace('/(?:(?<!^)(?<!\s)\p{L}|\P{L})+/u', '', (string) $objProduct->name);
} else {
$roomsInfo['prefix'] = '';
}
$startingRoomNumber = (int) $roomNumber;
for ($i = 0; $i < $roomQuantity; $i++) {
$roomNum = $roomsInfo['prefix'];
if ((int) $roomNumber) {
$roomNum .= '-'.($roomNumber + $i);
if ($startingRoomNumber) {
$roomNum .= ($roomsInfo['prefix'] !== '' ? '-' : '').($startingRoomNumber + $i);
}
$objHotelRoomInfo = new HotelRoomInformation();
@@ -5707,4 +5720,102 @@ class AdminProductsControllerCore extends AdminController
return $tpl->fetch();
}
public function ajaxProcessGetNotConnectedRooms()
{
$roomId = (int) Tools::getValue('room_id');
$roomTypeId = (int) Tools::getValue('room_type_id');
$allGroups = HotelConnectedRoom::getNotConnectedRooms($roomId, $this->context->language->id);
$rooms = isset($allGroups[$roomTypeId]) ? $allGroups[$roomTypeId]['rooms'] : array();
die(Tools::jsonEncode(['success' => true, 'rooms' => $rooms]));
}
public function ajaxProcessInitConnectedRoomModal()
{
$response['hasError'] = 1;
$roomId = (int) Tools::getValue('room_id');
$objRoom = new HotelRoomInformation($roomId);
$idProduct = (int) $objRoom->id_product;
$idHotel = (int) $objRoom->id_hotel;
$this->context->smarty->assign(array(
'htl_connected_rooms' => HotelConnectedRoom::getConnectedRooms($roomId, null, null, $this->context->language->id),
'htl_not_connected_rooms' => HotelConnectedRoom::getNotConnectedRooms($roomId, $this->context->language->id),
'main_room_id' => $roomId,
'current_roomtype' => $idProduct,
));
$modal = array(
'modal_id' => 'connectedRoomModal',
'modal_class' => 'modal-md',
'modal_title' => '<i class="icon-random"></i>&nbsp; '.$this->l('Connected Room').' <span id="connected_room_title" class="connected_room_num"></span>',
'modal_content' => $this->context->smarty->fetch('controllers/products/modal-connected-rooms.tpl'),
'modal_actions' => array(),
);
$this->context->smarty->assign($modal);
$response['hasError'] = 0;
$response['modalHtml'] = $this->context->smarty->fetch('modal.tpl');
die(Tools::jsonEncode($response));
}
public function ajaxProcessManageConnectedRoom()
{
if ($this->tabAccess['edit'] !== 1) {
die(json_encode(['success' => false, 'message' => $this->l('You do not have permission to edit this.')]));
}
$mode = Tools::getValue('mode');
$roomId = (int) Tools::getValue('room_id');
$connectedRoomId = (int) Tools::getValue('connected_room_id');
$connectedId = (int) Tools::getValue('connected_id');
$objRoom = new HotelRoomInformation($roomId);
$idProduct = (int) $objRoom->id_product;
$idHotel = (int) $objRoom->id_hotel;
if ($mode === 'add') {
$connection = new HotelConnectedRoom();
$connection->id_room = $roomId;
$connection->id_room_connected = $connectedRoomId;
if ($connection->add()) {
$this->context->smarty->assign(array(
'htl_connected_rooms' => HotelConnectedRoom::getConnectedRooms($roomId, null, null, $this->context->language->id),
'htl_not_connected_rooms' => HotelConnectedRoom::getNotConnectedRooms($roomId, $this->context->language->id),
'main_room_id' => $roomId,
'current_roomtype' => $idProduct,
));
die(json_encode([
'html' => $this->context->smarty->fetch('controllers/products/modal-connected-rooms.tpl'),
'success' => true,
'message' => $this->l('Room connected successfully.'),
'connected_count' => HotelConnectedRoom::getTotalConnectedRooms($roomId),
]));
}
die(json_encode(['success' => false, 'message' => $this->l('Failed to connect room.')]));
}
if ($mode === 'delete') {
if (!$connectedId) {
die(json_encode(['success' => false, 'message' => $this->l('Invalid data.')]));
}
$objHotelConnectedRoom = new HotelConnectedRoom($connectedId);
if ($objHotelConnectedRoom->delete()) {
$this->context->smarty->assign(array(
'htl_connected_rooms' => HotelConnectedRoom::getConnectedRooms($roomId, null, null, $this->context->language->id),
'htl_not_connected_rooms' => HotelConnectedRoom::getNotConnectedRooms($roomId, $this->context->language->id),
'main_room_id' => $roomId,
'current_roomtype' => $idProduct,
));
die(json_encode([
'success' => true,
'html' => $this->context->smarty->fetch('controllers/products/modal-connected-rooms.tpl'),
'message' => $this->l('Connected room removed successfully.'),
'connected_count' => HotelConnectedRoom::getTotalConnectedRooms($roomId),
]));
}
die(json_encode(['success' => false, 'message' => $this->l('Failed to remove connected room.')]));
}
}
}

View File

@@ -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;

View 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();
}
}

View File

@@ -150,7 +150,12 @@ class Datas
'name' => 'newsletter',
'default' => 1,
'help' => 'Get news from QloApps',
)
),
'enable_ssl' => array(
'name' => 'ssl',
'default' => 0,
'help' => 'Enable SSL for QloApps',
),
);
protected $datas = array();

View File

@@ -238,6 +238,7 @@ class InstallControllerConsoleProcess extends InstallControllerConsole
'admin_lastname' => $this->datas->admin_lastname,
'admin_password' => $this->datas->admin_password,
'admin_email' => $this->datas->admin_email,
'enable_ssl' => $this->datas->enable_ssl,
'marketing_consent' => $this->datas->marketing_consent,
'configuration_agrement' => true,
'send_informations' => true,

View File

@@ -1496,7 +1496,7 @@ CREATE TABLE `PREFIX_order_payment` (
`id_order_payment` INT NOT NULL auto_increment,
`order_reference` VARCHAR(9),
`id_currency` INT UNSIGNED NOT NULL,
`amount` DECIMAL(10,2) NOT NULL,
`amount` DECIMAL(20,6) NOT NULL,
`payment_method` varchar(255) NOT NULL,
`payment_type` INT UNSIGNED NOT NULL,
`conversion_rate` decimal(13,6) NOT NULL DEFAULT 1,
@@ -1514,7 +1514,7 @@ CREATE TABLE `PREFIX_order_payment_detail` (
`id_order_payment_detail` INT(10) unsigned NOT NULL auto_increment,
`id_order_payment` INT(10) unsigned NOT NULL,
`id_order` INT(10) unsigned NOT NULL,
`amount` DECIMAL(10,2) NOT NULL,
`amount` DECIMAL(20,6) NOT NULL,
`receipt_number` INT(10) NOT NULL,
`date_add` DATETIME NOT NULL,
PRIMARY KEY (`id_order_payment_detail`)

View File

@@ -32,14 +32,18 @@
<page>password</page>
<configurable>1</configurable>
</meta>
<!--
<meta id="prices-drop">
<page>prices-drop</page>
<configurable>1</configurable>
</meta>
-->
<!--
<meta id="sitemap">
<page>sitemap</page>
<configurable>1</configurable>
</meta>
-->
<meta id="supplier">
<page>supplier</page>
<configurable>1</configurable>
@@ -92,14 +96,18 @@
<page>order</page>
<configurable>1</configurable>
</meta>
<!--
<meta id="search">
<page>search</page>
<configurable>1</configurable>
</meta>
-->
<!--
<meta id="stores">
<page>stores</page>
<configurable>1</configurable>
</meta>
-->
<meta id="order-opc">
<page>order-opc</page>
<configurable>1</configurable>
@@ -144,10 +152,12 @@
<page>module-cashondelivery-validation</page>
<configurable>0</configurable>
</meta>
<!--
<meta id="products-comparison">
<page>products-comparison</page>
<configurable>1</configurable>
</meta>
-->
<meta id="our-properties">
<page>our-properties</page>
<configurable>1</configurable>

View File

@@ -39,9 +39,5 @@
<theme_meta id="theme_meta_30" id_theme="1" id_meta="30" left_column="0" right_column="0"/>
<theme_meta id="theme_meta_31" id_theme="1" id_meta="31" left_column="0" right_column="0"/>
<theme_meta id="theme_meta_32" id_theme="1" id_meta="32" left_column="0" right_column="0"/>
<theme_meta id="theme_meta_33" id_theme="1" id_meta="33" left_column="0" right_column="0"/>
<theme_meta id="theme_meta_34" id_theme="1" id_meta="34" left_column="0" right_column="0"/>
<theme_meta id="theme_meta_35" id_theme="1" id_meta="35" left_column="0" right_column="0"/>
<theme_meta id="theme_meta_37" id_theme="1" id_meta="37" left_column="0" right_column="0"/>
</entities>
</entity_theme_meta>

View File

@@ -19,8 +19,8 @@
<url_rewrite>contact-us</url_rewrite>
</meta>
<meta id="index" id_shop="1">
<title>Hotel Prime</title>
<description>A place where comfort and luxury are blended with nature!</description>
<title></title>
<description></description>
<keywords/>
<url_rewrite/>
</meta>
@@ -42,18 +42,22 @@
<keywords/>
<url_rewrite>password-recovery</url_rewrite>
</meta>
<!--
<meta id="prices-drop" id_shop="1">
<title>Prices drop</title>
<description>Our special products</description>
<keywords/>
<url_rewrite>prices-drop</url_rewrite>
</meta>
-->
<!--
<meta id="sitemap" id_shop="1">
<title>Sitemap</title>
<description>Lost ? Find what your are looking for</description>
<keywords/>
<url_rewrite>sitemap</url_rewrite>
</meta>
-->
<meta id="supplier" id_shop="1">
<title>Suppliers</title>
<description>Suppliers list</description>
@@ -138,18 +142,22 @@
<keywords/>
<url_rewrite>order</url_rewrite>
</meta>
<!--
<meta id="search" id_shop="1">
<title>Search</title>
<description/>
<keywords/>
<url_rewrite>search</url_rewrite>
</meta>
-->
<!--
<meta id="stores" id_shop="1">
<title>Stores</title>
<description/>
<keywords/>
<url_rewrite>stores</url_rewrite>
</meta>
-->
<meta id="order-opc" id_shop="1">
<title>Order</title>
<description/>
@@ -168,10 +176,12 @@
<keywords/>
<url_rewrite>order-confirmation</url_rewrite>
</meta>
<!--
<meta id="products-comparison" id_shop="1">
<title>Products Comparison</title>
<description/>
<keywords/>
<url_rewrite>products-comparison</url_rewrite>
</meta>
-->
</entity_meta>

View File

@@ -19,8 +19,8 @@
<url_rewrite>contact-us</url_rewrite>
</meta>
<meta id='index' id_shop='1'>
<title>হোটেল প্রাইম</title>
<description>এটি এমন একটি স্থান যেখানে আরাম এবং বিলাসিতা প্রকৃতির সাথে মিলিত হয়েছে!</description>
<title></title>
<description></description>
<keywords/>
<url_rewrite/>
</meta>
@@ -42,18 +42,22 @@
<keywords/>
<url_rewrite>password-recovery</url_rewrite>
</meta>
<!--
<meta id='prices-drop' id_shop='1'>
<title>মূল্য কমানো</title>
<description>আমাদের বিশেষ পণ্য </description>
<keywords/>
<url_rewrite>prices-drop</url_rewrite>
</meta>
-->
<!--
<meta id='sitemap' id_shop='1'>
<title>সাইট ম্যাপ </title>
<description>ভুলে গেছেন? যা চান তা খুজুন </description>
<keywords/>
<url_rewrite>sitemap</url_rewrite>
</meta>
-->
<meta id='supplier' id_shop='1'>
<title>সরবরাহকারী </title>
<description>সরবরাহকারির তালিকা </description>
@@ -138,18 +142,22 @@
<keywords/>
<url_rewrite>order</url_rewrite>
</meta>
<!--
<meta id='search' id_shop='1'>
<title>খোজ </title>
<description/>
<keywords/>
<url_rewrite>search</url_rewrite>
</meta>
-->
<!--
<meta id='stores' id_shop='1'>
<title>দোকান </title>
<description/>
<keywords/>
<url_rewrite>stores</url_rewrite>
</meta>
-->
<meta id='order-opc' id_shop='1'>
<title>অর্ডার </title>
<description/>
@@ -168,10 +176,12 @@
<keywords/>
<url_rewrite>order-confirmation</url_rewrite>
</meta>
<!--
<meta id="products-comparison" id_shop="1">
<title>Products Comparison</title>
<description/>
<keywords/>
<url_rewrite>products-comparison</url_rewrite>
</meta>
-->
</entity_meta>

View File

@@ -19,8 +19,8 @@
<url_rewrite>entrar-em-contato-conosco</url_rewrite>
</meta>
<meta id='index' id_shop='1'>
<title>Hotel Prime</title>
<description>Um lugar onde o conforto e o luxo se misturam com a natureza!</description>
<title></title>
<description></description>
<keywords/>
<url_rewrite/>
</meta>
@@ -42,18 +42,22 @@
<keywords>forgot, password, e-mail, new, reset</keywords>
<url_rewrite>recuperar-senha</url_rewrite>
</meta>
<!--
<meta id='prices-drop' id_shop='1'>
<title>Preços em queda</title>
<description>Nossos produtos especiais</description>
<keywords>special, prices drop</keywords>
<url_rewrite>preços-em-queda</url_rewrite>
</meta>
-->
<!--
<meta id='sitemap' id_shop='1'>
<title>Mapa do site</title>
<description>Perdido(a)? Encontre o que procura</description>
<keywords>sitemap</keywords>
<url_rewrite>mapa do site</url_rewrite>
</meta>
-->
<meta id='supplier' id_shop='1'>
<title>Fornecedores</title>
<description>Lista de fornecedores</description>
@@ -138,18 +142,22 @@
<keywords/>
<url_rewrite>pedido</url_rewrite>
</meta>
<!--
<meta id='search' id_shop='1'>
<title>Procurar</title>
<description/>
<keywords/>
<url_rewrite>procurar</url_rewrite>
</meta>
-->
<!--
<meta id='stores' id_shop='1'>
<title>Lojas</title>
<description/>
<keywords/>
<url_rewrite>lojas</url_rewrite>
</meta>
-->
<meta id='order-opc' id_shop='1'>
<title>Pedido</title>
<description/>
@@ -168,10 +176,12 @@
<keywords/>
<url_rewrite>confirmação-do-pedido</url_rewrite>
</meta>
<!--
<meta id='products-comparison' id_shop='1'>
<title>Comparação de produtos</title>
<description/>
<keywords/>
<url_rewrite>comparação-de-produtos</url_rewrite>
</meta>
-->
</entity_meta>

View File

@@ -19,8 +19,8 @@
<url_rewrite>napiste-nam</url_rewrite>
</meta>
<meta id="index" id_shop="1">
<title>Hotel Prime</title>
<description>Místo, kde se komfort a luxus mísí s přírodou!</description>
<title></title>
<description></description>
<keywords/>
<url_rewrite/>
</meta>
@@ -42,18 +42,22 @@
<keywords/>
<url_rewrite>password-recovery</url_rewrite>
</meta>
<!--
<meta id="prices-drop" id_shop="1">
<title>Slevy</title>
<description>Our special products</description>
<keywords/>
<url_rewrite>slevy</url_rewrite>
</meta>
-->
<!--
<meta id="sitemap" id_shop="1">
<title>Mapa stránek</title>
<description>Lost ? Find what your are looking for</description>
<keywords/>
<url_rewrite>mapa-stranek</url_rewrite>
</meta>
-->
<meta id="supplier" id_shop="1">
<title>Dodavatelé</title>
<description>Suppliers list</description>
@@ -138,18 +142,22 @@
<keywords/>
<url_rewrite>objednavka</url_rewrite>
</meta>
<!--
<meta id="search" id_shop="1">
<title>Vyhledávání</title>
<description/>
<keywords/>
<url_rewrite>vyhledavani</url_rewrite>
</meta>
-->
<!--
<meta id="stores" id_shop="1">
<title>Prodejny</title>
<description/>
<keywords/>
<url_rewrite>prodejny</url_rewrite>
</meta>
-->
<meta id="order-opc" id_shop="1">
<title>Rychlá Objednávka</title>
<description/>
@@ -168,10 +176,12 @@
<keywords/>
<url_rewrite>potvrzeni-objednavky</url_rewrite>
</meta>
<!--
<meta id="products-comparison" id_shop="1">
<title>Porovnání produktů</title>
<description/>
<keywords/>
<url_rewrite>porovnani-produktu</url_rewrite>
</meta>
-->
</entity_meta>

View File

@@ -19,8 +19,8 @@
<url_rewrite>kontaktieren-sie-uns</url_rewrite>
</meta>
<meta id="index" id_shop="1">
<title>Hotel Prime</title>
<description>Ein Ort, an dem Komfort und Luxus mit der Natur verschmelzen!</description>
<title></title>
<description></description>
<keywords/>
<url_rewrite/>
</meta>
@@ -42,18 +42,22 @@
<keywords>vergessen, Kennwort, E-Mail, neu, Reset</keywords>
<url_rewrite>kennwort-wiederherstellung</url_rewrite>
</meta>
<!--
<meta id="prices-drop" id_shop="1">
<title>Angebote</title>
<description>Unsere Sonderangebote</description>
<keywords>besonders, Angebote</keywords>
<url_rewrite>angebote</url_rewrite>
</meta>
-->
<!--
<meta id="sitemap" id_shop="1">
<title>Sitemap</title>
<description>Verloren? Finden Sie, was Sie suchen</description>
<keywords>sitemap</keywords>
<url_rewrite>sitemap</url_rewrite>
</meta>
-->
<meta id="supplier" id_shop="1">
<title>Zulieferer</title>
<description>Zuliefererliste</description>
@@ -138,18 +142,22 @@
<keywords/>
<url_rewrite>bestellung</url_rewrite>
</meta>
<!--
<meta id="search" id_shop="1">
<title>Suche</title>
<description/>
<keywords/>
<url_rewrite>suche</url_rewrite>
</meta>
-->
<!--
<meta id="stores" id_shop="1">
<title>Shops</title>
<description/>
<keywords/>
<url_rewrite>shops</url_rewrite>
</meta>
-->
<meta id="order-opc" id_shop="1">
<title>Bestellung</title>
<description/>
@@ -168,10 +176,12 @@
<keywords/>
<url_rewrite>bestellbestatigung</url_rewrite>
</meta>
<!--
<meta id="products-comparison" id_shop="1">
<title>Products Comparison</title>
<description/>
<keywords/>
<url_rewrite>products-comparison</url_rewrite>
</meta>
-->
</entity_meta>

View File

@@ -19,8 +19,8 @@
<url_rewrite>contact-us</url_rewrite>
</meta>
<meta id="index" id_shop="1">
<title>Hotel Prime</title>
<description>A place where comfort and luxury are blended with nature!</description>
<title></title>
<description></description>
<keywords/>
<url_rewrite/>
</meta>
@@ -42,18 +42,22 @@
<keywords/>
<url_rewrite>password-recovery</url_rewrite>
</meta>
<!--
<meta id="prices-drop" id_shop="1">
<title>Prices drop</title>
<description>Our special products</description>
<keywords/>
<url_rewrite>prices-drop</url_rewrite>
</meta>
-->
<!--
<meta id="sitemap" id_shop="1">
<title>Sitemap</title>
<description>Lost ? Find what your are looking for</description>
<keywords/>
<url_rewrite>sitemap</url_rewrite>
</meta>
-->
<meta id="supplier" id_shop="1">
<title>Suppliers</title>
<description>Suppliers list</description>
@@ -138,18 +142,22 @@
<keywords/>
<url_rewrite>order</url_rewrite>
</meta>
<!--
<meta id="search" id_shop="1">
<title>Search</title>
<description/>
<keywords/>
<url_rewrite>search</url_rewrite>
</meta>
-->
<!--
<meta id="stores" id_shop="1">
<title>Stores</title>
<description/>
<keywords/>
<url_rewrite>stores</url_rewrite>
</meta>
-->
<meta id="order-opc" id_shop="1">
<title>Order</title>
<description/>
@@ -168,10 +176,12 @@
<keywords/>
<url_rewrite>order-confirmation</url_rewrite>
</meta>
<!--
<meta id="products-comparison" id_shop="1">
<title>Products Comparison</title>
<description/>
<keywords/>
<url_rewrite>products-comparison</url_rewrite>
</meta>
-->
</entity_meta>

View File

@@ -19,8 +19,8 @@
<url_rewrite>contactanos</url_rewrite>
</meta>
<meta id='index' id_shop='1'>
<title>Hotel Prime</title>
<description>¡Un lugar donde el confort y el lujo se mezclan con la naturaleza!</description>
<title></title>
<description></description>
<keywords/>
<url_rewrite/>
</meta>
@@ -42,18 +42,22 @@
<keywords>contrase&#xF1;a, has olvidado, e-mail, nuevo, regeneraci&#xF3;n</keywords>
<url_rewrite>recuperacion-contraseña</url_rewrite>
</meta>
<!--
<meta id='prices-drop' id_shop='1'>
<title>Bajamos los precios</title>
<description>Nuestros productos especiales</description>
<keywords>promoci&#xF3;n, reducci&#xF3;n</keywords>
<url_rewrite>bajamos-precios</url_rewrite>
</meta>
-->
<!--
<meta id='sitemap' id_shop='1'>
<title>Mapa del sitio web</title>
<description>¿Estás perdido? Encuentra lo que buscas</description>
<keywords>plan, sitio</keywords>
<url_rewrite>mapa-web</url_rewrite>
</meta>
-->
<meta id='supplier' id_shop='1'>
<title>Proveedores</title>
<description>Lista de proveedores</description>
@@ -138,18 +142,22 @@
<keywords/>
<url_rewrite>pedido</url_rewrite>
</meta>
<!--
<meta id='search' id_shop='1'>
<title>Buscar</title>
<description/>
<keywords/>
<url_rewrite>buscar</url_rewrite>
</meta>
-->
<!--
<meta id='stores' id_shop='1'>
<title>Tiendas</title>
<description/>
<keywords/>
<url_rewrite>tiendas</url_rewrite>
</meta>
-->
<meta id='order-opc' id_shop='1'>
<title>Pedido</title>
<description/>
@@ -168,10 +176,12 @@
<keywords/>
<url_rewrite>confirmacion-pedido</url_rewrite>
</meta>
<!--
<meta id='products-comparison' id_shop='1'>
<title>Comparativa de productos</title>
<description/>
<keywords/>
<url_rewrite>comparativa-productos</url_rewrite>
</meta>
-->
</entity_meta>

View File

@@ -19,8 +19,8 @@
<url_rewrite>contact-us</url_rewrite>
</meta>
<meta id="index" id_shop="1">
<title>هتل پرایم</title>
<description>مکانی که در آن راحتی و لوکس بودن با طبیعت ترکیب شده‌اند!</description>
<title></title>
<description></description>
<keywords/>
<url_rewrite/>
</meta>
@@ -42,18 +42,22 @@
<keywords/>
<url_rewrite>password-recovery</url_rewrite>
</meta>
<!--
<meta id="prices-drop" id_shop="1">
<title>کاهش قیمت ها</title>
<description>محصولات ویژه ما</description>
<keywords/>
<url_rewrite>prices-drop</url_rewrite>
</meta>
-->
<!--
<meta id="sitemap" id_shop="1">
<title>نقشه سایت</title>
<description>گمشده اید؟ آنچه را که به دنبالش هستید پیدا کنید</description>
<keywords/>
<url_rewrite>sitemap</url_rewrite>
</meta>
-->
<meta id="supplier" id_shop="1">
<title>تامین کننده ها</title>
<description>لیست تامین کننده ها</description>
@@ -138,18 +142,22 @@
<keywords/>
<url_rewrite>order</url_rewrite>
</meta>
<!--
<meta id="search" id_shop="1">
<title>جستجو</title>
<description/>
<keywords/>
<url_rewrite>search</url_rewrite>
</meta>
-->
<!--
<meta id="stores" id_shop="1">
<title>مغازه‌ها</title>
<description/>
<keywords/>
<url_rewrite>stores</url_rewrite>
</meta>
-->
<meta id="order-opc" id_shop="1">
<title>سفارش</title>
<description/>
@@ -168,10 +176,12 @@
<keywords/>
<url_rewrite>order-confirmation</url_rewrite>
</meta>
<!--
<meta id="products-comparison" id_shop="1">
<title>مقایسه محصولات</title>
<description/>
<keywords/>
<url_rewrite>products-comparison</url_rewrite>
</meta>
-->
</entity_meta>

View File

@@ -19,8 +19,8 @@
<url_rewrite>nous-contacter</url_rewrite>
</meta>
<meta id='index' id_shop='1'>
<title>Hôtel Prime</title>
<description>Un endroit où le confort et le luxe se mélangent avec la nature !</description>
<title></title>
<description></description>
<keywords/>
<url_rewrite/>
</meta>
@@ -42,18 +42,22 @@
<keywords/>
<url_rewrite>recuperation-mot-de-passe</url_rewrite>
</meta>
<!--
<meta id='prices-drop' id_shop='1'>
<title>Promotions</title>
<description>Nos promotions</description>
<keywords/>
<url_rewrite>promotions</url_rewrite>
</meta>
-->
<!--
<meta id='sitemap' id_shop='1'>
<title>Plan du site</title>
<description>Vous êtes perdu ? Trouvez ce que vous cherchez</description>
<keywords/>
<url_rewrite>plan-site</url_rewrite>
</meta>
-->
<meta id='supplier' id_shop='1'>
<title>Fournisseurs</title>
<description>Liste des fournisseurs</description>
@@ -138,18 +142,22 @@
<keywords/>
<url_rewrite>commande</url_rewrite>
</meta>
<!--
<meta id='search' id_shop='1'>
<title>Recherche</title>
<description/>
<keywords/>
<url_rewrite>recherche</url_rewrite>
</meta>
-->
<!--
<meta id='stores' id_shop='1'>
<title>Magasins</title>
<description/>
<keywords/>
<url_rewrite>magasins</url_rewrite>
</meta>
-->
<meta id='order-opc' id_shop='1'>
<title>Commande</title>
<description/>
@@ -168,10 +176,12 @@
<keywords/>
<url_rewrite>confirmation-commande</url_rewrite>
</meta>
<!--
<meta id='products-comparison' id_shop='1'>
<title>Comparaison de produits</title>
<description/>
<keywords/>
<url_rewrite>comparaison-produits</url_rewrite>
</meta>
-->
</entity_meta>

View File

@@ -19,8 +19,8 @@
<url_rewrite>צור-קשר</url_rewrite>
</meta>
<meta id="index" id_shop="1">
<title>מלון פריים</title>
<description>מקום שבו נוחות ולוקסוס משתלבים עם הטבע!</description>
<title></title>
<description></description>
<keywords/>
<url_rewrite/>
</meta>
@@ -42,18 +42,22 @@
<keywords/>
<url_rewrite>שחזור-סיסמה</url_rewrite>
</meta>
<!--
<meta id="prices-drop" id_shop="1">
<title>ירידת מחירים</title>
<description>מוצרים מיוחדים</description>
<keywords/>
<url_rewrite>ירידת-מחירים</url_rewrite>
</meta>
-->
<!--
<meta id="sitemap" id_shop="1">
<title>מפת האתר</title>
<description>אבוד ? מצא כאן את יעדך באתר</description>
<keywords/>
<url_rewrite>מפת-האתר</url_rewrite>
</meta>
-->
<meta id="supplier" id_shop="1">
<title>ספקים</title>
<description>רשימת ספקים</description>
@@ -138,18 +142,22 @@
<keywords/>
<url_rewrite>הזמנה</url_rewrite>
</meta>
<!--
<meta id="search" id_shop="1">
<title>חפש</title>
<description/>
<keywords/>
<url_rewrite>חפש</url_rewrite>
</meta>
-->
<!--
<meta id="stores" id_shop="1">
<title>חנויות</title>
<description/>
<keywords/>
<url_rewrite>חנויות</url_rewrite>
</meta>
-->
<meta id="order-opc" id_shop="1">
<title>הזמנה</title>
<description/>
@@ -168,10 +176,12 @@
<keywords/>
<url_rewrite>אימות-הזמנה</url_rewrite>
</meta>
<!--
<meta id="products-comparison" id_shop="1">
<title>השוואת מוצרים</title>
<description/>
<keywords/>
<url_rewrite>השוואת-מוצרים</url_rewrite>
</meta>
-->
</entity_meta>

View File

@@ -19,8 +19,8 @@
<url_rewrite>contact-us</url_rewrite>
</meta>
<meta id="index" id_shop="1">
<title>Hotel Prime</title>
<description>A place where comfort and luxury are blended with nature!</description>
<title></title>
<description></description>
<keywords/>
<url_rewrite/>
</meta>
@@ -42,18 +42,22 @@
<keywords/>
<url_rewrite>password-recovery</url_rewrite>
</meta>
<!--
<meta id="prices-drop" id_shop="1">
<title>Prices drop</title>
<description>Our special products</description>
<keywords/>
<url_rewrite>prices-drop</url_rewrite>
</meta>
-->
<!--
<meta id="sitemap" id_shop="1">
<title>Sitemap</title>
<description>Lost ? Find what your are looking for</description>
<keywords/>
<url_rewrite>sitemap</url_rewrite>
</meta>
-->
<meta id="supplier" id_shop="1">
<title>Suppliers</title>
<description>Suppliers list</description>
@@ -138,18 +142,22 @@
<keywords/>
<url_rewrite>order</url_rewrite>
</meta>
<!--
<meta id="search" id_shop="1">
<title>Search</title>
<description/>
<keywords/>
<url_rewrite>search</url_rewrite>
</meta>
-->
<!--
<meta id="stores" id_shop="1">
<title>Stores</title>
<description/>
<keywords/>
<url_rewrite>stores</url_rewrite>
</meta>
-->
<meta id="order-opc" id_shop="1">
<title>Order</title>
<description/>
@@ -168,10 +176,12 @@
<keywords/>
<url_rewrite>order-confirmation</url_rewrite>
</meta>
<!--
<meta id="products-comparison" id_shop="1">
<title>Products Comparison</title>
<description/>
<keywords/>
<url_rewrite>products-comparison</url_rewrite>
</meta>
-->
</entity_meta>

View File

@@ -19,8 +19,8 @@
<url_rewrite>contact-us</url_rewrite>
</meta>
<meta id="index" id_shop="1">
<title>Hotel Prime</title>
<description>A place where comfort and luxury are blended with nature!</description>
<title></title>
<description></description>
<keywords/>
<url_rewrite/>
</meta>
@@ -42,18 +42,22 @@
<keywords/>
<url_rewrite>password-recovery</url_rewrite>
</meta>
<!--
<meta id="prices-drop" id_shop="1">
<title>Prices drop</title>
<description>Our special products</description>
<keywords/>
<url_rewrite>prices-drop</url_rewrite>
</meta>
-->
<!--
<meta id="sitemap" id_shop="1">
<title>Sitemap</title>
<description>Lost ? Find what your are looking for</description>
<keywords/>
<url_rewrite>sitemap</url_rewrite>
</meta>
-->
<meta id="supplier" id_shop="1">
<title>Suppliers</title>
<description>Suppliers list</description>
@@ -138,18 +142,22 @@
<keywords/>
<url_rewrite>order</url_rewrite>
</meta>
<!--
<meta id="search" id_shop="1">
<title>Search</title>
<description/>
<keywords/>
<url_rewrite>search</url_rewrite>
</meta>
-->
<!--
<meta id="stores" id_shop="1">
<title>Stores</title>
<description/>
<keywords/>
<url_rewrite>stores</url_rewrite>
</meta>
-->
<meta id="order-opc" id_shop="1">
<title>Order</title>
<description/>
@@ -168,10 +176,12 @@
<keywords/>
<url_rewrite>order-confirmation</url_rewrite>
</meta>
<!--
<meta id="products-comparison" id_shop="1">
<title>Products Comparison</title>
<description/>
<keywords/>
<url_rewrite>products-comparison</url_rewrite>
</meta>
-->
</entity_meta>

View File

@@ -19,8 +19,8 @@
<url_rewrite>hubungi-kami</url_rewrite>
</meta>
<meta id='index' id_shop='1'>
<title>Hotel Prime</title>
<description>Tempat di mana kenyamanan dan kemewahan berpadu dengan alam!</description>
<title></title>
<description></description>
<keywords/>
<url_rewrite/>
</meta>
@@ -42,18 +42,22 @@
<keywords>forgot, password, e-mail, new, reset</keywords>
<url_rewrite>lupa-password</url_rewrite>
</meta>
<!--
<meta id='prices-drop' id_shop='1'>
<title>Turun harga</title>
<description>Daftar produk diskon</description>
<keywords>special, prices drop</keywords>
<url_rewrite>turun-harga</url_rewrite>
</meta>
-->
<!--
<meta id='sitemap' id_shop='1'>
<title>Sitemap</title>
<description>Tersesat ? Temukan yang anda cari</description>
<keywords>sitemap</keywords>
<url_rewrite>sitemap</url_rewrite>
</meta>
-->
<meta id='supplier' id_shop='1'>
<title>Supplier</title>
<description>Daftar supplier</description>
@@ -138,18 +142,22 @@
<keywords/>
<url_rewrite>order</url_rewrite>
</meta>
<!--
<meta id='search' id_shop='1'>
<title>Cari</title>
<description/>
<keywords/>
<url_rewrite>cari</url_rewrite>
</meta>
-->
<!--
<meta id='stores' id_shop='1'>
<title>Toko</title>
<description/>
<keywords/>
<url_rewrite>toko</url_rewrite>
</meta>
-->
<meta id='order-opc' id_shop='1'>
<title>Order</title>
<description/>
@@ -168,10 +176,12 @@
<keywords/>
<url_rewrite>konfirmasi-pembelian</url_rewrite>
</meta>
<!--
<meta id="products-comparison" id_shop="1">
<title>Products Comparison</title>
<description/>
<keywords/>
<url_rewrite>products-comparison</url_rewrite>
</meta>
-->
</entity_meta>

View File

@@ -19,8 +19,8 @@
<url_rewrite>contattarci</url_rewrite>
</meta>
<meta id='index' id_shop='1'>
<title>Hotel Prime</title>
<description>Un luogo dove il comfort e il lusso si mescolano con la natura!</description>
<title></title>
<description></description>
<keywords/>
<url_rewrite/>
</meta>
@@ -42,18 +42,22 @@
<keywords>dimenticato, password, e-mail, nuovo, reset</keywords>
<url_rewrite>recupero-password</url_rewrite>
</meta>
<!--
<meta id='prices-drop' id_shop='1'>
<title>Calo dei prezzi</title>
<description>I nostri prodotti speciali</description>
<keywords>speciali, riduzione prezzi</keywords>
<url_rewrite>calo-prezzi</url_rewrite>
</meta>
-->
<!--
<meta id='sitemap' id_shop='1'>
<title>Mappa del sito</title>
<description>Vi siete persi? Trovate quello che state cercando</description>
<keywords>sitemap</keywords>
<url_rewrite>mappa del sito</url_rewrite>
</meta>
-->
<meta id='supplier' id_shop='1'>
<title>Fornitori</title>
<description>Elenco fornitori</description>
@@ -138,18 +142,22 @@
<keywords/>
<url_rewrite>ordine</url_rewrite>
</meta>
<!--
<meta id='search' id_shop='1'>
<title>Ricerca</title>
<description/>
<keywords/>
<url_rewrite>ricerca</url_rewrite>
</meta>
-->
<!--
<meta id='stores' id_shop='1'>
<title>Negozi</title>
<description/>
<keywords/>
<url_rewrite>negozi</url_rewrite>
</meta>
-->
<meta id='order-opc' id_shop='1'>
<title>Ordine</title>
<description/>
@@ -168,10 +176,12 @@
<keywords/>
<url_rewrite>conferma-ordine</url_rewrite>
</meta>
<!--
<meta id='products-comparison' id_shop='1'>
<title>Confronto prodotti</title>
<description/>
<keywords/>
<url_rewrite>confronto-prodotti</url_rewrite>
</meta>
-->
</entity_meta>

View File

@@ -19,8 +19,8 @@
<url_rewrite>contact-us</url_rewrite>
</meta>
<meta id="index" id_shop="1">
<title>Hotel Prime</title>
<description>Vieta, kur komfortas ir prabanga dera su gamta!</description>
<title></title>
<description></description>
<keywords/>
<url_rewrite/>
</meta>
@@ -42,18 +42,22 @@
<keywords/>
<url_rewrite>password-recovery</url_rewrite>
</meta>
<!--
<meta id="prices-drop" id_shop="1">
<title>Prices drop</title>
<description>Our special products</description>
<keywords/>
<url_rewrite>prices-drop</url_rewrite>
</meta>
-->
<!--
<meta id="sitemap" id_shop="1">
<title>Sitemap</title>
<description>Lost ? Find what your are looking for</description>
<keywords/>
<url_rewrite>sitemap</url_rewrite>
</meta>
-->
<meta id="supplier" id_shop="1">
<title>Suppliers</title>
<description>Suppliers list</description>
@@ -138,18 +142,22 @@
<keywords/>
<url_rewrite>order</url_rewrite>
</meta>
<!--
<meta id="search" id_shop="1">
<title>Search</title>
<description/>
<keywords/>
<url_rewrite>search</url_rewrite>
</meta>
-->
<!--
<meta id="stores" id_shop="1">
<title>Stores</title>
<description/>
<keywords/>
<url_rewrite>stores</url_rewrite>
</meta>
-->
<meta id="order-opc" id_shop="1">
<title>Order</title>
<description/>
@@ -168,10 +176,12 @@
<keywords/>
<url_rewrite>order-confirmation</url_rewrite>
</meta>
<!--
<meta id="products-comparison" id_shop="1">
<title>Products Comparison</title>
<description/>
<keywords/>
<url_rewrite>products-comparison</url_rewrite>
</meta>
-->
</entity_meta>

View File

@@ -19,8 +19,8 @@
<url_rewrite>contact-us</url_rewrite>
</meta>
<meta id="index" id_shop="1">
<title>Hotel Prime</title>
<description>A place where comfort and luxury are blended with nature!</description>
<title></title>
<description></description>
<keywords/>
<url_rewrite/>
</meta>
@@ -42,18 +42,22 @@
<keywords/>
<url_rewrite>password-recovery</url_rewrite>
</meta>
<!--
<meta id="prices-drop" id_shop="1">
<title>Prices drop</title>
<description>Our special products</description>
<keywords/>
<url_rewrite>prices-drop</url_rewrite>
</meta>
-->
<!--
<meta id="sitemap" id_shop="1">
<title>Sitemap</title>
<description>Lost ? Find what your are looking for</description>
<keywords/>
<url_rewrite>sitemap</url_rewrite>
</meta>
-->
<meta id="supplier" id_shop="1">
<title>Suppliers</title>
<description>Suppliers list</description>
@@ -138,18 +142,22 @@
<keywords/>
<url_rewrite>order</url_rewrite>
</meta>
<!--
<meta id="search" id_shop="1">
<title>Search</title>
<description/>
<keywords/>
<url_rewrite>search</url_rewrite>
</meta>
-->
<!--
<meta id="stores" id_shop="1">
<title>Stores</title>
<description/>
<keywords/>
<url_rewrite>stores</url_rewrite>
</meta>
-->
<meta id="order-opc" id_shop="1">
<title>Order</title>
<description/>
@@ -168,10 +176,12 @@
<keywords/>
<url_rewrite>order-confirmation</url_rewrite>
</meta>
<!--
<meta id="products-comparison" id_shop="1">
<title>Products Comparison</title>
<description/>
<keywords/>
<url_rewrite>products-comparison</url_rewrite>
</meta>
-->
</entity_meta>

View File

@@ -19,8 +19,8 @@
<url_rewrite>contact-met-ons-opnemen</url_rewrite>
</meta>
<meta id='index' id_shop='1'>
<title>Hotel Prime</title>
<description>Een plek waar comfort en luxe samengaan met de natuur!</description>
<title></title>
<description></description>
<keywords/>
<url_rewrite/>
</meta>
@@ -42,18 +42,22 @@
<keywords>forgot, password, e-mail, new, reset</keywords>
<url_rewrite>wachtwoord-opvragen</url_rewrite>
</meta>
<!--
<meta id='prices-drop' id_shop='1'>
<title>Prijsverlaging</title>
<description>Onze speciale producten</description>
<keywords>special, prices drop</keywords>
<url_rewrite>prijs-verlaging</url_rewrite>
</meta>
-->
<!--
<meta id='sitemap' id_shop='1'>
<title>Sitemap</title>
<description>De weg kwijt? Vinden wat u zoekt</description>
<keywords>sitemap</keywords>
<url_rewrite>sitemap</url_rewrite>
</meta>
-->
<meta id='supplier' id_shop='1'>
<title>Leveranciers</title>
<description>Lijst met leveranciers</description>
@@ -132,18 +136,22 @@
<keywords/>
<url_rewrite>bestelling</url_rewrite>
</meta>
<!--
<meta id='search' id_shop='1'>
<title>Zoeken</title>
<description/>
<keywords/>
<url_rewrite>zoeken</url_rewrite>
</meta>
-->
<!--
<meta id='stores' id_shop='1'>
<title>Winkels</title>
<description/>
<keywords/>
<url_rewrite>winkels</url_rewrite>
</meta>
-->
<meta id='order-opc' id_shop='1'>
<title>Bestelling</title>
<description/>
@@ -162,10 +170,12 @@
<keywords/>
<url_rewrite>order-bevestiging</url_rewrite>
</meta>
<!--
<meta id='products-comparison' id_shop='1'>
<title>Productvergelijking</title>
<description/>
<keywords/>
<url_rewrite>product-vergelijking</url_rewrite>
</meta>
-->
</entity_meta>

View File

@@ -19,8 +19,8 @@
<url_rewrite>contact-us</url_rewrite>
</meta>
<meta id="index" id_shop="1">
<title>Hotel Prime</title>
<description>A place where comfort and luxury are blended with nature!</description>
<title></title>
<description></description>
<keywords/>
<url_rewrite/>
</meta>
@@ -42,18 +42,22 @@
<keywords/>
<url_rewrite>password-recovery</url_rewrite>
</meta>
<!--
<meta id="prices-drop" id_shop="1">
<title>Prices drop</title>
<description>Our special products</description>
<keywords/>
<url_rewrite>prices-drop</url_rewrite>
</meta>
-->
<!--
<meta id="sitemap" id_shop="1">
<title>Sitemap</title>
<description>Lost ? Find what your are looking for</description>
<keywords/>
<url_rewrite>sitemap</url_rewrite>
</meta>
-->
<meta id="supplier" id_shop="1">
<title>Suppliers</title>
<description>Suppliers list</description>
@@ -138,18 +142,22 @@
<keywords/>
<url_rewrite>order</url_rewrite>
</meta>
<!--
<meta id="search" id_shop="1">
<title>Search</title>
<description/>
<keywords/>
<url_rewrite>search</url_rewrite>
</meta>
-->
<!--
<meta id="stores" id_shop="1">
<title>Stores</title>
<description/>
<keywords/>
<url_rewrite>stores</url_rewrite>
</meta>
-->
<meta id="order-opc" id_shop="1">
<title>Order</title>
<description/>
@@ -168,10 +176,12 @@
<keywords/>
<url_rewrite>order-confirmation</url_rewrite>
</meta>
<!--
<meta id="products-comparison" id_shop="1">
<title>Products Comparison</title>
<description/>
<keywords/>
<url_rewrite>products-comparison</url_rewrite>
</meta>
-->
</entity_meta>

View File

@@ -19,8 +19,8 @@
<url_rewrite>kontakt</url_rewrite>
</meta>
<meta id="index" id_shop="1">
<title>Hotel Prime</title>
<description>Miejsce, gdzie komfort i luksus łączą się z naturą!</description>
<title></title>
<description></description>
<keywords/>
<url_rewrite/>
</meta>
@@ -42,18 +42,22 @@
<keywords>przypomnienie, hasło, e-mail, nowy</keywords>
<url_rewrite>odzyskiwanie-hasla</url_rewrite>
</meta>
<!--
<meta id="prices-drop" id_shop="1">
<title>Promocje</title>
<description>Produkty w promocji</description>
<keywords>promocje, specjalne, spadek ceny</keywords>
<url_rewrite>promocje</url_rewrite>
</meta>
-->
<!--
<meta id="sitemap" id_shop="1">
<title>Mapa strony</title>
<description>Zagubiłeś się? Znajdź to, czego szukasz!</description>
<keywords>mapa strony</keywords>
<url_rewrite>mapa-strony</url_rewrite>
</meta>
-->
<meta id="supplier" id_shop="1">
<title>Dostawcy</title>
<description>Lista dostawców</description>
@@ -138,18 +142,22 @@
<keywords/>
<url_rewrite>zamowienie</url_rewrite>
</meta>
<!--
<meta id="search" id_shop="1">
<title>Szukaj</title>
<description/>
<keywords/>
<url_rewrite>szukaj</url_rewrite>
</meta>
-->
<!--
<meta id="stores" id_shop="1">
<title>sklepy</title>
<description/>
<keywords/>
<url_rewrite>sklepy</url_rewrite>
</meta>
-->
<meta id="order-opc" id_shop="1">
<title>Zamówienie</title>
<description/>
@@ -168,10 +176,12 @@
<keywords/>
<url_rewrite>potwierdzenie-zamowienia</url_rewrite>
</meta>
<!--
<meta id="products-comparison" id_shop="1">
<title>Products Comparison</title>
<description/>
<keywords/>
<url_rewrite>products-comparison</url_rewrite>
</meta>
-->
</entity_meta>

View File

@@ -19,8 +19,8 @@
<url_rewrite>contacte-nos</url_rewrite>
</meta>
<meta id="index" id_shop="1">
<title>Hotel Prime</title>
<description>Um lugar onde o conforto e o luxo se misturam com a natureza!</description>
<title></title>
<description></description>
<keywords/>
<url_rewrite/>
</meta>
@@ -42,18 +42,22 @@
<keywords>esqueci-me, recuperar, palavra-passe, e-mail, nova, reset</keywords>
<url_rewrite>recuperar-palavra-passe</url_rewrite>
</meta>
<!--
<meta id="prices-drop" id_shop="1">
<title>Promo&#xE7;&#xE3;o</title>
<description>Os nossos produtos com descontos</description>
<keywords>promo&#231;&#245;es, promo&#231;&#227;o, desconto, descontos</keywords>
<url_rewrite>promocoes</url_rewrite>
</meta>
-->
<!--
<meta id="sitemap" id_shop="1">
<title>Mapa do site</title>
<description>Lost ? Find what your are looking for</description>
<keywords>mapa do site</keywords>
<url_rewrite>mapa-do-site</url_rewrite>
</meta>
-->
<meta id="supplier" id_shop="1">
<title>Fornecedores</title>
<description>Lista de Fornecedores</description>
@@ -138,18 +142,22 @@
<keywords/>
<url_rewrite>encomenda</url_rewrite>
</meta>
<!--
<meta id="search" id_shop="1">
<title>Pesquisa</title>
<description/>
<keywords/>
<url_rewrite>pesquisa</url_rewrite>
</meta>
-->
<!--
<meta id="stores" id_shop="1">
<title>Lojas</title>
<description/>
<keywords/>
<url_rewrite>lojas</url_rewrite>
</meta>
-->
<meta id="order-opc" id_shop="1">
<title>Encomenda R&#225;pida</title>
<description/>
@@ -168,10 +176,12 @@
<keywords/>
<url_rewrite>confirmacao-encomenda</url_rewrite>
</meta>
<!--
<meta id="products-comparison" id_shop="1">
<title>Compara&#231;&#227;o de Produtos</title>
<description/>
<keywords/>
<url_rewrite>comparacao-de-produtos</url_rewrite>
</meta>
-->
</entity_meta>

View File

@@ -19,8 +19,8 @@
<url_rewrite>nous-contacter</url_rewrite>
</meta>
<meta id='index' id_shop='1'>
<title>Hôtel Prime</title>
<description>Un endroit où le confort et le luxe se mêlent à la nature !</description>
<title></title>
<description></description>
<keywords/>
<url_rewrite/>
</meta>
@@ -42,18 +42,22 @@
<keywords/>
<url_rewrite>recuperation-mot-de-passe</url_rewrite>
</meta>
<!--
<meta id='prices-drop' id_shop='1'>
<title>Promotions</title>
<description>Nos promotions</description>
<keywords/>
<url_rewrite>promotions</url_rewrite>
</meta>
-->
<!--
<meta id='sitemap' id_shop='1'>
<title>Plan du site</title>
<description>Vous êtes perdu ? Trouvez ce que vous cherchez</description>
<keywords/>
<url_rewrite>plan-site</url_rewrite>
</meta>
-->
<meta id='supplier' id_shop='1'>
<title>Fournisseurs</title>
<description>Liste des fournisseurs</description>
@@ -132,18 +136,22 @@
<keywords/>
<url_rewrite>commande</url_rewrite>
</meta>
<!--
<meta id='search' id_shop='1'>
<title>Recherche</title>
<description/>
<keywords/>
<url_rewrite>recherche</url_rewrite>
</meta>
-->
<!--
<meta id='stores' id_shop='1'>
<title>Magasins</title>
<description/>
<keywords/>
<url_rewrite>magasins</url_rewrite>
</meta>
-->
<meta id='order-opc' id_shop='1'>
<title>Commande</title>
<description/>
@@ -162,10 +170,12 @@
<keywords/>
<url_rewrite>confirmation-commande</url_rewrite>
</meta>
<!--
<meta id='products-comparison' id_shop='1'>
<title>Comparaison de produits</title>
<description/>
<keywords/>
<url_rewrite>comparaison-produits</url_rewrite>
</meta>
-->
</entity_meta>

View File

@@ -19,8 +19,8 @@
<url_rewrite>contact</url_rewrite>
</meta>
<meta id="index" id_shop="1">
<title>Hotel Prime</title>
<description>Un loc unde confortul și luxul se îmbină cu natura!</description>
<title></title>
<description></description>
<keywords/>
<url_rewrite/>
</meta>
@@ -42,18 +42,22 @@
<keywords/>
<url_rewrite>recuperare-parola</url_rewrite>
</meta>
<!--
<meta id="prices-drop" id_shop="1">
<title>Reduceri de preț</title>
<description>Ofertele nostre speciale</description>
<keywords/>
<url_rewrite>reduceri-de-pret</url_rewrite>
</meta>
-->
<!--
<meta id="sitemap" id_shop="1">
<title>Sitemap</title>
<description>V-ați rătăcit? Găsiți ceea ce căutați</description>
<keywords/>
<url_rewrite>sitemap</url_rewrite>
</meta>
-->
<meta id="supplier" id_shop="1">
<title>Furnizori</title>
<description>Lista furnizorilor</description>
@@ -138,18 +142,22 @@
<keywords/>
<url_rewrite>comanda</url_rewrite>
</meta>
<!--
<meta id="search" id_shop="1">
<title>Căutare</title>
<description/>
<keywords/>
<url_rewrite>cautare</url_rewrite>
</meta>
-->
<!--
<meta id="stores" id_shop="1">
<title>Magazine</title>
<description/>
<keywords/>
<url_rewrite>magazine</url_rewrite>
</meta>
-->
<meta id="order-opc" id_shop="1">
<title>Comandă</title>
<description/>
@@ -168,10 +176,12 @@
<keywords/>
<url_rewrite>confirmare-comanda</url_rewrite>
</meta>
<!--
<meta id="products-comparison" id_shop="1">
<title>Comparație între produse</title>
<description/>
<keywords/>
<url_rewrite>comparare-produse</url_rewrite>
</meta>
-->
</entity_meta>

View File

@@ -19,8 +19,8 @@
<url_rewrite>contact-us</url_rewrite>
</meta>
<meta id="index" id_shop="1">
<title>Отель Прайм</title>
<description>Место, где комфорт и роскошь сочетаются с природой!</description>
<title></title>
<description></description>
<keywords/>
<url_rewrite/>
</meta>
@@ -42,18 +42,22 @@
<keywords>забыли пароль, e-mail, новый пароль,восстановить пароль</keywords>
<url_rewrite>password-recovery</url_rewrite>
</meta>
<!--
<meta id="prices-drop" id_shop="1">
<title>Снижение цен</title>
<description>Наши скидки</description>
<keywords>снижение цен, распродажи</keywords>
<url_rewrite>prices-drop</url_rewrite>
</meta>
-->
<!--
<meta id="sitemap" id_shop="1">
<title>Карта сайта</title>
<description>Потерялись? Найдите то, что ищете</description>
<keywords>карта сайта</keywords>
<url_rewrite>sitemap</url_rewrite>
</meta>
-->
<meta id="supplier" id_shop="1">
<title>Поставщики</title>
<description>Список поставщиков</description>
@@ -138,18 +142,22 @@
<keywords/>
<url_rewrite>order</url_rewrite>
</meta>
<!--
<meta id="search" id_shop="1">
<title>Поиск</title>
<description/>
<keywords/>
<url_rewrite>search</url_rewrite>
</meta>
-->
<!--
<meta id="stores" id_shop="1">
<title>Магазины</title>
<description/>
<keywords/>
<url_rewrite>stores</url_rewrite>
</meta>
-->
<meta id="order-opc" id_shop="1">
<title>Быстрый заказ</title>
<description/>
@@ -162,10 +170,12 @@
<keywords/>
<url_rewrite>guest-tracking</url_rewrite>
</meta>
<!--
<meta id="products-comparison" id_shop="1">
<title>Products Comparison</title>
<description/>
<keywords/>
<url_rewrite>products-comparison</url_rewrite>
</meta>
-->
</entity_meta>

View File

@@ -19,8 +19,8 @@
<url_rewrite>contact-us</url_rewrite>
</meta>
<meta id="index" id_shop="1">
<title>Hotel Prime</title>
<description>A place where comfort and luxury are blended with nature!</description>
<title></title>
<description></description>
<keywords/>
<url_rewrite/>
</meta>
@@ -42,18 +42,22 @@
<keywords/>
<url_rewrite>password-recovery</url_rewrite>
</meta>
<!--
<meta id="prices-drop" id_shop="1">
<title>Prices drop</title>
<description>Our special products</description>
<keywords/>
<url_rewrite>prices-drop</url_rewrite>
</meta>
-->
<!--
<meta id="sitemap" id_shop="1">
<title>Sitemap</title>
<description>Lost ? Find what your are looking for</description>
<keywords/>
<url_rewrite>sitemap</url_rewrite>
</meta>
-->
<meta id="supplier" id_shop="1">
<title>Suppliers</title>
<description>Suppliers list</description>
@@ -138,18 +142,22 @@
<keywords/>
<url_rewrite>order</url_rewrite>
</meta>
<!--
<meta id="search" id_shop="1">
<title>Search</title>
<description/>
<keywords/>
<url_rewrite>search</url_rewrite>
</meta>
-->
<!--
<meta id="stores" id_shop="1">
<title>Stores</title>
<description/>
<keywords/>
<url_rewrite>stores</url_rewrite>
</meta>
-->
<meta id="order-opc" id_shop="1">
<title>Order</title>
<description/>
@@ -168,10 +176,12 @@
<keywords/>
<url_rewrite>order-confirmation</url_rewrite>
</meta>
<!--
<meta id="products-comparison" id_shop="1">
<title>Products Comparison</title>
<description/>
<keywords/>
<url_rewrite>products-comparison</url_rewrite>
</meta>
-->
</entity_meta>

View File

@@ -19,8 +19,8 @@
<url_rewrite>contact-us</url_rewrite>
</meta>
<meta id="index" id_shop="1">
<title>Hotel Prime</title>
<description>A place where comfort and luxury are blended with nature!</description>
<title></title>
<description></description>
<keywords/>
<url_rewrite/>
</meta>
@@ -42,18 +42,22 @@
<keywords/>
<url_rewrite>password-recovery</url_rewrite>
</meta>
<!--
<meta id="prices-drop" id_shop="1">
<title>Prices drop</title>
<description>Our special products</description>
<keywords/>
<url_rewrite>prices-drop</url_rewrite>
</meta>
-->
<!--
<meta id="sitemap" id_shop="1">
<title>Sitemap</title>
<description>Lost ? Find what your are looking for</description>
<keywords/>
<url_rewrite>sitemap</url_rewrite>
</meta>
-->
<meta id="supplier" id_shop="1">
<title>Suppliers</title>
<description>Suppliers list</description>
@@ -138,18 +142,22 @@
<keywords/>
<url_rewrite>order</url_rewrite>
</meta>
<!--
<meta id="search" id_shop="1">
<title>Search</title>
<description/>
<keywords/>
<url_rewrite>search</url_rewrite>
</meta>
-->
<!--
<meta id="stores" id_shop="1">
<title>Stores</title>
<description/>
<keywords/>
<url_rewrite>stores</url_rewrite>
</meta>
-->
<meta id="order-opc" id_shop="1">
<title>Order</title>
<description/>
@@ -168,10 +176,12 @@
<keywords/>
<url_rewrite>order-confirmation</url_rewrite>
</meta>
<!--
<meta id="products-comparison" id_shop="1">
<title>Products Comparison</title>
<description/>
<keywords/>
<url_rewrite>products-comparison</url_rewrite>
</meta>
-->
</entity_meta>

View File

@@ -19,8 +19,8 @@
<url_rewrite>contact-us</url_rewrite>
</meta>
<meta id="index" id_shop="1">
<title>Hotel Prime</title>
<description>A place where comfort and luxury are blended with nature!</description>
<title></title>
<description></description>
<keywords/>
<url_rewrite/>
</meta>
@@ -42,18 +42,22 @@
<keywords/>
<url_rewrite>password-recovery</url_rewrite>
</meta>
<!--
<meta id="prices-drop" id_shop="1">
<title>Prices drop</title>
<description>Our special products</description>
<keywords/>
<url_rewrite>prices-drop</url_rewrite>
</meta>
-->
<!--
<meta id="sitemap" id_shop="1">
<title>Sitemap</title>
<description>Lost ? Find what your are looking for</description>
<keywords/>
<url_rewrite>sitemap</url_rewrite>
</meta>
-->
<meta id="supplier" id_shop="1">
<title>Suppliers</title>
<description>Suppliers list</description>
@@ -138,18 +142,22 @@
<keywords/>
<url_rewrite>order</url_rewrite>
</meta>
<!--
<meta id="search" id_shop="1">
<title>Search</title>
<description/>
<keywords/>
<url_rewrite>search</url_rewrite>
</meta>
-->
<!--
<meta id="stores" id_shop="1">
<title>Stores</title>
<description/>
<keywords/>
<url_rewrite>stores</url_rewrite>
</meta>
-->
<meta id="order-opc" id_shop="1">
<title>Order</title>
<description/>
@@ -168,10 +176,12 @@
<keywords/>
<url_rewrite>order-confirmation</url_rewrite>
</meta>
<!--
<meta id="products-comparison" id_shop="1">
<title>Products Comparison</title>
<description/>
<keywords/>
<url_rewrite>products-comparison</url_rewrite>
</meta>
-->
</entity_meta>

View File

@@ -19,8 +19,8 @@
<url_rewrite>contact-us</url_rewrite>
</meta>
<meta id="index" id_shop="1">
<title>Prime 酒店</title>
<description>一個舒適與奢華與自然融合的地方!</description>
<title></title>
<description></description>
<keywords/>
<url_rewrite/>
</meta>
@@ -42,18 +42,22 @@
<keywords>forgot, password, e-mail, new, reset</keywords>
<url_rewrite>password-recovery</url_rewrite>
</meta>
<!--
<meta id="prices-drop" id_shop="1">
<title>降價</title>
<description>我們的特價產品</description>
<keywords>special, prices drop</keywords>
<url_rewrite>prices-drop</url_rewrite>
</meta>
-->
<!--
<meta id="sitemap" id_shop="1">
<title>網站地圖</title>
<description>找不到網頁?可以參考這兒</description>
<keywords>sitemap</keywords>
<url_rewrite>sitemap</url_rewrite>
</meta>
-->
<meta id="supplier" id_shop="1">
<title>供應商</title>
<description>供應商列表</description>
@@ -138,18 +142,22 @@
<keywords/>
<url_rewrite>order</url_rewrite>
</meta>
<!--
<meta id="search" id_shop="1">
<title>搜尋</title>
<description/>
<keywords/>
<url_rewrite>search</url_rewrite>
</meta>
-->
<!--
<meta id="stores" id_shop="1">
<title>商店</title>
<description/>
<keywords/>
<url_rewrite>stores</url_rewrite>
</meta>
-->
<meta id="order-opc" id_shop="1">
<title>訂單</title>
<description/>
@@ -168,10 +176,12 @@
<keywords/>
<url_rewrite>order-confirmation</url_rewrite>
</meta>
<!--
<meta id="products-comparison" id_shop="1">
<title>Products Comparison</title>
<description/>
<keywords/>
<url_rewrite>products-comparison</url_rewrite>
</meta>
-->
</entity_meta>

View File

@@ -19,8 +19,8 @@
<url_rewrite>contact-us</url_rewrite>
</meta>
<meta id="index" id_shop="1">
<title>Khách sạn Prime</title>
<description>Nơi mà sự thoải mái và sang trọng hòa quyện với thiên nhiên!</description>
<title></title>
<description></description>
<keywords/>
<url_rewrite/>
</meta>
@@ -42,18 +42,22 @@
<keywords/>
<url_rewrite>password-recovery</url_rewrite>
</meta>
<!--
<meta id="prices-drop" id_shop="1">
<title>Giảm giá</title>
<description>Our special products</description>
<keywords/>
<url_rewrite>prices-drop</url_rewrite>
</meta>
-->
<!--
<meta id="sitemap" id_shop="1">
<title>Sơ đồ web</title>
<description>Lost ? Find what your are looking for</description>
<keywords/>
<url_rewrite>sitemap</url_rewrite>
</meta>
-->
<meta id="supplier" id_shop="1">
<title>Nhà cung cấp</title>
<description>Suppliers list</description>
@@ -138,18 +142,22 @@
<keywords/>
<url_rewrite>order</url_rewrite>
</meta>
<!--
<meta id="search" id_shop="1">
<title>Search</title>
<description/>
<keywords/>
<url_rewrite>search</url_rewrite>
</meta>
-->
<!--
<meta id="stores" id_shop="1">
<title>Stores</title>
<description/>
<keywords/>
<url_rewrite>stores</url_rewrite>
</meta>
-->
<meta id="order-opc" id_shop="1">
<title>Đơn hàng</title>
<description/>
@@ -168,10 +176,12 @@
<keywords/>
<url_rewrite>order-confirmation</url_rewrite>
</meta>
<!--
<meta id="products-comparison" id_shop="1">
<title>Products Comparison</title>
<description/>
<keywords/>
<url_rewrite>products-comparison</url_rewrite>
</meta>
-->
</entity_meta>

View File

@@ -19,8 +19,8 @@
<url_rewrite>contact-us</url_rewrite>
</meta>
<meta id="index" id_shop="1">
<title>Hotel Prime</title>
<description>A place where comfort and luxury are blended with nature!</description>
<title></title>
<description></description>
<keywords/>
<url_rewrite/>
</meta>
@@ -42,18 +42,22 @@
<keywords/>
<url_rewrite>password-recovery</url_rewrite>
</meta>
<!--
<meta id="prices-drop" id_shop="1">
<title>Prices drop</title>
<description>Our special products</description>
<keywords/>
<url_rewrite>prices-drop</url_rewrite>
</meta>
-->
<!--
<meta id="sitemap" id_shop="1">
<title>Sitemap</title>
<description>Lost ? Find what your are looking for</description>
<keywords/>
<url_rewrite>sitemap</url_rewrite>
</meta>
-->
<meta id="supplier" id_shop="1">
<title>Suppliers</title>
<description>Suppliers list</description>
@@ -138,18 +142,22 @@
<keywords/>
<url_rewrite>order</url_rewrite>
</meta>
<!--
<meta id="search" id_shop="1">
<title>Search</title>
<description/>
<keywords/>
<url_rewrite>search</url_rewrite>
</meta>
-->
<!--
<meta id="stores" id_shop="1">
<title>Stores</title>
<description/>
<keywords/>
<url_rewrite>stores</url_rewrite>
</meta>
-->
<meta id="order-opc" id_shop="1">
<title>Order</title>
<description/>
@@ -168,10 +176,12 @@
<keywords/>
<url_rewrite>order-confirmation</url_rewrite>
</meta>
<!--
<meta id="products-comparison" id_shop="1">
<title>Products Comparison</title>
<description/>
<keywords/>
<url_rewrite>products-comparison</url_rewrite>
</meta>
-->
</entity_meta>

View File

@@ -1,7 +1,7 @@
<?xml version="1.0"?>
<localizationPack name="United Arab Emirates">
<currencies>
<currency name="United Arab Emirates dirham" iso_code="AED" iso_code_num="784" sign="AED" blank="1" conversion_rate="1.000000" format="1" decimals="0"/>
<currency name="United Arab Emirates dirham" iso_code="AED" iso_code_num="784" sign="AED" blank="1" format="1" decimals="0"/>
</currencies>
<languages>
<language iso_code="en"/>

View File

@@ -1,24 +1,60 @@
<?xml version="1.0" encoding="UTF-8" ?>
<localizationPack name="Argentina" version="1.0">
<currencies>
<currency name="Peso Argentino" iso_code="ARS" iso_code_num="032" sign="ARS" blank="1" conversion_rate="5.39" format="2" decimals="1" />
<currency name="Peso Argentino" iso_code="ARS" iso_code_num="032" sign="ARS" blank="1" format="2" decimals="1" />
</currencies>
<languages>
<language iso_code="ag" />
<language iso_code="es" />
</languages>
<taxes>
<tax id="1" name="IVA AR 21%" rate="21" />
<tax id="2" name="IVA AR 10.5%" rate="10.5" />
<taxRulesGroup name="AR Standard rate (21%)">
<taxRule iso_code_country="ar" id_tax="1" />
</taxRulesGroup>
<taxRulesGroup name="AR Reduced rate (10.5%)">
<taxRule iso_code_country="ar" id_tax="2" />
</taxRulesGroup>
<tax id="1" name="IVA AR 21%" rate="21"/>
<tax id="2" name="IVA AR 10.5%" rate="10.5"/>
<tax id="3" name="IVA AR 2.5%" rate="2.5"/>
<tax id="4" name="IVA AR 0%" rate="0"/>
<taxRulesGroup name="AR Standard rate (21%)">
<taxRule iso_code_country="ar" id_tax="1"/>
</taxRulesGroup>
<taxRulesGroup name="AR Reduced rate (10.5%)">
<taxRule iso_code_country="ar" id_tax="2"/>
</taxRulesGroup>
<taxRulesGroup name="AR Reduced rate (2.5%)">
<taxRule iso_code_country="ar" id_tax="3"/>
</taxRulesGroup>
<taxRulesGroup name="AR Zero rate (0%)">
<taxRule iso_code_country="ar" id_tax="4"/>
</taxRulesGroup>
</taxes>
<states>
<state name="Buenos Aires" iso_code="B" country="AR" zone="South America" />
<state name="Catamarca" iso_code="K" country="AR" zone="South America" />
<state name="Chaco" iso_code="H" country="AR" zone="South America" />
<state name="Chubut" iso_code="U" country="AR" zone="South America" />
<state name="Ciudad de Buenos Aires" iso_code="C" country="AR" zone="South America" />
<state name="Córdoba" iso_code="X" country="AR" zone="South America" />
<state name="Corrientes" iso_code="W" country="AR" zone="South America" />
<state name="Entre Ríos" iso_code="E" country="AR" zone="South America" />
<state name="Formosa" iso_code="P" country="AR" zone="South America" />
<state name="Jujuy" iso_code="Y" country="AR" zone="South America" />
<state name="La Pampa" iso_code="L" country="AR" zone="South America" />
<state name="La Rioja" iso_code="F" country="AR" zone="South America" />
<state name="Mendoza" iso_code="M" country="AR" zone="South America" />
<state name="Misiones" iso_code="N" country="AR" zone="South America" />
<state name="Neuquén" iso_code="Q" country="AR" zone="South America" />
<state name="Río Negro" iso_code="R" country="AR" zone="South America" />
<state name="Salta" iso_code="A" country="AR" zone="South America" />
<state name="San Juan" iso_code="J" country="AR" zone="South America" />
<state name="San Luis" iso_code="D" country="AR" zone="South America" />
<state name="Santa Cruz" iso_code="Z" country="AR" zone="South America" />
<state name="Santa Fe" iso_code="S" country="AR" zone="South America" />
<state name="Santiago del Estero" iso_code="G" country="AR" zone="South America" />
<state name="Tierra del Fuego" iso_code="V" country="AR" zone="South America" />
<state name="Tucumán" iso_code="T" country="AR" zone="South America" />
</states>
<units>
<unit type="weight" value="kg" />
<unit type="volume" value="L" />

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<localizationPack name="Austria" version="1.0">
<currencies>
<currency name="Euro" iso_code="EUR" iso_code_num="978" sign="€" blank="1" conversion_rate="1.00" format="2" decimals="1"/>
<currency name="Euro" iso_code="EUR" iso_code_num="978" sign="€" blank="1" format="2" decimals="1"/>
</currencies>
<languages>
<language iso_code="de"/>
@@ -9,33 +9,36 @@
<taxes>
<tax id="1" name="USt. AT 20%" rate="20" eu-tax-group="virtual"/>
<tax id="2" name="USt. AT 10%" rate="10"/>
<tax id="3" name="TVA BE 21%" rate="21" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="4" name="ДДС BG 20%" rate="20" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="5" name="ΦΠΑ CY 19%" rate="19" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="6" name="DPH CZ 21%" rate="21" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="7" name="MwSt. DE 19%" rate="19" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="8" name="moms DK 25%" rate="25" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="9" name="km EE 20%" rate="20" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="10" name="IVA ES 21%" rate="21" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="11" name="ALV FI 24%" rate="24" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="12" name="TVA FR 20%" rate="20" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="13" name="VAT UK 20%" rate="20.0" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="14" name="ΦΠΑ GR 23%" rate="23" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="15" name="Croatia PDV 25%" rate="25.000" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="16" name="ÁFA HU 27%" rate="27" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="17" name="VAT IE 23%" rate="23" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="18" name="IVA IT 22%" rate="22" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="19" name="PVM LT 21%" rate="21" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="20" name="TVA LU 17%" rate="17" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="21" name="PVN LV 21%" rate="21" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="22" name="VAT MT 18%" rate="18" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="23" name="BTW NL 21%" rate="21" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="24" name="PTU PL 23%" rate="23" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="25" name="IVA PT 23%" rate="23" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="26" name="TVA RO 24%" rate="24" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="27" name="Moms SE 25%" rate="25" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="28" name="DDV SI 22%" rate="22" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="29" name="DPH SK 20%" rate="20" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="3" name="USt. AT 13%" rate="13"/>
<tax id="4" name="USt. AT 0%" rate="0"/>
<tax id="5" name="TVA BE 21%" rate="21" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="6" name="ДДС BG 20%" rate="20" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="7" name="ΦΠΑ CY 19%" rate="19" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="8" name="DPH CZ 21%" rate="21" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="9" name="MwSt. DE 19%" rate="19" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="10" name="moms DK 25%" rate="25" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="11" name="km EE 24%" rate="24" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="12" name="IVA ES 21%" rate="21" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="13" name="ALV FI 25.5%" rate="25.5" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="14" name="TVA FR 20%" rate="20" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="15" name="VAT UK 20%" rate="20.0" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="16" name="ΦΠΑ GR 24%" rate="24" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="17" name="Croatia PDV 25%" rate="25.000" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="18" name="ÁFA HU 27%" rate="27" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="19" name="VAT IE 23%" rate="23" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="20" name="IVA IT 22%" rate="22" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="21" name="PVM LT 21%" rate="21" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="22" name="TVA LU 17%" rate="17" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="23" name="PVN LV 21%" rate="21" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="24" name="TVA MC 20%" rate="20" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="25" name="VAT MT 18%" rate="18" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="26" name="BTW NL 21%" rate="21" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="27" name="PTU PL 23%" rate="23" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="28" name="IVA PT 23%" rate="23" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="29" name="TVA RO 21%" rate="21" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="30" name="Moms SE 25%" rate="25" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="31" name="DDV SI 22%" rate="22" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="32" name="DPH SK 23%" rate="23" auto-generated="1" from-eu-tax-group="virtual"/>
<taxRulesGroup name="AT Standard rate (20%)">
<taxRule iso_code_country="be" id_tax="1"/>
<taxRule iso_code_country="bg" id_tax="1"/>
@@ -44,8 +47,10 @@
<taxRule iso_code_country="de" id_tax="1"/>
<taxRule iso_code_country="ee" id_tax="1"/>
<taxRule iso_code_country="gr" id_tax="1"/>
<taxRule iso_code_country="hr" id_tax="1"/>
<taxRule iso_code_country="es" id_tax="1"/>
<taxRule iso_code_country="fr" id_tax="1"/>
<taxRule iso_code_country="mc" id_tax="1"/>
<taxRule iso_code_country="ie" id_tax="1"/>
<taxRule iso_code_country="it" id_tax="1"/>
<taxRule iso_code_country="cy" id_tax="1"/>
@@ -64,7 +69,37 @@
<taxRule iso_code_country="fi" id_tax="1"/>
<taxRule iso_code_country="se" id_tax="1"/>
<taxRule iso_code_country="gb" id_tax="1"/>
<taxRule iso_code_country="hr" id_tax="1"/>
</taxRulesGroup>
<taxRulesGroup name="AT Reduced Rate (13%)">
<taxRule iso_code_country="be" id_tax="3"/>
<taxRule iso_code_country="bg" id_tax="3"/>
<taxRule iso_code_country="cz" id_tax="3"/>
<taxRule iso_code_country="dk" id_tax="3"/>
<taxRule iso_code_country="de" id_tax="3"/>
<taxRule iso_code_country="ee" id_tax="3"/>
<taxRule iso_code_country="gr" id_tax="3"/>
<taxRule iso_code_country="hr" id_tax="3"/>
<taxRule iso_code_country="es" id_tax="3"/>
<taxRule iso_code_country="fr" id_tax="3"/>
<taxRule iso_code_country="mc" id_tax="3"/>
<taxRule iso_code_country="ie" id_tax="3"/>
<taxRule iso_code_country="it" id_tax="3"/>
<taxRule iso_code_country="cy" id_tax="3"/>
<taxRule iso_code_country="lv" id_tax="3"/>
<taxRule iso_code_country="lt" id_tax="3"/>
<taxRule iso_code_country="lu" id_tax="3"/>
<taxRule iso_code_country="hu" id_tax="3"/>
<taxRule iso_code_country="mt" id_tax="3"/>
<taxRule iso_code_country="nl" id_tax="3"/>
<taxRule iso_code_country="at" id_tax="3"/>
<taxRule iso_code_country="pl" id_tax="3"/>
<taxRule iso_code_country="pt" id_tax="3"/>
<taxRule iso_code_country="ro" id_tax="3"/>
<taxRule iso_code_country="si" id_tax="3"/>
<taxRule iso_code_country="sk" id_tax="3"/>
<taxRule iso_code_country="fi" id_tax="3"/>
<taxRule iso_code_country="se" id_tax="3"/>
<taxRule iso_code_country="gb" id_tax="3"/>
</taxRulesGroup>
<taxRulesGroup name="AT Reduced Rate (10%)">
<taxRule iso_code_country="be" id_tax="2"/>
@@ -74,8 +109,10 @@
<taxRule iso_code_country="de" id_tax="2"/>
<taxRule iso_code_country="ee" id_tax="2"/>
<taxRule iso_code_country="gr" id_tax="2"/>
<taxRule iso_code_country="hr" id_tax="2"/>
<taxRule iso_code_country="es" id_tax="2"/>
<taxRule iso_code_country="fr" id_tax="2"/>
<taxRule iso_code_country="mc" id_tax="2"/>
<taxRule iso_code_country="ie" id_tax="2"/>
<taxRule iso_code_country="it" id_tax="2"/>
<taxRule iso_code_country="cy" id_tax="2"/>
@@ -94,7 +131,6 @@
<taxRule iso_code_country="fi" id_tax="2"/>
<taxRule iso_code_country="se" id_tax="2"/>
<taxRule iso_code_country="gb" id_tax="2"/>
<taxRule iso_code_country="hr" id_tax="2"/>
</taxRulesGroup>
<taxRulesGroup name="AT Foodstuff Rate (10%)">
<taxRule iso_code_country="be" id_tax="2"/>
@@ -104,8 +140,10 @@
<taxRule iso_code_country="de" id_tax="2"/>
<taxRule iso_code_country="ee" id_tax="2"/>
<taxRule iso_code_country="gr" id_tax="2"/>
<taxRule iso_code_country="hr" id_tax="2"/>
<taxRule iso_code_country="es" id_tax="2"/>
<taxRule iso_code_country="fr" id_tax="2"/>
<taxRule iso_code_country="mc" id_tax="2"/>
<taxRule iso_code_country="ie" id_tax="2"/>
<taxRule iso_code_country="it" id_tax="2"/>
<taxRule iso_code_country="cy" id_tax="2"/>
@@ -124,39 +162,81 @@
<taxRule iso_code_country="fi" id_tax="2"/>
<taxRule iso_code_country="se" id_tax="2"/>
<taxRule iso_code_country="gb" id_tax="2"/>
<taxRule iso_code_country="hr" id_tax="2"/>
</taxRulesGroup>
<taxRulesGroup name="AT Zero Rate (0%)">
<taxRule iso_code_country="be" id_tax="4"/>
<taxRule iso_code_country="bg" id_tax="4"/>
<taxRule iso_code_country="cz" id_tax="4"/>
<taxRule iso_code_country="dk" id_tax="4"/>
<taxRule iso_code_country="de" id_tax="4"/>
<taxRule iso_code_country="ee" id_tax="4"/>
<taxRule iso_code_country="gr" id_tax="4"/>
<taxRule iso_code_country="hr" id_tax="4"/>
<taxRule iso_code_country="es" id_tax="4"/>
<taxRule iso_code_country="fr" id_tax="4"/>
<taxRule iso_code_country="mc" id_tax="4"/>
<taxRule iso_code_country="ie" id_tax="4"/>
<taxRule iso_code_country="it" id_tax="4"/>
<taxRule iso_code_country="cy" id_tax="4"/>
<taxRule iso_code_country="lv" id_tax="4"/>
<taxRule iso_code_country="lt" id_tax="4"/>
<taxRule iso_code_country="lu" id_tax="4"/>
<taxRule iso_code_country="hu" id_tax="4"/>
<taxRule iso_code_country="mt" id_tax="4"/>
<taxRule iso_code_country="nl" id_tax="4"/>
<taxRule iso_code_country="at" id_tax="4"/>
<taxRule iso_code_country="pl" id_tax="4"/>
<taxRule iso_code_country="pt" id_tax="4"/>
<taxRule iso_code_country="ro" id_tax="4"/>
<taxRule iso_code_country="si" id_tax="4"/>
<taxRule iso_code_country="sk" id_tax="4"/>
<taxRule iso_code_country="fi" id_tax="4"/>
<taxRule iso_code_country="se" id_tax="4"/>
<taxRule iso_code_country="gb" id_tax="4"/>
</taxRulesGroup>
<taxRulesGroup name="EU VAT For Virtual Products" auto-generated="1" eu-tax-group="virtual">
<taxRule iso_code_country="at" id_tax="1"/>
<taxRule iso_code_country="be" id_tax="3"/>
<taxRule iso_code_country="bg" id_tax="4"/>
<taxRule iso_code_country="cy" id_tax="5"/>
<taxRule iso_code_country="cz" id_tax="6"/>
<taxRule iso_code_country="de" id_tax="7"/>
<taxRule iso_code_country="dk" id_tax="8"/>
<taxRule iso_code_country="ee" id_tax="9"/>
<taxRule iso_code_country="es" id_tax="10"/>
<taxRule iso_code_country="fi" id_tax="11"/>
<taxRule iso_code_country="fr" id_tax="12"/>
<taxRule iso_code_country="gb" id_tax="13"/>
<taxRule iso_code_country="gr" id_tax="14"/>
<taxRule iso_code_country="hr" id_tax="15"/>
<taxRule iso_code_country="hu" id_tax="16"/>
<taxRule iso_code_country="ie" id_tax="17"/>
<taxRule iso_code_country="it" id_tax="18"/>
<taxRule iso_code_country="lt" id_tax="19"/>
<taxRule iso_code_country="lu" id_tax="20"/>
<taxRule iso_code_country="lv" id_tax="21"/>
<taxRule iso_code_country="mt" id_tax="22"/>
<taxRule iso_code_country="nl" id_tax="23"/>
<taxRule iso_code_country="pl" id_tax="24"/>
<taxRule iso_code_country="pt" id_tax="25"/>
<taxRule iso_code_country="ro" id_tax="26"/>
<taxRule iso_code_country="se" id_tax="27"/>
<taxRule iso_code_country="si" id_tax="28"/>
<taxRule iso_code_country="sk" id_tax="29"/>
<taxRule iso_code_country="be" id_tax="5"/>
<taxRule iso_code_country="bg" id_tax="6"/>
<taxRule iso_code_country="cy" id_tax="7"/>
<taxRule iso_code_country="cz" id_tax="8"/>
<taxRule iso_code_country="de" id_tax="9"/>
<taxRule iso_code_country="dk" id_tax="10"/>
<taxRule iso_code_country="ee" id_tax="11"/>
<taxRule iso_code_country="es" id_tax="12"/>
<taxRule iso_code_country="fi" id_tax="13"/>
<taxRule iso_code_country="fr" id_tax="14"/>
<taxRule iso_code_country="gb" id_tax="15"/>
<taxRule iso_code_country="gr" id_tax="16"/>
<taxRule iso_code_country="hr" id_tax="17"/>
<taxRule iso_code_country="hu" id_tax="18"/>
<taxRule iso_code_country="ie" id_tax="19"/>
<taxRule iso_code_country="it" id_tax="20"/>
<taxRule iso_code_country="lt" id_tax="21"/>
<taxRule iso_code_country="lu" id_tax="22"/>
<taxRule iso_code_country="lv" id_tax="23"/>
<taxRule iso_code_country="mc" id_tax="24"/>
<taxRule iso_code_country="mt" id_tax="25"/>
<taxRule iso_code_country="nl" id_tax="26"/>
<taxRule iso_code_country="pl" id_tax="27"/>
<taxRule iso_code_country="pt" id_tax="28"/>
<taxRule iso_code_country="ro" id_tax="29"/>
<taxRule iso_code_country="se" id_tax="30"/>
<taxRule iso_code_country="si" id_tax="31"/>
<taxRule iso_code_country="sk" id_tax="32"/>
</taxRulesGroup>
</taxes>
<states>
<state name="Burgenland" iso_code="AT-1" country="AT" zone="Europe" tax_behavior="0"/>
<state name="Kärnten" iso_code="AT-2" country="AT" zone="Europe" tax_behavior="0"/>
<state name="Niederösterreich" iso_code="AT-3" country="AT" zone="Europe" tax_behavior="0"/>
<state name="Oberösterreich" iso_code="AT-4" country="AT" zone="Europe" tax_behavior="0"/>
<state name="Salzburg" iso_code="AT-5" country="AT" zone="Europe" tax_behavior="0"/>
<state name="Steiermark" iso_code="AT-6" country="AT" zone="Europe" tax_behavior="0"/>
<state name="Tirol" iso_code="AT-7" country="AT" zone="Europe" tax_behavior="0"/>
<state name="Vorarlberg" iso_code="AT-8" country="AT" zone="Europe" tax_behavior="0"/>
<state name="Wien" iso_code="AT-9" country="AT" zone="Europe" tax_behavior="0"/>
</states>
<units>
<unit type="weight" value="kg"/>
<unit type="volume" value="L"/>

View File

@@ -3,9 +3,9 @@
<languages>
<language iso_code="en"/>
</languages>
<currencies>
<currency name="Dollar" iso_code="AUD" iso_code_num="036" sign="$" blank="0" conversion_rate="1.40554" format="1" decimals="1" />
<currency name="Dollar" iso_code="AUD" iso_code_num="036" sign="$" blank="0" format="1" decimals="1" />
</currencies>
<taxes>
<tax id="1" name="GST AU 10%" rate="10" />

View File

@@ -1,22 +1,21 @@
<?xml version="1.0" encoding="UTF-8" ?>
<localizationPack name="Azerbaijan" version="1.0">
<currencies>
<currency name="Manat" iso_code="AZN" iso_code_num="944" sign="AZN" blank="1" conversion_rate="1.09237" format="2" decimals="1" />
<currency name="Manat" iso_code="AZN" iso_code_num="944" sign="AZN" blank="1" format="2" decimals="1" />
</currencies>
<languages>
<language iso_code="az" />
<language iso_code="en" />
<language iso_code="ru" />
</languages>
<taxes>
<tax id="1" name="ƏDV AZ 18%" rate="18" />
<tax id="2" name="ƏDV AZ 10.5%" rate="10.5" />
<tax id="2" name="ƏDV AZ 0%" rate="0" />
<taxRulesGroup name="AZ Standard Rate (18%)">
<taxRule iso_code_country="az" id_tax="1" />
</taxRulesGroup>
<taxRulesGroup name="AZ Reduced Rate (10.5%)">
<taxRulesGroup name="AZ Zero Rate (0%)">
<taxRule iso_code_country="az" id_tax="2" />
</taxRulesGroup>
</taxes>

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<localizationPack name="Belgium" version="1.0">
<currencies>
<currency name="Euro" iso_code="EUR" iso_code_num="978" sign="€" blank="1" conversion_rate="1.00" format="2" decimals="1"/>
<currency name="Euro" iso_code="EUR" iso_code_num="978" sign="€" blank="1" format="2" decimals="1"/>
</currencies>
<languages>
<language iso_code="fr"/>
@@ -18,12 +18,12 @@
<tax id="7" name="DPH CZ 21%" rate="21" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="8" name="MwSt. DE 19%" rate="19" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="9" name="moms DK 25%" rate="25" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="10" name="km EE 20%" rate="20" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="10" name="km EE 24%" rate="24" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="11" name="IVA ES 21%" rate="21" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="12" name="ALV FI 24%" rate="24" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="12" name="ALV FI 25.5%" rate="25.5" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="13" name="TVA FR 20%" rate="20" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="14" name="VAT UK 20%" rate="20.0" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="15" name="ΦΠΑ GR 23%" rate="23" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="15" name="ΦΠΑ GR 24%" rate="24" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="16" name="Croatia PDV 25%" rate="25.000" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="17" name="ÁFA HU 27%" rate="27" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="18" name="VAT IE 23%" rate="23" auto-generated="1" from-eu-tax-group="virtual"/>
@@ -31,14 +31,15 @@
<tax id="20" name="PVM LT 21%" rate="21" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="21" name="TVA LU 17%" rate="17" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="22" name="PVN LV 21%" rate="21" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="23" name="VAT MT 18%" rate="18" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="24" name="BTW NL 21%" rate="21" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="25" name="PTU PL 23%" rate="23" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="26" name="IVA PT 23%" rate="23" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="27" name="TVA RO 24%" rate="24" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="28" name="Moms SE 25%" rate="25" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="29" name="DDV SI 22%" rate="22" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="30" name="DPH SK 20%" rate="20" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="23" name="TVA MC 20%" rate="20" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="24" name="VAT MT 18%" rate="18" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="25" name="BTW NL 21%" rate="21" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="26" name="PTU PL 23%" rate="23" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="27" name="IVA PT 23%" rate="23" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="28" name="TVA RO 21%" rate="21" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="29" name="Moms SE 25%" rate="25" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="30" name="DDV SI 22%" rate="22" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="31" name="DPH SK 23%" rate="23" auto-generated="1" from-eu-tax-group="virtual"/>
<taxRulesGroup name="BE Standard Rate (21%)">
<taxRule iso_code_country="be" id_tax="1"/>
<taxRule iso_code_country="bg" id_tax="1"/>
@@ -47,8 +48,10 @@
<taxRule iso_code_country="de" id_tax="1"/>
<taxRule iso_code_country="ee" id_tax="1"/>
<taxRule iso_code_country="gr" id_tax="1"/>
<taxRule iso_code_country="hr" id_tax="1"/>
<taxRule iso_code_country="es" id_tax="1"/>
<taxRule iso_code_country="fr" id_tax="1"/>
<taxRule iso_code_country="mc" id_tax="1"/>
<taxRule iso_code_country="ie" id_tax="1"/>
<taxRule iso_code_country="it" id_tax="1"/>
<taxRule iso_code_country="cy" id_tax="1"/>
@@ -67,7 +70,6 @@
<taxRule iso_code_country="fi" id_tax="1"/>
<taxRule iso_code_country="se" id_tax="1"/>
<taxRule iso_code_country="gb" id_tax="1"/>
<taxRule iso_code_country="hr" id_tax="1"/>
</taxRulesGroup>
<taxRulesGroup name="BE Reduced Rate (12%)">
<taxRule iso_code_country="be" id_tax="2"/>
@@ -77,8 +79,10 @@
<taxRule iso_code_country="de" id_tax="2"/>
<taxRule iso_code_country="ee" id_tax="2"/>
<taxRule iso_code_country="gr" id_tax="2"/>
<taxRule iso_code_country="hr" id_tax="2"/>
<taxRule iso_code_country="es" id_tax="2"/>
<taxRule iso_code_country="fr" id_tax="2"/>
<taxRule iso_code_country="mc" id_tax="2"/>
<taxRule iso_code_country="ie" id_tax="2"/>
<taxRule iso_code_country="it" id_tax="2"/>
<taxRule iso_code_country="cy" id_tax="2"/>
@@ -97,7 +101,6 @@
<taxRule iso_code_country="fi" id_tax="2"/>
<taxRule iso_code_country="se" id_tax="2"/>
<taxRule iso_code_country="gb" id_tax="2"/>
<taxRule iso_code_country="hr" id_tax="2"/>
</taxRulesGroup>
<taxRulesGroup name="BE Super Reduced Rate (6%)">
<taxRule iso_code_country="be" id_tax="3"/>
@@ -107,8 +110,10 @@
<taxRule iso_code_country="de" id_tax="3"/>
<taxRule iso_code_country="ee" id_tax="3"/>
<taxRule iso_code_country="gr" id_tax="3"/>
<taxRule iso_code_country="hr" id_tax="3"/>
<taxRule iso_code_country="es" id_tax="3"/>
<taxRule iso_code_country="fr" id_tax="3"/>
<taxRule iso_code_country="mc" id_tax="3"/>
<taxRule iso_code_country="ie" id_tax="3"/>
<taxRule iso_code_country="it" id_tax="3"/>
<taxRule iso_code_country="cy" id_tax="3"/>
@@ -127,7 +132,6 @@
<taxRule iso_code_country="fi" id_tax="3"/>
<taxRule iso_code_country="se" id_tax="3"/>
<taxRule iso_code_country="gb" id_tax="3"/>
<taxRule iso_code_country="hr" id_tax="3"/>
</taxRulesGroup>
<taxRulesGroup name="BE Foodstuff Rate (6%)">
<taxRule iso_code_country="be" id_tax="3"/>
@@ -137,8 +141,10 @@
<taxRule iso_code_country="de" id_tax="3"/>
<taxRule iso_code_country="ee" id_tax="3"/>
<taxRule iso_code_country="gr" id_tax="3"/>
<taxRule iso_code_country="hr" id_tax="3"/>
<taxRule iso_code_country="es" id_tax="3"/>
<taxRule iso_code_country="fr" id_tax="3"/>
<taxRule iso_code_country="mc" id_tax="3"/>
<taxRule iso_code_country="ie" id_tax="3"/>
<taxRule iso_code_country="it" id_tax="3"/>
<taxRule iso_code_country="cy" id_tax="3"/>
@@ -157,7 +163,6 @@
<taxRule iso_code_country="fi" id_tax="3"/>
<taxRule iso_code_country="se" id_tax="3"/>
<taxRule iso_code_country="gb" id_tax="3"/>
<taxRule iso_code_country="hr" id_tax="3"/>
</taxRulesGroup>
<taxRulesGroup name="BE Books Rate (6%)">
<taxRule iso_code_country="be" id_tax="3"/>
@@ -167,8 +172,10 @@
<taxRule iso_code_country="de" id_tax="3"/>
<taxRule iso_code_country="ee" id_tax="3"/>
<taxRule iso_code_country="gr" id_tax="3"/>
<taxRule iso_code_country="hr" id_tax="3"/>
<taxRule iso_code_country="es" id_tax="3"/>
<taxRule iso_code_country="fr" id_tax="3"/>
<taxRule iso_code_country="mc" id_tax="3"/>
<taxRule iso_code_country="ie" id_tax="3"/>
<taxRule iso_code_country="it" id_tax="3"/>
<taxRule iso_code_country="cy" id_tax="3"/>
@@ -187,7 +194,6 @@
<taxRule iso_code_country="fi" id_tax="3"/>
<taxRule iso_code_country="se" id_tax="3"/>
<taxRule iso_code_country="gb" id_tax="3"/>
<taxRule iso_code_country="hr" id_tax="3"/>
</taxRulesGroup>
<taxRulesGroup name="EU VAT For Virtual Products" auto-generated="1" eu-tax-group="virtual">
<taxRule iso_code_country="be" id_tax="1"/>
@@ -210,14 +216,15 @@
<taxRule iso_code_country="lt" id_tax="20"/>
<taxRule iso_code_country="lu" id_tax="21"/>
<taxRule iso_code_country="lv" id_tax="22"/>
<taxRule iso_code_country="mt" id_tax="23"/>
<taxRule iso_code_country="nl" id_tax="24"/>
<taxRule iso_code_country="pl" id_tax="25"/>
<taxRule iso_code_country="pt" id_tax="26"/>
<taxRule iso_code_country="ro" id_tax="27"/>
<taxRule iso_code_country="se" id_tax="28"/>
<taxRule iso_code_country="si" id_tax="29"/>
<taxRule iso_code_country="sk" id_tax="30"/>
<taxRule iso_code_country="mc" id_tax="23"/>
<taxRule iso_code_country="mt" id_tax="24"/>
<taxRule iso_code_country="nl" id_tax="25"/>
<taxRule iso_code_country="pl" id_tax="26"/>
<taxRule iso_code_country="pt" id_tax="27"/>
<taxRule iso_code_country="ro" id_tax="28"/>
<taxRule iso_code_country="se" id_tax="29"/>
<taxRule iso_code_country="si" id_tax="30"/>
<taxRule iso_code_country="sk" id_tax="31"/>
</taxRulesGroup>
</taxes>
<units>

View File

@@ -1,41 +1,43 @@
<?xml version="1.0" encoding="UTF-8"?>
<localizationPack name="Bulgaria" version="1.0">
<currencies>
<currency name="Lev" iso_code="BGN" iso_code_num="975" sign="лв" blank="1" conversion_rate="1.95580" format="2" decimals="1"/>
<currency name="Lev" iso_code="BGN" iso_code_num="975" sign="лв" blank="1" format="2" decimals="1"/>
</currencies>
<languages>
<language iso_code="bg"/>
</languages>
<taxes>
<tax id="1" name="ДДС BG 20%" rate="20" eu-tax-group="virtual"/>
<tax id="2" name="ДДС BG 7%" rate="7"/>
<tax id="3" name="USt. AT 20%" rate="20" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="4" name="TVA BE 21%" rate="21" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="5" name="ΦΠΑ CY 19%" rate="19" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="6" name="DPH CZ 21%" rate="21" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="7" name="MwSt. DE 19%" rate="19" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="8" name="moms DK 25%" rate="25" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="9" name="km EE 20%" rate="20" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="10" name="IVA ES 21%" rate="21" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="11" name="ALV FI 24%" rate="24" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="12" name="TVA FR 20%" rate="20" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="13" name="VAT UK 20%" rate="20.0" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="14" name="ΦΠΑ GR 23%" rate="23" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="15" name="Croatia PDV 25%" rate="25.000" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="16" name="ÁFA HU 27%" rate="27" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="17" name="VAT IE 23%" rate="23" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="18" name="IVA IT 22%" rate="22" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="19" name="PVM LT 21%" rate="21" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="20" name="TVA LU 17%" rate="17" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="21" name="PVN LV 21%" rate="21" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="22" name="VAT MT 18%" rate="18" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="23" name="BTW NL 21%" rate="21" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="24" name="PTU PL 23%" rate="23" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="25" name="IVA PT 23%" rate="23" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="26" name="TVA RO 24%" rate="24" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="27" name="Moms SE 25%" rate="25" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="28" name="DDV SI 22%" rate="22" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="29" name="DPH SK 20%" rate="20" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="2" name="ДДС BG 9%" rate="9"/>
<tax id="3" name="ДДС BG 0%" rate="0"/>
<tax id="4" name="USt. AT 20%" rate="20" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="5" name="TVA BE 21%" rate="21" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="6" name="ΦΠΑ CY 19%" rate="19" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="7" name="DPH CZ 21%" rate="21" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="8" name="MwSt. DE 19%" rate="19" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="9" name="moms DK 25%" rate="25" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="10" name="km EE 24%" rate="24" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="11" name="IVA ES 21%" rate="21" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="12" name="ALV FI 25.5%" rate="25.5" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="13" name="TVA FR 20%" rate="20" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="14" name="VAT UK 20%" rate="20.0" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="15" name="ΦΠΑ GR 24%" rate="24" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="16" name="Croatia PDV 25%" rate="25.000" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="17" name="ÁFA HU 27%" rate="27" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="18" name="VAT IE 23%" rate="23" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="19" name="IVA IT 22%" rate="22" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="20" name="PVM LT 21%" rate="21" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="21" name="TVA LU 17%" rate="17" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="22" name="PVN LV 21%" rate="21" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="23" name="TVA MC 20%" rate="20" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="24" name="VAT MT 18%" rate="18" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="25" name="BTW NL 21%" rate="21" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="26" name="PTU PL 23%" rate="23" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="27" name="IVA PT 23%" rate="23" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="28" name="TVA RO 21%" rate="21" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="29" name="Moms SE 25%" rate="25" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="30" name="DDV SI 22%" rate="22" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="31" name="DPH SK 23%" rate="23" auto-generated="1" from-eu-tax-group="virtual"/>
<taxRulesGroup name="BG Standard Rate (20%)">
<taxRule iso_code_country="be" id_tax="1"/>
<taxRule iso_code_country="bg" id_tax="1"/>
@@ -44,8 +46,10 @@
<taxRule iso_code_country="de" id_tax="1"/>
<taxRule iso_code_country="ee" id_tax="1"/>
<taxRule iso_code_country="gr" id_tax="1"/>
<taxRule iso_code_country="hr" id_tax="1"/>
<taxRule iso_code_country="es" id_tax="1"/>
<taxRule iso_code_country="fr" id_tax="1"/>
<taxRule iso_code_country="mc" id_tax="1"/>
<taxRule iso_code_country="ie" id_tax="1"/>
<taxRule iso_code_country="it" id_tax="1"/>
<taxRule iso_code_country="cy" id_tax="1"/>
@@ -64,9 +68,8 @@
<taxRule iso_code_country="fi" id_tax="1"/>
<taxRule iso_code_country="se" id_tax="1"/>
<taxRule iso_code_country="gb" id_tax="1"/>
<taxRule iso_code_country="hr" id_tax="1"/>
</taxRulesGroup>
<taxRulesGroup name="BG Reduced Rate (7%)">
<taxRulesGroup name="BG Reduced Rate (9%)">
<taxRule iso_code_country="be" id_tax="2"/>
<taxRule iso_code_country="bg" id_tax="2"/>
<taxRule iso_code_country="cz" id_tax="2"/>
@@ -74,8 +77,10 @@
<taxRule iso_code_country="de" id_tax="2"/>
<taxRule iso_code_country="ee" id_tax="2"/>
<taxRule iso_code_country="gr" id_tax="2"/>
<taxRule iso_code_country="hr" id_tax="2"/>
<taxRule iso_code_country="es" id_tax="2"/>
<taxRule iso_code_country="fr" id_tax="2"/>
<taxRule iso_code_country="mc" id_tax="2"/>
<taxRule iso_code_country="ie" id_tax="2"/>
<taxRule iso_code_country="it" id_tax="2"/>
<taxRule iso_code_country="cy" id_tax="2"/>
@@ -94,99 +99,100 @@
<taxRule iso_code_country="fi" id_tax="2"/>
<taxRule iso_code_country="se" id_tax="2"/>
<taxRule iso_code_country="gb" id_tax="2"/>
<taxRule iso_code_country="hr" id_tax="2"/>
</taxRulesGroup>
<taxRulesGroup name="BG Foodstuff Rate (20%)">
<taxRule iso_code_country="be" id_tax="1"/>
<taxRule iso_code_country="bg" id_tax="1"/>
<taxRule iso_code_country="cz" id_tax="1"/>
<taxRule iso_code_country="dk" id_tax="1"/>
<taxRule iso_code_country="de" id_tax="1"/>
<taxRule iso_code_country="ee" id_tax="1"/>
<taxRule iso_code_country="gr" id_tax="1"/>
<taxRule iso_code_country="es" id_tax="1"/>
<taxRule iso_code_country="fr" id_tax="1"/>
<taxRule iso_code_country="ie" id_tax="1"/>
<taxRule iso_code_country="it" id_tax="1"/>
<taxRule iso_code_country="cy" id_tax="1"/>
<taxRule iso_code_country="lv" id_tax="1"/>
<taxRule iso_code_country="lt" id_tax="1"/>
<taxRule iso_code_country="lu" id_tax="1"/>
<taxRule iso_code_country="hu" id_tax="1"/>
<taxRule iso_code_country="mt" id_tax="1"/>
<taxRule iso_code_country="nl" id_tax="1"/>
<taxRule iso_code_country="at" id_tax="1"/>
<taxRule iso_code_country="pl" id_tax="1"/>
<taxRule iso_code_country="pt" id_tax="1"/>
<taxRule iso_code_country="ro" id_tax="1"/>
<taxRule iso_code_country="si" id_tax="1"/>
<taxRule iso_code_country="sk" id_tax="1"/>
<taxRule iso_code_country="fi" id_tax="1"/>
<taxRule iso_code_country="se" id_tax="1"/>
<taxRule iso_code_country="gb" id_tax="1"/>
<taxRule iso_code_country="hr" id_tax="1"/>
</taxRulesGroup>
<taxRulesGroup name="BG Books Rate (20%)">
<taxRule iso_code_country="be" id_tax="1"/>
<taxRule iso_code_country="bg" id_tax="1"/>
<taxRule iso_code_country="cz" id_tax="1"/>
<taxRule iso_code_country="dk" id_tax="1"/>
<taxRule iso_code_country="de" id_tax="1"/>
<taxRule iso_code_country="ee" id_tax="1"/>
<taxRule iso_code_country="gr" id_tax="1"/>
<taxRule iso_code_country="es" id_tax="1"/>
<taxRule iso_code_country="fr" id_tax="1"/>
<taxRule iso_code_country="ie" id_tax="1"/>
<taxRule iso_code_country="it" id_tax="1"/>
<taxRule iso_code_country="cy" id_tax="1"/>
<taxRule iso_code_country="lv" id_tax="1"/>
<taxRule iso_code_country="lt" id_tax="1"/>
<taxRule iso_code_country="lu" id_tax="1"/>
<taxRule iso_code_country="hu" id_tax="1"/>
<taxRule iso_code_country="mt" id_tax="1"/>
<taxRule iso_code_country="nl" id_tax="1"/>
<taxRule iso_code_country="at" id_tax="1"/>
<taxRule iso_code_country="pl" id_tax="1"/>
<taxRule iso_code_country="pt" id_tax="1"/>
<taxRule iso_code_country="ro" id_tax="1"/>
<taxRule iso_code_country="si" id_tax="1"/>
<taxRule iso_code_country="sk" id_tax="1"/>
<taxRule iso_code_country="fi" id_tax="1"/>
<taxRule iso_code_country="se" id_tax="1"/>
<taxRule iso_code_country="gb" id_tax="1"/>
<taxRule iso_code_country="hr" id_tax="1"/>
<taxRulesGroup name="BG Zero Rate (0%)">
<taxRule iso_code_country="be" id_tax="3"/>
<taxRule iso_code_country="bg" id_tax="3"/>
<taxRule iso_code_country="cz" id_tax="3"/>
<taxRule iso_code_country="dk" id_tax="3"/>
<taxRule iso_code_country="de" id_tax="3"/>
<taxRule iso_code_country="ee" id_tax="3"/>
<taxRule iso_code_country="gr" id_tax="3"/>
<taxRule iso_code_country="hr" id_tax="3"/>
<taxRule iso_code_country="es" id_tax="3"/>
<taxRule iso_code_country="fr" id_tax="3"/>
<taxRule iso_code_country="mc" id_tax="3"/>
<taxRule iso_code_country="ie" id_tax="3"/>
<taxRule iso_code_country="it" id_tax="3"/>
<taxRule iso_code_country="cy" id_tax="3"/>
<taxRule iso_code_country="lv" id_tax="3"/>
<taxRule iso_code_country="lt" id_tax="3"/>
<taxRule iso_code_country="lu" id_tax="3"/>
<taxRule iso_code_country="hu" id_tax="3"/>
<taxRule iso_code_country="mt" id_tax="3"/>
<taxRule iso_code_country="nl" id_tax="3"/>
<taxRule iso_code_country="at" id_tax="3"/>
<taxRule iso_code_country="pl" id_tax="3"/>
<taxRule iso_code_country="pt" id_tax="3"/>
<taxRule iso_code_country="ro" id_tax="3"/>
<taxRule iso_code_country="si" id_tax="3"/>
<taxRule iso_code_country="sk" id_tax="3"/>
<taxRule iso_code_country="fi" id_tax="3"/>
<taxRule iso_code_country="se" id_tax="3"/>
<taxRule iso_code_country="gb" id_tax="3"/>
</taxRulesGroup>
<taxRulesGroup name="EU VAT For Virtual Products" auto-generated="1" eu-tax-group="virtual">
<taxRule iso_code_country="bg" id_tax="1"/>
<taxRule iso_code_country="at" id_tax="3"/>
<taxRule iso_code_country="be" id_tax="4"/>
<taxRule iso_code_country="cy" id_tax="5"/>
<taxRule iso_code_country="cz" id_tax="6"/>
<taxRule iso_code_country="de" id_tax="7"/>
<taxRule iso_code_country="dk" id_tax="8"/>
<taxRule iso_code_country="ee" id_tax="9"/>
<taxRule iso_code_country="es" id_tax="10"/>
<taxRule iso_code_country="fi" id_tax="11"/>
<taxRule iso_code_country="fr" id_tax="12"/>
<taxRule iso_code_country="gb" id_tax="13"/>
<taxRule iso_code_country="gr" id_tax="14"/>
<taxRule iso_code_country="hr" id_tax="15"/>
<taxRule iso_code_country="hu" id_tax="16"/>
<taxRule iso_code_country="ie" id_tax="17"/>
<taxRule iso_code_country="it" id_tax="18"/>
<taxRule iso_code_country="lt" id_tax="19"/>
<taxRule iso_code_country="lu" id_tax="20"/>
<taxRule iso_code_country="lv" id_tax="21"/>
<taxRule iso_code_country="mt" id_tax="22"/>
<taxRule iso_code_country="nl" id_tax="23"/>
<taxRule iso_code_country="pl" id_tax="24"/>
<taxRule iso_code_country="pt" id_tax="25"/>
<taxRule iso_code_country="ro" id_tax="26"/>
<taxRule iso_code_country="se" id_tax="27"/>
<taxRule iso_code_country="si" id_tax="28"/>
<taxRule iso_code_country="sk" id_tax="29"/>
<taxRule iso_code_country="at" id_tax="4"/>
<taxRule iso_code_country="be" id_tax="5"/>
<taxRule iso_code_country="cy" id_tax="6"/>
<taxRule iso_code_country="cz" id_tax="7"/>
<taxRule iso_code_country="de" id_tax="8"/>
<taxRule iso_code_country="dk" id_tax="9"/>
<taxRule iso_code_country="ee" id_tax="10"/>
<taxRule iso_code_country="es" id_tax="11"/>
<taxRule iso_code_country="fi" id_tax="12"/>
<taxRule iso_code_country="fr" id_tax="13"/>
<taxRule iso_code_country="gb" id_tax="14"/>
<taxRule iso_code_country="gr" id_tax="15"/>
<taxRule iso_code_country="hr" id_tax="16"/>
<taxRule iso_code_country="hu" id_tax="17"/>
<taxRule iso_code_country="ie" id_tax="18"/>
<taxRule iso_code_country="it" id_tax="19"/>
<taxRule iso_code_country="lt" id_tax="20"/>
<taxRule iso_code_country="lu" id_tax="21"/>
<taxRule iso_code_country="lv" id_tax="22"/>
<taxRule iso_code_country="mc" id_tax="23"/>
<taxRule iso_code_country="mt" id_tax="24"/>
<taxRule iso_code_country="nl" id_tax="25"/>
<taxRule iso_code_country="pl" id_tax="26"/>
<taxRule iso_code_country="pt" id_tax="27"/>
<taxRule iso_code_country="ro" id_tax="28"/>
<taxRule iso_code_country="se" id_tax="29"/>
<taxRule iso_code_country="si" id_tax="30"/>
<taxRule iso_code_country="sk" id_tax="31"/>
</taxRulesGroup>
</taxes>
<states>
<state name="Blagoevgrad" iso_code="01" country="BG" zone="Europe" />
<state name="Burgas" iso_code="02" country="BG" zone="Europe" />
<state name="Dobrich" iso_code="08" country="BG" zone="Europe" />
<state name="Gabrovo" iso_code="07" country="BG" zone="Europe" />
<state name="Haskovo" iso_code="26" country="BG" zone="Europe" />
<state name="Kardzhali" iso_code="09" country="BG" zone="Europe" />
<state name="Kyustendil" iso_code="10" country="BG" zone="Europe" />
<state name="Lovech" iso_code="11" country="BG" zone="Europe" />
<state name="Montana" iso_code="12" country="BG" zone="Europe" />
<state name="Pazardzhik" iso_code="13" country="BG" zone="Europe" />
<state name="Pernik" iso_code="14" country="BG" zone="Europe" />
<state name="Pleven" iso_code="15" country="BG" zone="Europe" />
<state name="Plovdiv" iso_code="16" country="BG" zone="Europe" />
<state name="Razgrad" iso_code="17" country="BG" zone="Europe" />
<state name="Ruse" iso_code="18" country="BG" zone="Europe" />
<state name="Shumen" iso_code="27" country="BG" zone="Europe" />
<state name="Silistra" iso_code="19" country="BG" zone="Europe" />
<state name="Sliven" iso_code="20" country="BG" zone="Europe" />
<state name="Smolyan" iso_code="21" country="BG" zone="Europe" />
<state name="Sofia (stolitsa)" iso_code="22" country="BG" zone="Europe" />
<state name="Sofia" iso_code="23" country="BG" zone="Europe" />
<state name="Stara Zagora" iso_code="24" country="BG" zone="Europe" />
<state name="Targovishte" iso_code="25" country="BG" zone="Europe" />
<state name="Varna" iso_code="03" country="BG" zone="Europe" />
<state name="Veliko Tarnovo" iso_code="04" country="BG" zone="Europe" />
<state name="Vidin" iso_code="05" country="BG" zone="Europe" />
<state name="Vratsa" iso_code="06" country="BG" zone="Europe" />
<state name="Yambol" iso_code="28" country="BG" zone="Europe" />
</states>
<units>
<unit type="weight" value="kg"/>
<unit type="volume" value="L"/>

View File

@@ -1,18 +1,29 @@
<?xml version="1.0" encoding="UTF-8" ?>
<localizationPack name="Bolivia" version="1.0">
<currencies>
<currency name="Boliviano" iso_code="BOB" iso_code_num="068" sign="$b" blank="1" conversion_rate="9.57620" format="2" decimals="1" />
<currency name="Boliviano" iso_code="BOB" iso_code_num="068" sign="$b" blank="1" format="2" decimals="1" />
</currencies>
<languages>
<language iso_code="es" />
</languages>
<taxes>
<tax id="1" name="IVA BO 13%" rate="13" />
<taxRulesGroup name="BO Standard rate (13%)">
<taxRule iso_code_country="bo" id_tax="1" />
</taxRulesGroup>
</taxes>
<states>
<state name="Chuquisaca" iso_code="H" country="BO" zone="South America" />
<state name="Cochabamba" iso_code="C" country="BO" zone="South America" />
<state name="El Beni" iso_code="B" country="BO" zone="South America" />
<state name="La Paz" iso_code="L" country="BO" zone="South America" />
<state name="Oruro" iso_code="O" country="BO" zone="South America" />
<state name="Pando" iso_code="N" country="BO" zone="South America" />
<state name="Potosí" iso_code="P" country="BO" zone="South America" />
<state name="Santa Cruz" iso_code="S" country="BO" zone="South America" />
<state name="Tarija" iso_code="T" country="BO" zone="South America" />
</states>
<units>
<unit type="weight" value="kg" />
<unit type="volume" value="L" />

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<localizationPack name="Brazil" version="1.0">
<currencies>
<currency name="Real" iso_code="BRL" iso_code_num="986" sign="R$" blank="1" conversion_rate="2.31583" format="3" decimals="1" />
<currency name="Real" iso_code="BRL" iso_code_num="986" sign="R$" blank="1" format="3" decimals="1" />
</currencies>
<languages>
<language iso_code="br" />
@@ -9,7 +9,7 @@
<taxes>
<tax id="1" name="IPI BR 12%" rate="12" />
<tax id="2" name="ICMS BR 25%" rate="25" />
<tax id="3" name="ISS BR 5%" rate="5" />
<tax id="3" name="ISS BR 7%" rate="7" />
<taxRulesGroup name="BR ICMS (25%)">
<taxRule iso_code_country="br" id_tax="2" />
@@ -19,7 +19,7 @@
<taxRule iso_code_country="br" id_tax="1" />
</taxRulesGroup>
<taxRulesGroup name="BR ISS (5%)">
<taxRulesGroup name="BR ISS (7%)">
<taxRule iso_code_country="br" id_tax="3" />
</taxRulesGroup>
</taxes>

View File

@@ -1,24 +1,16 @@
<?xml version="1.0"?>
<localizationPack name="Belarus">
<currencies>
<currency name="Belarusian ruble" iso_code="BYR" iso_code_num="974" sign="&#x440;." blank="0" conversion_rate="1.000000" format="2" decimals="0"/>
<currency name="Belarusian ruble" iso_code="BYR" iso_code_num="974" sign="&#x440;." blank="0" format="2" decimals="0"/>
</currencies>
<languages>
<language iso_code="ru"/>
</languages>
<taxes>
<tax id="1" name="&#x41F;&#x414;&#x412; 20%" rate="20"/>
<taxRulesGroup name="&#x41F;&#x414;&#x412; 20%">
<taxRule iso_code_country="by" behavior="0" id_tax="65"/>
<taxRule iso_code_country="by" behavior="0" id_tax="1"/>
</taxRulesGroup>
<taxRulesGroup name="&#x41F;&#x414;&#x412; 10%">
<taxRule iso_code_country="by" behavior="0" id_tax="66"/>
</taxRulesGroup>
<taxRulesGroup name="&#x41F;&#x414;&#x412; 0.5%">
<taxRule iso_code_country="by" behavior="0" id_tax="67"/>
</taxRulesGroup>
<tax id="65" name="&#x41F;&#x414;&#x412; 20%" rate="20.000"/>
<tax id="66" name="&#x41F;&#x414;&#x412; 10%" rate="10.000"/>
<tax id="67" name="&#x41F;&#x414;&#x412; 0.5%" rate="0.500"/>
</taxes>
<units>
<unit type="weight" value="kg"/>

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<localizationPack name="Canada" version="1.0">
<currencies>
<currency name="Dollar (CAD)" iso_code="CAD" iso_code_num="124" sign="CAD$" blank="0" conversion_rate="1.40054" format="1" decimals="1" />
<currency name="Dollar (CAD)" iso_code="CAD" iso_code_num="124" sign="CAD$" blank="0" format="1" decimals="1" />
</currencies>
<languages>
<language iso_code="en" />

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<localizationPack name="Switzerland" version="1.0">
<currencies>
<currency name="Franc" iso_code="CHF" iso_code_num="756" sign="CHF" blank="1" conversion_rate="1.34183" format="5" decimals="1" />
<currency name="Franc" iso_code="CHF" iso_code_num="756" sign="CHF" blank="1" format="5" decimals="1" />
</currencies>
<languages>
<language iso_code="de" />
@@ -9,15 +9,15 @@
<language iso_code="it" />
</languages>
<taxes>
<tax id="1" name="TVA CH 8.0%" rate="8.0" />
<tax id="2" name="TVA CH 3.8%" rate="3.8" />
<tax id="1" name="TVA CH 7.7%" rate="7.7" />
<tax id="2" name="TVA CH 3.7%" rate="3.7" />
<tax id="3" name="TVA CH 2.5%" rate="2.5" />
<taxRulesGroup name="CH Standard Rate (8.0%)">
<taxRulesGroup name="CH Standard Rate (7.7%)">
<taxRule iso_code_country="ch" id_tax="1" />
</taxRulesGroup>
<taxRulesGroup name="CH Reduced Rate (3.8%)">
<taxRulesGroup name="CH Reduced Rate (3.7%)">
<taxRule iso_code_country="ch" id_tax="2" />
</taxRulesGroup>
@@ -25,6 +25,34 @@
<taxRule iso_code_country="ch" id_tax="3" />
</taxRulesGroup>
</taxes>
<states>
<state name="Aargau (de)" iso_code="CH-AG" country="CH" zone="Europe" tax_behavior="0" />
<state name="Appenzell Ausserrhoden (de)" iso_code="CH-AR" country="CH" zone="Europe" tax_behavior="0" />
<state name="Appenzell Innerrhoden (de)" iso_code="CH-AI" country="CH" zone="Europe" tax_behavior="0" />
<state name="Basel-Landschaft (de)" iso_code="CH-BL" country="CH" zone="Europe" tax_behavior="0" />
<state name="Basel-Stadt (de)" iso_code="CH-BS" country="CH" zone="Europe" tax_behavior="0" />
<state name="Bern (de), Berne (fr)" iso_code="CH-BE" country="CH" zone="Europe" tax_behavior="0" />
<state name="Fribourg (fr), Freiburg (de)" iso_code="CH-FR" country="CH" zone="Europe" tax_behavior="0" />
<state name="Genève (fr)" iso_code="CH-GE" country="CH" zone="Europe" tax_behavior="0" />
<state name="Glarus (de)" iso_code="CH-GL" country="CH" zone="Europe" tax_behavior="0" />
<state name="Graubünden (de)" iso_code="CH-GR" country="CH" zone="Europe" tax_behavior="0" />
<state name="Jura (fr)" iso_code="CH-JU" country="CH" zone="Europe" tax_behavior="0" />
<state name="Luzern (de)" iso_code="CH-LU" country="CH" zone="Europe" tax_behavior="0" />
<state name="Neuchâtel (fr)" iso_code="CH-NE" country="CH" zone="Europe" tax_behavior="0" />
<state name="Nidwalden (de)" iso_code="CH-NW" country="CH" zone="Europe" tax_behavior="0" />
<state name="Obwalden (de)" iso_code="CH-OW" country="CH" zone="Europe" tax_behavior="0" />
<state name="Sankt Gallen (de)" iso_code="CH-SG" country="CH" zone="Europe" tax_behavior="0" />
<state name="Schaffhausen (de)" iso_code="CH-SH" country="CH" zone="Europe" tax_behavior="0" />
<state name="Schwyz (de)" iso_code="CH-SZ" country="CH" zone="Europe" tax_behavior="0" />
<state name="Solothurn (de)" iso_code="CH-SO" country="CH" zone="Europe" tax_behavior="0" />
<state name="Thurgau (de)" iso_code="CH-TG" country="CH" zone="Europe" tax_behavior="0" />
<state name="Ticino (it)" iso_code="CH-TI" country="CH" zone="Europe" tax_behavior="0" />
<state name="Uri (de)" iso_code="CH-UR" country="CH" zone="Europe" tax_behavior="0" />
<state name="Valais (fr), Wallis (de)" iso_code="CH-VS" country="CH" zone="Europe" tax_behavior="0" />
<state name="Vaud (fr)" iso_code="CH-VD" country="CH" zone="Europe" tax_behavior="0" />
<state name="Zug (de)" iso_code="CH-ZG" country="CH" zone="Europe" tax_behavior="0" />
<state name="Zürich (de)" iso_code="CH-ZH" country="CH" zone="Europe" tax_behavior="0" />
</states>
<units>
<unit type="weight" value="kg" />
<unit type="volume" value="L" />

View File

@@ -1,18 +1,36 @@
<?xml version="1.0" encoding="UTF-8" ?>
<localizationPack name="Chile" version="1.0">
<currencies>
<currency name="Peso" iso_code="CLP" iso_code_num="152" sign="$" blank="1" conversion_rate="658.996" format="2" decimals="1" />
<currency name="Peso" iso_code="CLP" iso_code_num="152" sign="$" blank="1" format="2" decimals="1" />
</currencies>
<languages>
<language iso_code="es" />
</languages>
<taxes>
<tax id="1" name="IVA CL 19%" rate="19" />
<taxRulesGroup name="CL Standard Rate (19%)">
<taxRule iso_code_country="cl" id_tax="1" />
</taxRulesGroup>
</taxes>
<states>
<state name="Antofagasta" iso_code="AN" country="CL" zone="South America" />
<state name="Arica y Parinacota" iso_code="AP" country="CL" zone="South America" />
<state name="Atacama" iso_code="AT" country="CL" zone="South America" />
<state name="Aysén" iso_code="AI" country="CL" zone="South America" />
<state name="Biobío" iso_code="BI" country="CL" zone="South America" />
<state name="Coquimbo" iso_code="CO" country="CL" zone="South America" />
<state name="La Araucanía" iso_code="AR" country="CL" zone="South America" />
<state name="Los Lagos" iso_code="LL" country="CL" zone="South America" />
<state name="Los Ríos" iso_code="LR" country="CL" zone="South America" />
<state name="Magallanes" iso_code="MA" country="CL" zone="South America" />
<state name="Maule" iso_code="ML" country="CL" zone="South America" />
<state name="Ñuble" iso_code="NB" country="CL" zone="South America" />
<state name="Metrop. de Santiago" iso_code="RM" country="CL" zone="South America" />
<state name="O'Higgins" iso_code="LI" country="CL" zone="South America" />
<state name="Tarapacá" iso_code="TA" country="CL" zone="South America" />
<state name="Valparaíso" iso_code="VS" country="CL" zone="South America" />
</states>
<units>
<unit type="weight" value="kg" />
<unit type="volume" value="L" />

View File

@@ -1,33 +1,28 @@
<?xml version="1.0" encoding="UTF-8" ?>
<localizationPack name="China" version="1.0">
<currencies>
<currency name="Yuan" iso_code="CNY" iso_code_num="156" sign="¥" blank="1" conversion_rate="9.13916" format="1" decimals="1" />
<currency name="Yuan" iso_code="CNY" iso_code_num="156" sign="¥" blank="1" format="1" decimals="1" />
</currencies>
<languages>
<language iso_code="tw" />
<language iso_code="zh" />
</languages>
<taxes>
<tax id="1" name="增值税 CN 17%" rate="17" />
<tax id="2" name="增值税 CN 13%" rate="13" />
<tax id="3" name="增值税 CN 6%" rate="6" />
<tax id="4" name="增值税 CN 3%" rate="3" />
<taxRulesGroup name="CN Standard Rate (17%)">
<taxRule iso_code_country="cn" id_tax="1" />
</taxRulesGroup>
<taxRulesGroup name="CN Reduced Rate (13%)">
<taxRule iso_code_country="cn" id_tax="2" />
</taxRulesGroup>
<taxRulesGroup name="CN Super Reduced Rate (6%)">
<taxRule iso_code_country="cn" id_tax="3" />
</taxRulesGroup>
<taxRulesGroup name="CN Super Reduced Rate (3%)">
<taxRule iso_code_country="cn" id_tax="4" />
</taxRulesGroup>
<tax id="1" name="增值税 CN 13%" rate="13"/>
<tax id="2" name="增值税 CN 9%" rate="9"/>
<tax id="3" name="增值税 CN 6%" rate="6"/>
<taxRulesGroup name="CN Standard Rate (13%)">
<taxRule iso_code_country="cn" id_tax="1"/>
</taxRulesGroup>
<taxRulesGroup name="CN Standard Rate (9%)">
<taxRule iso_code_country="cn" id_tax="2"/>
</taxRulesGroup>
<taxRulesGroup name="CN Standard Rate (6%)">
<taxRule iso_code_country="cn" id_tax="3"/>
</taxRulesGroup>
</taxes>
<states>
<state name="Beijing" iso_code="11" country="CN" zone="Asia" tax_behavior="0" />

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<localizationPack name="Colombia" version="1.0">
<currencies>
<currency name="Peso" iso_code="COP" iso_code_num="170" sign="$" blank="1" conversion_rate="2923.98" format="2" decimals="1" />
<currency name="Peso" iso_code="COP" iso_code_num="170" sign="$" blank="1" format="2" decimals="1" />
</currencies>
<languages>
<language iso_code="cb" />
@@ -9,10 +9,20 @@
</languages>
<taxes>
<tax id="1" name="IVA CO 19%" rate="19" />
<tax id="2" name="IVA CO 5%" rate="5" />
<tax id="3" name="IVA CO 0%" rate="0" />
<taxRulesGroup name="CO Standard Rate (19%)">
<taxRule iso_code_country="co" id_tax="1" />
</taxRulesGroup>
<taxRulesGroup name="CO Reduced Rate (5%)">
<taxRule iso_code_country="co" id_tax="2" />
</taxRulesGroup>
<taxRulesGroup name="CO Zero Rate (0%)">
<taxRule iso_code_country="co" id_tax="3" />
</taxRulesGroup>
</taxes>
<units>
<unit type="weight" value="kg" />
@@ -25,19 +35,19 @@
<state name="Amazonas" iso_code="AMA" zone="South America" country="CO"/>
<state name="Antioquia" iso_code="ANT" zone="South America" country="CO"/>
<state name="Arauca" iso_code="ARA" zone="South America" country="CO"/>
<state name="Atlantico" iso_code="ATL" zone="South America" country="CO"/>
<state name="Bolivar" iso_code="BOL" zone="South America" country="CO"/>
<state name="Boyaca" iso_code="BOY" zone="South America" country="CO"/>
<state name="Atlántico" iso_code="ATL" zone="South America" country="CO"/>
<state name="Bolívar" iso_code="BOL" zone="South America" country="CO"/>
<state name="Boyacá" iso_code="BOY" zone="South America" country="CO"/>
<state name="Caldas" iso_code="CAL" zone="South America" country="CO"/>
<state name="Caqueta" iso_code="CAQ" zone="South America" country="CO"/>
<state name="Caquetá" iso_code="CAQ" zone="South America" country="CO"/>
<state name="Casanare" iso_code="CAS" zone="South America" country="CO"/>
<state name="Cauca" iso_code="CAU" zone="South America" country="CO"/>
<state name="Cesar" iso_code="CES" zone="South America" country="CO"/>
<state name="Choco" iso_code="CHO" zone="South America" country="CO"/>
<state name="Cordoba" iso_code="COR" zone="South America" country="CO"/>
<state name="Chocó" iso_code="CHO" zone="South America" country="CO"/>
<state name="Córdoba" iso_code="COR" zone="South America" country="CO"/>
<state name="Cundinamarca" iso_code="CUN" zone="South America" country="CO"/>
<state name="Distrito Capital" iso_code="DC" zone="South America" country="CO"/>
<state name="Guainia" iso_code="GUA" zone="South America" country="CO"/>
<state name="Guainía" iso_code="GUA" zone="South America" country="CO"/>
<state name="Guaviare" iso_code="GUV" zone="South America" country="CO"/>
<state name="Huila" iso_code="HUI" zone="South America" country="CO"/>
<state name="La Guajira" iso_code="LAG" zone="South America" country="CO"/>
@@ -46,14 +56,14 @@
<state name="Nariño" iso_code="NAR" zone="South America" country="CO"/>
<state name="Norte de Santander" iso_code="NSA" zone="South America" country="CO"/>
<state name="Putumayo" iso_code="PUT" zone="South America" country="CO"/>
<state name="Quindio" iso_code="QUI" zone="South America" country="CO"/>
<state name="Quindío" iso_code="QUI" zone="South America" country="CO"/>
<state name="Risaralda" iso_code="RIS" zone="South America" country="CO"/>
<state name="San Andres y Providencia" iso_code="SAP" zone="South America" country="CO"/>
<state name="San Andrés y Providencia" iso_code="SAP" zone="South America" country="CO"/>
<state name="Santander" iso_code="SAN" zone="South America" country="CO"/>
<state name="Sucre" iso_code="SUC" zone="South America" country="CO"/>
<state name="Tolima" iso_code="TOL" zone="South America" country="CO"/>
<state name="Valle del Cauca" iso_code="VAC" zone="South America" country="CO"/>
<state name="Vaupes" iso_code="VAU" zone="South America" country="CO"/>
<state name="Vaupés" iso_code="VAU" zone="South America" country="CO"/>
<state name="Vichada" iso_code="VID" zone="South America" country="CO"/>
</states>
</localizationPack>

View File

@@ -1,17 +1,37 @@
<?xml version="1.0" encoding="utf-8"?>
<localizationPack name="Costa Rica" version="1.0">
<currencies>
<currency name="Colón" iso_code="CRC" iso_code_num="188" sign="₡" blank="1" conversion_rate="560" format="1" decimals="1" />
<currency name="Colón" iso_code="CRC" iso_code_num="188" sign="₡" blank="1" format="1" decimals="1" />
</currencies>
<languages>
<language iso_code="es" />
</languages>
<taxes>
<tax id="1" name="I.V. 13%" rate="13" />
<tax id="2" name="I.V. 10%" rate="10" />
<tax id="3" name="I.V. 5%" rate="5" />
<taxRulesGroup name="CR Standard Rate (13%)">
<taxRule iso_code_country="cr" id_tax="1" />
</taxRulesGroup>
<taxRulesGroup name="CR Reduced Rate (10%)">
<taxRule iso_code_country="cr" id_tax="2" />
</taxRulesGroup>
<taxRulesGroup name="CR Super Reduced Rate (5%)">
<taxRule iso_code_country="cr" id_tax="3" />
</taxRulesGroup>
</taxes>
<states>
<state name="Alajuela" iso_code="A" country="CR" zone="Central America/Antilla" />
<state name="Cartago" iso_code="C" country="CR" zone="Central America/Antilla" />
<state name="Guanacaste" iso_code="G" country="CR" zone="Central America/Antilla" />
<state name="Heredia" iso_code="H" country="CR" zone="Central America/Antilla" />
<state name="Limón" iso_code="L" country="CR" zone="Central America/Antilla" />
<state name="Puntarenas" iso_code="P" country="CR" zone="Central America/Antilla" />
<state name="San José" iso_code="SJ" country="CR" zone="Central America/Antilla" />
</states>
<units>
<unit type="weight" value="kg" />
<unit type="volume" value="L" />
@@ -19,13 +39,4 @@
<unit type="base_distance" value="m" />
<unit type="long_distance" value="km" />
</units>
<states>
<state name="San Jose" iso_code="CR-SJ" zone="Central America/Antilla" country="CR"/>
<state name="Alajuela" iso_code="CR-A" zone="Central America/Antilla" country="CR"/>
<state name="Cartago" iso_code="CR-C" zone="Central America/Antilla" country="CR"/>
<state name="Heredia" iso_code="CR-H" zone="Central America/Antilla" country="CR"/>
<state name="Guanacaste" iso_code="CR-G" zone="Central America/Antilla" country="CR"/>
<state name="Puntarenas" iso_code="CR-P" zone="Central America/Antilla" country="CR"/>
<state name="Limon" iso_code="CR-L" zone="Central America/Antilla" country="CR"/>
</states>
</localizationPack>
</localizationPack>

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<localizationPack name="Cyprus" version="1.0">
<currencies>
<currency name="Euro" iso_code="EUR" iso_code_num="978" sign="€" blank="1" conversion_rate="1.00" format="2" decimals="1"/>
<currency name="Euro" iso_code="EUR" iso_code_num="978" sign="€" blank="1" format="2" decimals="1"/>
</currencies>
<languages>
<language iso_code="el"/>
@@ -17,12 +17,12 @@
<tax id="7" name="DPH CZ 21%" rate="21" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="8" name="MwSt. DE 19%" rate="19" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="9" name="moms DK 25%" rate="25" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="10" name="km EE 20%" rate="20" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="10" name="km EE 24%" rate="24" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="11" name="IVA ES 21%" rate="21" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="12" name="ALV FI 24%" rate="24" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="12" name="ALV FI 25.5%" rate="25.5" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="13" name="TVA FR 20%" rate="20" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="14" name="VAT UK 20%" rate="20.0" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="15" name="ΦΠΑ GR 23%" rate="23" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="15" name="ΦΠΑ GR 24%" rate="24" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="16" name="Croatia PDV 25%" rate="25.000" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="17" name="ÁFA HU 27%" rate="27" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="18" name="VAT IE 23%" rate="23" auto-generated="1" from-eu-tax-group="virtual"/>
@@ -30,14 +30,15 @@
<tax id="20" name="PVM LT 21%" rate="21" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="21" name="TVA LU 17%" rate="17" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="22" name="PVN LV 21%" rate="21" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="23" name="VAT MT 18%" rate="18" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="24" name="BTW NL 21%" rate="21" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="25" name="PTU PL 23%" rate="23" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="26" name="IVA PT 23%" rate="23" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="27" name="TVA RO 24%" rate="24" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="28" name="Moms SE 25%" rate="25" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="29" name="DDV SI 22%" rate="22" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="30" name="DPH SK 20%" rate="20" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="23" name="TVA MC 20%" rate="20" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="24" name="VAT MT 18%" rate="18" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="25" name="BTW NL 21%" rate="21" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="26" name="PTU PL 23%" rate="23" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="27" name="IVA PT 23%" rate="23" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="28" name="TVA RO 21%" rate="21" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="29" name="Moms SE 25%" rate="25" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="30" name="DDV SI 22%" rate="22" auto-generated="1" from-eu-tax-group="virtual"/>
<tax id="31" name="DPH SK 23%" rate="23" auto-generated="1" from-eu-tax-group="virtual"/>
<taxRulesGroup name="CY Standard Rate (19%)">
<taxRule iso_code_country="be" id_tax="1"/>
<taxRule iso_code_country="bg" id_tax="1"/>
@@ -46,8 +47,10 @@
<taxRule iso_code_country="de" id_tax="1"/>
<taxRule iso_code_country="ee" id_tax="1"/>
<taxRule iso_code_country="gr" id_tax="1"/>
<taxRule iso_code_country="hr" id_tax="1"/>
<taxRule iso_code_country="es" id_tax="1"/>
<taxRule iso_code_country="fr" id_tax="1"/>
<taxRule iso_code_country="mc" id_tax="1"/>
<taxRule iso_code_country="ie" id_tax="1"/>
<taxRule iso_code_country="it" id_tax="1"/>
<taxRule iso_code_country="cy" id_tax="1"/>
@@ -66,7 +69,6 @@
<taxRule iso_code_country="fi" id_tax="1"/>
<taxRule iso_code_country="se" id_tax="1"/>
<taxRule iso_code_country="gb" id_tax="1"/>
<taxRule iso_code_country="hr" id_tax="1"/>
</taxRulesGroup>
<taxRulesGroup name="CY Reduced Rate (9%)">
<taxRule iso_code_country="be" id_tax="2"/>
@@ -76,8 +78,10 @@
<taxRule iso_code_country="de" id_tax="2"/>
<taxRule iso_code_country="ee" id_tax="2"/>
<taxRule iso_code_country="gr" id_tax="2"/>
<taxRule iso_code_country="hr" id_tax="2"/>
<taxRule iso_code_country="es" id_tax="2"/>
<taxRule iso_code_country="fr" id_tax="2"/>
<taxRule iso_code_country="mc" id_tax="2"/>
<taxRule iso_code_country="ie" id_tax="2"/>
<taxRule iso_code_country="it" id_tax="2"/>
<taxRule iso_code_country="cy" id_tax="2"/>
@@ -96,7 +100,6 @@
<taxRule iso_code_country="fi" id_tax="2"/>
<taxRule iso_code_country="se" id_tax="2"/>
<taxRule iso_code_country="gb" id_tax="2"/>
<taxRule iso_code_country="hr" id_tax="2"/>
</taxRulesGroup>
<taxRulesGroup name="CY Super Reduced Rate (5%)">
<taxRule iso_code_country="be" id_tax="3"/>
@@ -106,8 +109,10 @@
<taxRule iso_code_country="de" id_tax="3"/>
<taxRule iso_code_country="ee" id_tax="3"/>
<taxRule iso_code_country="gr" id_tax="3"/>
<taxRule iso_code_country="hr" id_tax="3"/>
<taxRule iso_code_country="es" id_tax="3"/>
<taxRule iso_code_country="fr" id_tax="3"/>
<taxRule iso_code_country="mc" id_tax="3"/>
<taxRule iso_code_country="ie" id_tax="3"/>
<taxRule iso_code_country="it" id_tax="3"/>
<taxRule iso_code_country="cy" id_tax="3"/>
@@ -126,7 +131,6 @@
<taxRule iso_code_country="fi" id_tax="3"/>
<taxRule iso_code_country="se" id_tax="3"/>
<taxRule iso_code_country="gb" id_tax="3"/>
<taxRule iso_code_country="hr" id_tax="3"/>
</taxRulesGroup>
<taxRulesGroup name="CY Books Rate (5%)">
<taxRule iso_code_country="be" id_tax="3"/>
@@ -136,8 +140,10 @@
<taxRule iso_code_country="de" id_tax="3"/>
<taxRule iso_code_country="ee" id_tax="3"/>
<taxRule iso_code_country="gr" id_tax="3"/>
<taxRule iso_code_country="hr" id_tax="3"/>
<taxRule iso_code_country="es" id_tax="3"/>
<taxRule iso_code_country="fr" id_tax="3"/>
<taxRule iso_code_country="mc" id_tax="3"/>
<taxRule iso_code_country="ie" id_tax="3"/>
<taxRule iso_code_country="it" id_tax="3"/>
<taxRule iso_code_country="cy" id_tax="3"/>
@@ -156,7 +162,6 @@
<taxRule iso_code_country="fi" id_tax="3"/>
<taxRule iso_code_country="se" id_tax="3"/>
<taxRule iso_code_country="gb" id_tax="3"/>
<taxRule iso_code_country="hr" id_tax="3"/>
</taxRulesGroup>
<taxRulesGroup name="EU VAT For Virtual Products" auto-generated="1" eu-tax-group="virtual">
<taxRule iso_code_country="cy" id_tax="1"/>
@@ -179,16 +184,25 @@
<taxRule iso_code_country="lt" id_tax="20"/>
<taxRule iso_code_country="lu" id_tax="21"/>
<taxRule iso_code_country="lv" id_tax="22"/>
<taxRule iso_code_country="mt" id_tax="23"/>
<taxRule iso_code_country="nl" id_tax="24"/>
<taxRule iso_code_country="pl" id_tax="25"/>
<taxRule iso_code_country="pt" id_tax="26"/>
<taxRule iso_code_country="ro" id_tax="27"/>
<taxRule iso_code_country="se" id_tax="28"/>
<taxRule iso_code_country="si" id_tax="29"/>
<taxRule iso_code_country="sk" id_tax="30"/>
<taxRule iso_code_country="mc" id_tax="23"/>
<taxRule iso_code_country="mt" id_tax="24"/>
<taxRule iso_code_country="nl" id_tax="25"/>
<taxRule iso_code_country="pl" id_tax="26"/>
<taxRule iso_code_country="pt" id_tax="27"/>
<taxRule iso_code_country="ro" id_tax="28"/>
<taxRule iso_code_country="se" id_tax="29"/>
<taxRule iso_code_country="si" id_tax="30"/>
<taxRule iso_code_country="sk" id_tax="31"/>
</taxRulesGroup>
</taxes>
<states>
<state name="Ammochostos (Mağusa)" iso_code="04" country="CY" zone="Europe" />
<state name="Keryneia (Girne)" iso_code="06" country="CY" zone="Europe" />
<state name="Larnaka (Larnaka)" iso_code="03" country="CY" zone="Europe" />
<state name="Lefkosia (Lefkoşa)" iso_code="01" country="CY" zone="Europe" />
<state name="Lemesos (Leymasun)" iso_code="02" country="CY" zone="Europe" />
<state name="Pafos (Baf)" iso_code="05" country="CY" zone="Europe" />
</states>
<units>
<unit type="weight" value="kg"/>
<unit type="volume" value="L"/>

Some files were not shown because too many files have changed in this diff Show More