diff --git a/composer.lock b/composer.lock index 05629b20..ef8e872f 100644 --- a/composer.lock +++ b/composer.lock @@ -465,26 +465,29 @@ }, { "name": "doctrine/deprecations", - "version": "1.1.4", + "version": "1.1.5", "source": { "type": "git", "url": "https://github.com/doctrine/deprecations.git", - "reference": "31610dbb31faa98e6b5447b62340826f54fbc4e9" + "reference": "459c2f5dd3d6a4633d3b5f46ee2b1c40f57d3f38" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/deprecations/zipball/31610dbb31faa98e6b5447b62340826f54fbc4e9", - "reference": "31610dbb31faa98e6b5447b62340826f54fbc4e9", + "url": "https://api.github.com/repos/doctrine/deprecations/zipball/459c2f5dd3d6a4633d3b5f46ee2b1c40f57d3f38", + "reference": "459c2f5dd3d6a4633d3b5f46ee2b1c40f57d3f38", "shasum": "" }, "require": { "php": "^7.1 || ^8.0" }, + "conflict": { + "phpunit/phpunit": "<=7.5 || >=13" + }, "require-dev": { - "doctrine/coding-standard": "^9 || ^12", - "phpstan/phpstan": "1.4.10 || 2.0.3", + "doctrine/coding-standard": "^9 || ^12 || ^13", + "phpstan/phpstan": "1.4.10 || 2.1.11", "phpstan/phpstan-phpunit": "^1.0 || ^2", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.6 || ^10.5 || ^11.5 || ^12", "psr/log": "^1 || ^2 || ^3" }, "suggest": { @@ -504,9 +507,9 @@ "homepage": "https://www.doctrine-project.org/", "support": { "issues": "https://github.com/doctrine/deprecations/issues", - "source": "https://github.com/doctrine/deprecations/tree/1.1.4" + "source": "https://github.com/doctrine/deprecations/tree/1.1.5" }, - "time": "2024-12-07T21:18:45+00:00" + "time": "2025-04-07T20:06:18+00:00" }, { "name": "doctrine/event-manager", @@ -2161,16 +2164,16 @@ }, { "name": "phpdocumentor/reflection-docblock", - "version": "5.6.1", + "version": "5.6.2", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "e5e784149a09bd69d9a5e3b01c5cbd2e2bd653d8" + "reference": "92dde6a5919e34835c506ac8c523ef095a95ed62" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/e5e784149a09bd69d9a5e3b01c5cbd2e2bd653d8", - "reference": "e5e784149a09bd69d9a5e3b01c5cbd2e2bd653d8", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/92dde6a5919e34835c506ac8c523ef095a95ed62", + "reference": "92dde6a5919e34835c506ac8c523ef095a95ed62", "shasum": "" }, "require": { @@ -2219,9 +2222,9 @@ "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", "support": { "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", - "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.6.1" + "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.6.2" }, - "time": "2024-12-07T09:39:29+00:00" + "time": "2025-04-13T19:20:35+00:00" }, { "name": "phpdocumentor/type-resolver", @@ -4487,7 +4490,7 @@ }, { "name": "symfony/polyfill-ctype", - "version": "v1.31.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", @@ -4546,7 +4549,7 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.32.0" }, "funding": [ { @@ -4566,7 +4569,7 @@ }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.31.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", @@ -4624,7 +4627,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.32.0" }, "funding": [ { @@ -4644,16 +4647,16 @@ }, { "name": "symfony/polyfill-intl-icu", - "version": "v1.31.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-icu.git", - "reference": "d80a05e9904d2c2b9b95929f3e4b5d3a8f418d78" + "reference": "763d2a91fea5681509ca01acbc1c5e450d127811" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/d80a05e9904d2c2b9b95929f3e4b5d3a8f418d78", - "reference": "d80a05e9904d2c2b9b95929f3e4b5d3a8f418d78", + "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/763d2a91fea5681509ca01acbc1c5e450d127811", + "reference": "763d2a91fea5681509ca01acbc1c5e450d127811", "shasum": "" }, "require": { @@ -4708,7 +4711,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.32.0" }, "funding": [ { @@ -4724,20 +4727,20 @@ "type": "tidelift" } ], - "time": "2024-09-09T11:45:10+00:00" + "time": "2024-12-21T18:38:29+00:00" }, { "name": "symfony/polyfill-intl-idn", - "version": "v1.31.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "c36586dcf89a12315939e00ec9b4474adcb1d773" + "reference": "9614ac4d8061dc257ecc64cba1b140873dce8ad3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/c36586dcf89a12315939e00ec9b4474adcb1d773", - "reference": "c36586dcf89a12315939e00ec9b4474adcb1d773", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/9614ac4d8061dc257ecc64cba1b140873dce8ad3", + "reference": "9614ac4d8061dc257ecc64cba1b140873dce8ad3", "shasum": "" }, "require": { @@ -4791,7 +4794,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.32.0" }, "funding": [ { @@ -4807,11 +4810,11 @@ "type": "tidelift" } ], - "time": "2024-09-09T11:45:10+00:00" + "time": "2024-09-10T14:38:51+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.31.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", @@ -4872,7 +4875,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.32.0" }, "funding": [ { @@ -4892,19 +4895,20 @@ }, { "name": "symfony/polyfill-mbstring", - "version": "v1.31.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341" + "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/85181ba99b2345b0ef10ce42ecac37612d9fd341", - "reference": "85181ba99b2345b0ef10ce42ecac37612d9fd341", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/6d857f4d76bd4b343eac26d6b539585d2bc56493", + "reference": "6d857f4d76bd4b343eac26d6b539585d2bc56493", "shasum": "" }, "require": { + "ext-iconv": "*", "php": ">=7.2" }, "provide": { @@ -4952,7 +4956,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.32.0" }, "funding": [ { @@ -4968,7 +4972,7 @@ "type": "tidelift" } ], - "time": "2024-09-09T11:45:10+00:00" + "time": "2024-12-23T08:48:59+00:00" }, { "name": "symfony/polyfill-php72", @@ -5037,7 +5041,7 @@ }, { "name": "symfony/polyfill-php73", - "version": "v1.31.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php73.git", @@ -5093,7 +5097,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php73/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-php73/tree/v1.32.0" }, "funding": [ { @@ -5113,16 +5117,16 @@ }, { "name": "symfony/polyfill-php80", - "version": "v1.31.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8" + "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/60328e362d4c2c802a54fcbf04f9d3fb892b4cf8", - "reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/0cc9dd0f17f61d8131e7df6b84bd344899fe2608", + "reference": "0cc9dd0f17f61d8131e7df6b84bd344899fe2608", "shasum": "" }, "require": { @@ -5173,7 +5177,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.32.0" }, "funding": [ { @@ -5189,11 +5193,11 @@ "type": "tidelift" } ], - "time": "2024-09-09T11:45:10+00:00" + "time": "2025-01-02T08:10:11+00:00" }, { "name": "symfony/polyfill-php81", - "version": "v1.31.0", + "version": "v1.32.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php81.git", @@ -5249,7 +5253,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php81/tree/v1.31.0" + "source": "https://github.com/symfony/polyfill-php81/tree/v1.32.0" }, "funding": [ { diff --git a/public/typo3conf/ext/ep_products/Classes/Controller/GroupsPriceController.php b/public/typo3conf/ext/ep_products/Classes/Controller/GroupsPriceController.php index b2ee2d24..e68a4fca 100644 --- a/public/typo3conf/ext/ep_products/Classes/Controller/GroupsPriceController.php +++ b/public/typo3conf/ext/ep_products/Classes/Controller/GroupsPriceController.php @@ -52,10 +52,10 @@ class GroupsPriceController extends ActionController $this->view->assign('hotel', $hotel); $this->view->assign('runningCostsEUR', $this->settings['runningCostsEUR']); $this->view->assign('runningCostsCHF', $this->settings['runningCostsCHF']); - $this->view->assign('undersubscriptionEUR', $this->settings['undersubscriptionEUR']); - $this->view->assign('undersubscriptionCHF', $this->settings['undersubscriptionCHF']); - $this->view->assign('undersubscriptionExtEUR', $this->settings['undersubscriptionExtEUR']); - $this->view->assign('undersubscriptionExtCHF', $this->settings['undersubscriptionExtCHF']); + $this->view->assign('undersubscription30EUR', $this->settings['undersubscription30EUR']); + $this->view->assign('undersubscription30CHF', $this->settings['undersubscription30CHF']); + $this->view->assign('undersubscription40EUR', $this->settings['undersubscription40EUR']); + $this->view->assign('undersubscription40CHF', $this->settings['undersubscription40CHF']); $this->view->assign('countryCode', $hotel->getCountry()->getCode()); $this->view->assign('configs', json_encode(array_values($configs), JSON_HEX_APOS)); $this->view->assign('boards', json_encode($hotel->getGroupsPriceBoards()->toArray(), JSON_HEX_APOS)); diff --git a/public/typo3conf/ext/ep_products/Classes/Controller/TravelinfoController.php b/public/typo3conf/ext/ep_products/Classes/Controller/TravelinfoController.php index 582f3866..a3279963 100644 --- a/public/typo3conf/ext/ep_products/Classes/Controller/TravelinfoController.php +++ b/public/typo3conf/ext/ep_products/Classes/Controller/TravelinfoController.php @@ -5,7 +5,6 @@ namespace EP\EpProducts\Controller; use EP\EpProducts\Domain\Model\Date; use EP\EpProducts\Domain\Model\Travelinfo; use EP\EpProducts\Domain\Repository\DateRepository; -use EP\EpProducts\Domain\Repository\ProductRepository; use EP\EpProducts\Domain\Repository\TravelinfoRepository; use TYPO3\CMS\Core\Http\ImmediateResponseException; use TYPO3\CMS\Core\Utility\GeneralUtility; @@ -24,19 +23,12 @@ class TravelinfoController extends ActionController */ private $travelinfoRepository; - /** - * @var ProductRepository - */ - private $productRepository; - public function __construct( DateRepository $dateRepository, - TravelinfoRepository $travelinfoRepository, - ProductRepository $productRepository + TravelinfoRepository $travelinfoRepository ) { $this->dateRepository = $dateRepository; $this->travelinfoRepository = $travelinfoRepository; - $this->productRepository = $productRepository; } public function travelCodeAction(string $travelCode) diff --git a/public/typo3conf/ext/ep_products/Classes/Domain/Model/Dto/GroupsPriceInquiry.php b/public/typo3conf/ext/ep_products/Classes/Domain/Model/Dto/GroupsPriceInquiry.php index 99bbfdb7..224f077c 100644 --- a/public/typo3conf/ext/ep_products/Classes/Domain/Model/Dto/GroupsPriceInquiry.php +++ b/public/typo3conf/ext/ep_products/Classes/Domain/Model/Dto/GroupsPriceInquiry.php @@ -97,6 +97,11 @@ class GroupsPriceInquiry */ protected $pax; + /** + * @var string + */ + protected $children; + /** * @var array */ @@ -297,6 +302,22 @@ class GroupsPriceInquiry $this->pax = $pax; } + /** + * @return string + */ + public function getChildren() + { + return $this->children; + } + + /** + * @param string $pax + */ + public function setChildren($children) + { + $this->children = $children; + } + /** * @return array */ diff --git a/public/typo3conf/ext/ep_products/Classes/Domain/Repository/ProductRepository.php b/public/typo3conf/ext/ep_products/Classes/Domain/Repository/ProductRepository.php index 3753dfa4..9cfd8df9 100644 --- a/public/typo3conf/ext/ep_products/Classes/Domain/Repository/ProductRepository.php +++ b/public/typo3conf/ext/ep_products/Classes/Domain/Repository/ProductRepository.php @@ -191,7 +191,7 @@ class ProductRepository extends AbstractRepository ; } - public function getPricetable(Product $product, Hotel $hotel, array $filterSettings, Date $date = null, bool $sortByRoom = true): array + public function getPricetable(Product $product, Hotel $hotel, array $filterSettings, Date $date = null): array { $qb = $this->getDbConnection()->createQueryBuilder(); @@ -207,18 +207,11 @@ class ProductRepository extends AbstractRepository ) ->from('tx_epproducts_domain_model_date', 'date') ->innerJoin('date', 'tx_epproducts_domain_model_room', 'room', 'date.uid = room.date') - ->orderBy('room.available', 'DESC') + ->orderBy('room.pax', 'ASC') + ->addOrderBy('room.price', 'ASC') + ->addOrderBy('room.available', 'DESC') ; - if (true === $sortByRoom) { - $qb->addOrderBy('room.name', 'ASC'); - } else { - $qb - ->addOrderBy('room.pax', 'ASC') - ->addOrderBy('room.price', 'ASC') - ; - } - $qb ->where('date.date_start >= NOW()') ->andWhere($qb->expr()->eq( diff --git a/public/typo3conf/ext/ep_products/Classes/Service/DateService.php b/public/typo3conf/ext/ep_products/Classes/Service/DateService.php index 03661b1a..c8d90af7 100644 --- a/public/typo3conf/ext/ep_products/Classes/Service/DateService.php +++ b/public/typo3conf/ext/ep_products/Classes/Service/DateService.php @@ -109,7 +109,6 @@ class DateService implements SingletonInterface $date = $resolvedOptions['date']; $template = $resolvedOptions['template']; $paCode = $resolvedOptions['paCode']; - $sortByRoom = $resolvedOptions['sortByRoom']; if ($filterSettings === null) { $filterSettings = $this->filterService->getNormalizedFilterSettings(); @@ -118,7 +117,7 @@ class DateService implements SingletonInterface $nonBookableDateUids = GeneralUtility::trimExplode(',', $product->getNonBookableDates(), true); return $this->preprocessPriceTable([ - 'priceTableData' => $this->productRepository->getPricetable($product, $hotel, $filterSettings, $date, $sortByRoom), + 'priceTableData' => $this->productRepository->getPricetable($product, $hotel, $filterSettings, $date), 'template' => $template, 'paCode' => $paCode, 'isDayTrip' => $product->isDaytrip(), @@ -188,7 +187,11 @@ class DateService implements SingletonInterface $resolver->setDefault('isDayTrip', false); $resolver->setDefault('showBookingButton', true); $resolvedOptions = $resolver->resolve($options); - $priceTable = []; + + $priceTable = [ + 'available' => [], + 'unavailable' => [], + ]; $priceTableData = $resolvedOptions['priceTableData']; $template = $resolvedOptions['template']; @@ -210,7 +213,10 @@ class DateService implements SingletonInterface 'isDayTrip' => $isDayTrip, ]); $optionalServices = $this->preprocessOptionalServices(unserialize($row['roomOptionalServices'], ['allowed_classes' => false])); - $priceTable[] = [ + + $key = $row['roomAvailable'] && $row['roomPrice'] ? 'available' : 'unavailable'; + + $priceTable[$key][] = [ 'dateStart' => $dateStart->format('d.m.Y'), 'dateEnd' => $dateEnd->format('d.m.Y'), 'season' => $row['season'], diff --git a/public/typo3conf/ext/ep_products/Classes/Service/SearchResultService.php b/public/typo3conf/ext/ep_products/Classes/Service/SearchResultService.php index 0045a31c..7aeddda3 100644 --- a/public/typo3conf/ext/ep_products/Classes/Service/SearchResultService.php +++ b/public/typo3conf/ext/ep_products/Classes/Service/SearchResultService.php @@ -69,7 +69,7 @@ class SearchResultService implements SingletonInterface 'destinationUid' => null, 'destinationType' => null, 'nights' => null, - 'pax' => 1, + 'pax' => 0, 'pageUid' => null, ]); diff --git a/public/typo3conf/ext/ep_products/Configuration/FlexForms/flexform_groups_price_calculator.xml b/public/typo3conf/ext/ep_products/Configuration/FlexForms/flexform_groups_price_calculator.xml index 49aed66c..f8c607c3 100644 --- a/public/typo3conf/ext/ep_products/Configuration/FlexForms/flexform_groups_price_calculator.xml +++ b/public/typo3conf/ext/ep_products/Configuration/FlexForms/flexform_groups_price_calculator.xml @@ -32,7 +32,7 @@ - + 0 @@ -42,8 +42,8 @@ double2,required - - + + 0 @@ -53,8 +53,8 @@ double2,required - - + + 0 @@ -64,8 +64,8 @@ double2,required - - + + 0 @@ -75,7 +75,7 @@ double2,required - + diff --git a/public/typo3conf/ext/ep_theme/Classes/ViewHelpers/IconViewHelper.php b/public/typo3conf/ext/ep_theme/Classes/ViewHelpers/IconViewHelper.php index 8e2a8826..0bcb8ae5 100644 --- a/public/typo3conf/ext/ep_theme/Classes/ViewHelpers/IconViewHelper.php +++ b/public/typo3conf/ext/ep_theme/Classes/ViewHelpers/IconViewHelper.php @@ -29,6 +29,7 @@ class IconViewHelper extends AbstractTagBasedViewHelper $content = sprintf('', $imageUrl, $this->arguments['icon']); $this->tag->setContent($content); + $this->tag->addAttributes(['aria-hidden' => 'true']); return $this->tag->render(); } diff --git a/public/typo3conf/ext/ep_theme/Classes/ViewHelpers/LazyLoadImageViewHelper.php b/public/typo3conf/ext/ep_theme/Classes/ViewHelpers/LazyLoadImageViewHelper.php index b769a935..35cadc37 100644 --- a/public/typo3conf/ext/ep_theme/Classes/ViewHelpers/LazyLoadImageViewHelper.php +++ b/public/typo3conf/ext/ep_theme/Classes/ViewHelpers/LazyLoadImageViewHelper.php @@ -41,6 +41,8 @@ class LazyLoadImageViewHelper extends ImageViewHelper $classItems[] = 'lazyload'; $classes = implode(' ', array_unique($classItems)); $this->tag->addAttribute('class', $classes); + // ensure a11y compliance + $this->tag->removeAttribute('title'); return $this->tag->render(); } diff --git a/public/typo3conf/ext/ep_theme/Configuration/TypoScript/setup.typoscript b/public/typo3conf/ext/ep_theme/Configuration/TypoScript/setup.typoscript index e37c7390..e837ea5e 100644 --- a/public/typo3conf/ext/ep_theme/Configuration/TypoScript/setup.typoscript +++ b/public/typo3conf/ext/ep_theme/Configuration/TypoScript/setup.typoscript @@ -38,7 +38,6 @@ plugin.tx_eptheme { defaultDetailPageUid = {$plugin.tx_epproducts.settings.defaultDetailPageUid} coronaUpdatesPageUid = {$plugin.tx_eptheme.settings.coronaUpdatesPageUid} logoImage = {$plugin.tx_eptheme.settings.logoImage} - defaultTitle < sitetitle forceActiveTopnavUid = {$plugin.tx_eptheme.settings.forceActiveTopnavUid} eventDateDayFrom = {$plugin.tx_eptheme.settings.eventDateDayFrom} eventDateDayTo = {$plugin.tx_eptheme.settings.eventDateDayTo} diff --git a/public/typo3conf/ext/ep_theme/Resources/Private/Assets/images/icons_sprite.svg b/public/typo3conf/ext/ep_theme/Resources/Private/Assets/images/icons_sprite.svg index 2c26f670..3547da80 100644 --- a/public/typo3conf/ext/ep_theme/Resources/Private/Assets/images/icons_sprite.svg +++ b/public/typo3conf/ext/ep_theme/Resources/Private/Assets/images/icons_sprite.svg @@ -1,4 +1,4 @@ - +
- - -

- Bitte zuerst einen Zeitraum wählen -

+
+ + +

+ Bitte zuerst einen Zeitraum wählen +

+
+
+ + +

+ Kinder werden nur bei Strom- und Abfallgebühren berücksichtigt +

+
@@ -68,10 +85,18 @@
+
+

+ Vielen Dank für Deine {{ mode === 'booking' ? 'Buchung' : 'Anfrage' }}. +

+

+ Für folgendes habt ihr euch entschieden: +

+
Preise
-
+
@@ -95,7 +120,7 @@ - + @@ -114,8 +139,10 @@ - @@ -125,6 +152,15 @@ Bitte zuerst einen Zeitraum wählen

+
+ Bitte beachtet, dass die Buchung bei uns eingegangen, aber noch nicht bestätigt ist. + Wir behalten uns vor, die Buchungen auf Verfügbarkeit und Länge des gewünschten Aufenthalts zu prüfen. + Erst wenn wir euch die Buchung per Mail bestätigt haben, wird sie bindend. +
+
+ Die Anfrage ist bei uns eingegangen und wird schnellstmöglich bearbeitet. Wir melden uns telefonisch + oder per Mail bei euch. +
@@ -235,9 +271,6 @@
-
- Vielen Dank für Deine {{ mode === 'booking' ? 'Buchung' : 'Anfrage' }}. Wir werden diese schnellstmöglich bearbeiten. -
@@ -292,19 +325,19 @@ export default { type: Number, default: 2.9, }, - undersubscriptionEur: { + undersubscription30Eur: { type: Number, default: 5.0, }, - undersubscriptionChf: { + undersubscription30Chf: { type: Number, default: 5.0, }, - undersubscriptionExtEur: { + undersubscription40Eur: { type: Number, default: 2.5, }, - undersubscriptionExtChf: { + undersubscription40Chf: { type: Number, default: 2.5, }, @@ -348,6 +381,7 @@ export default { selectedTo: null, selectedRange: [], selectedPax: 30, + childrenCount: 0, selectedOptions: [], selectedBoard: null, name: null, @@ -380,6 +414,28 @@ export default { return price }, + calculateOptionPrice(option) { + let price = { + EUR: 0, + CHF: 0, + }; + let optionPriceEUR = option.price.EUR + let optionPriceCHF = option.price.CHF + if (1 === option.type) { + price.EUR = optionPriceEUR; + price.CHF = optionPriceCHF; + } else if (2 === option.type) { + price.EUR = optionPriceEUR * this.paxCount; + price.CHF = optionPriceCHF * this.paxCount; + } else if (3 === option.type) { + price.EUR = optionPriceEUR * this.nightsCount; + price.CHF = optionPriceCHF * this.nightsCount; + } else if (4 === option.type) { + price.EUR = optionPriceEUR * this.nightsCount * this.paxCount; + price.CHF = optionPriceCHF * this.nightsCount * this.paxCount; + } + return price; + }, formatOptionPriceType(option) { if (2 === option.type) { return ` (${this.formatCurrency(option.price)} pro Person)` @@ -438,6 +494,7 @@ export default { 'tx_epproducts_ajax[groupsPriceInquiry][dateFrom]': this.selectedFrom.format('DD.MM.YYYY'), 'tx_epproducts_ajax[groupsPriceInquiry][dateTo]': this.selectedTo.format('DD.MM.YYYY'), 'tx_epproducts_ajax[groupsPriceInquiry][pax]': this.selectedPax, + 'tx_epproducts_ajax[groupsPriceInquiry][children]': this.childrenCount, 'tx_epproducts_ajax[groupsPriceInquiry][summary][paxBase]': this.formatCurrency(this.pricePax.base), 'tx_epproducts_ajax[groupsPriceInquiry][summary][paxAdditional]': this.formatCurrency(this.pricePax.additional), 'tx_epproducts_ajax[groupsPriceInquiry][summary][undersubscription]': this.formatCurrency(this.pricePax.undersubscription), @@ -474,6 +531,10 @@ export default { }, }, computed: { + paxCount() { + // subtract number of children from pax for price calculation, but minimum 30 pax + return Math.max(this.selectedPax - this.childrenCount, 30) + }, nightsCount() { return this.selectedRange.length; }, @@ -506,7 +567,7 @@ export default { base.EUR += config.price.EUR base.CHF += config.price.CHF let included = config.personsIncluded - let additionalPax = this.selectedPax - included + let additionalPax = this.paxCount - included if (this.selectedPax > included) { additional.EUR += additionalPax * config.priceAdditionalPerson.EUR additional.CHF += additionalPax * config.priceAdditionalPerson.CHF @@ -514,12 +575,12 @@ export default { } } } - if (this.selectedBoard && this.selectedPax < 40) { - undersubscription.EUR = this.selectedPax * this.undersubscriptionEur * this.selectedRange.length - undersubscription.CHF = this.selectedPax * this.undersubscriptionChf * this.selectedRange.length - } else if (this.selectedBoard && this.selectedPax < 50) { - undersubscription.EUR = this.selectedPax * this.undersubscriptionExtEur * this.selectedRange.length - undersubscription.CHF = this.selectedPax * this.undersubscriptionExtChf * this.selectedRange.length + if (this.selectedBoard && this.paxCount < 40) { + undersubscription.EUR = this.paxCount * this.undersubscription30Eur * this.selectedRange.length + undersubscription.CHF = this.paxCount * this.undersubscription30Chf * this.selectedRange.length + } else if (this.selectedBoard && this.paxCount < 50) { + undersubscription.EUR = this.paxCount * this.undersubscription40Eur * this.selectedRange.length + undersubscription.CHF = this.paxCount * this.undersubscription40Chf * this.selectedRange.length } return {base, additional, undersubscription} @@ -530,21 +591,9 @@ export default { CHF: 0, }; for (let option of this.selectedOptions) { - let optionPriceEUR = option.price.EUR - let optionPriceCHF = option.price.CHF - if (1 === option.type) { - price.EUR += optionPriceEUR; - price.CHF += optionPriceCHF; - } else if (2 === option.type) { - price.EUR += optionPriceEUR * this.selectedPax; - price.CHF += optionPriceCHF * this.selectedPax; - } else if (3 === option.type) { - price.EUR += optionPriceEUR * this.nightsCount; - price.CHF += optionPriceCHF * this.nightsCount; - } else if (4 === option.type) { - price.EUR += optionPriceEUR * this.nightsCount * this.selectedPax; - price.CHF += optionPriceCHF * this.nightsCount * this.selectedPax; - } + let optionPrice = this.calculateOptionPrice(option) + price.EUR += optionPrice.EUR; + price.CHF += optionPrice.CHF; } return price; }, @@ -554,8 +603,8 @@ export default { CHF: 0, } if (this.selectedBoard) { - price.EUR = this.selectedBoard.price.EUR * this.nightsCount * this.selectedPax; - price.CHF = this.selectedBoard.price.CHF * this.nightsCount * this.selectedPax; + price.EUR = this.selectedBoard.price.EUR * this.nightsCount * this.paxCount; + price.CHF = this.selectedBoard.price.CHF * this.nightsCount * this.paxCount; } return price }, diff --git a/public/typo3conf/ext/ep_theme/Resources/Private/Assets/scss/base/_typography.scss b/public/typo3conf/ext/ep_theme/Resources/Private/Assets/scss/base/_typography.scss index 9b6eb52d..323f077e 100644 --- a/public/typo3conf/ext/ep_theme/Resources/Private/Assets/scss/base/_typography.scss +++ b/public/typo3conf/ext/ep_theme/Resources/Private/Assets/scss/base/_typography.scss @@ -25,7 +25,7 @@ h4, } .subline { - @apply block text-xs md:text-sm font-normal leading-6 opacity-60; + @apply block text-sm md:text-base font-normal leading-6; } // Lists diff --git a/public/typo3conf/ext/ep_theme/Resources/Private/Forms/ContactForm.form.yaml b/public/typo3conf/ext/ep_theme/Resources/Private/Forms/ContactForm.form.yaml index a9394c68..3a0ec95b 100644 --- a/public/typo3conf/ext/ep_theme/Resources/Private/Forms/ContactForm.form.yaml +++ b/public/typo3conf/ext/ep_theme/Resources/Private/Forms/ContactForm.form.yaml @@ -121,6 +121,11 @@ renderables: type: Textarea identifier: message label: 'Deine Kontaktanfrage' + - + defaultValue: '' + type: Text + identifier: bookingNumber + label: 'Buchungsnummer (falls vorhanden)' - type: LinkedCheckbox identifier: privacypolicyaccepted diff --git a/public/typo3conf/ext/ep_theme/Resources/Private/Layouts/Page/Detail.html b/public/typo3conf/ext/ep_theme/Resources/Private/Layouts/Page/Detail.html index ac0416cb..4740ca8a 100644 --- a/public/typo3conf/ext/ep_theme/Resources/Private/Layouts/Page/Detail.html +++ b/public/typo3conf/ext/ep_theme/Resources/Private/Layouts/Page/Detail.html @@ -4,14 +4,20 @@ + - - - - - - - +
+ + +
+
+ +
+ diff --git a/public/typo3conf/ext/ep_theme/Resources/Private/Layouts/Page/Frontpage.html b/public/typo3conf/ext/ep_theme/Resources/Private/Layouts/Page/Frontpage.html index ce4df0b2..00c71adb 100644 --- a/public/typo3conf/ext/ep_theme/Resources/Private/Layouts/Page/Frontpage.html +++ b/public/typo3conf/ext/ep_theme/Resources/Private/Layouts/Page/Frontpage.html @@ -2,22 +2,30 @@ xmlns="http://www.w3.org/1999/xhtml" xmlns:f="http://typo3.org/ns/fluid/ViewHelpers"> - - - - - - - - - - - - - - - - + +
+ +
+
+ + + + + + +
+
+ +
+ diff --git a/public/typo3conf/ext/ep_theme/Resources/Private/Layouts/Page/FrontpageEvent.html b/public/typo3conf/ext/ep_theme/Resources/Private/Layouts/Page/FrontpageEvent.html index 0f32426d..4fec6d4b 100644 --- a/public/typo3conf/ext/ep_theme/Resources/Private/Layouts/Page/FrontpageEvent.html +++ b/public/typo3conf/ext/ep_theme/Resources/Private/Layouts/Page/FrontpageEvent.html @@ -3,12 +3,20 @@ xmlns:f="http://typo3.org/ns/fluid/ViewHelpers"> - - - - - - - +
+ + +
+
+ +
+
+ +
+ diff --git a/public/typo3conf/ext/ep_theme/Resources/Private/Layouts/Page/Subpage.html b/public/typo3conf/ext/ep_theme/Resources/Private/Layouts/Page/Subpage.html index 9b04e84f..21358bcc 100644 --- a/public/typo3conf/ext/ep_theme/Resources/Private/Layouts/Page/Subpage.html +++ b/public/typo3conf/ext/ep_theme/Resources/Private/Layouts/Page/Subpage.html @@ -3,16 +3,22 @@ xmlns:f="http://typo3.org/ns/fluid/ViewHelpers"> - - - - - - - - - - +
+ + + + + + +
+
+ + + +
+
+ +
diff --git a/public/typo3conf/ext/ep_theme/Resources/Private/Layouts/Page/SubpageSidebarLeft.html b/public/typo3conf/ext/ep_theme/Resources/Private/Layouts/Page/SubpageSidebarLeft.html index 8fed5a6b..289af2e3 100644 --- a/public/typo3conf/ext/ep_theme/Resources/Private/Layouts/Page/SubpageSidebarLeft.html +++ b/public/typo3conf/ext/ep_theme/Resources/Private/Layouts/Page/SubpageSidebarLeft.html @@ -3,24 +3,30 @@ xmlns:f="http://typo3.org/ns/fluid/ViewHelpers"> - - - - - - - - -
-
- +
+ + + + + + +
+
+ + +
+
+ +
+
+ +
-
- -
-
- - + + +
+ +
diff --git a/public/typo3conf/ext/ep_theme/Resources/Private/Layouts/Page/SubpageSidebarLeftEvent.html b/public/typo3conf/ext/ep_theme/Resources/Private/Layouts/Page/SubpageSidebarLeftEvent.html index 2561d283..d40e21d9 100644 --- a/public/typo3conf/ext/ep_theme/Resources/Private/Layouts/Page/SubpageSidebarLeftEvent.html +++ b/public/typo3conf/ext/ep_theme/Resources/Private/Layouts/Page/SubpageSidebarLeftEvent.html @@ -3,19 +3,25 @@ xmlns:f="http://typo3.org/ns/fluid/ViewHelpers"> - - - -
-
- +
+ +
+
+ + +
+
+ +
+
+ +
-
- -
-
- - + + +
+ +
diff --git a/public/typo3conf/ext/ep_theme/Resources/Private/Layouts/Page/SubpageSidebarRight.html b/public/typo3conf/ext/ep_theme/Resources/Private/Layouts/Page/SubpageSidebarRight.html index 4c50d5d7..107dbcd1 100644 --- a/public/typo3conf/ext/ep_theme/Resources/Private/Layouts/Page/SubpageSidebarRight.html +++ b/public/typo3conf/ext/ep_theme/Resources/Private/Layouts/Page/SubpageSidebarRight.html @@ -3,24 +3,30 @@ xmlns:f="http://typo3.org/ns/fluid/ViewHelpers"> - - - - - - - - -
-
- +
+ + + + + + +
+
+ + +
+
+ +
+
+ +
-
- -
-
- - + + +
+ +
diff --git a/public/typo3conf/ext/ep_theme/Resources/Private/Layouts/Page/SubpageSidebarRightEvent.html b/public/typo3conf/ext/ep_theme/Resources/Private/Layouts/Page/SubpageSidebarRightEvent.html index 56266e55..1a9c3fdb 100644 --- a/public/typo3conf/ext/ep_theme/Resources/Private/Layouts/Page/SubpageSidebarRightEvent.html +++ b/public/typo3conf/ext/ep_theme/Resources/Private/Layouts/Page/SubpageSidebarRightEvent.html @@ -3,19 +3,25 @@ xmlns:f="http://typo3.org/ns/fluid/ViewHelpers"> - - - -
-
- +
+ + +
+
+ +
+
+ +
+
+ +
-
- -
-
- - + + +
+ +
diff --git a/public/typo3conf/ext/ep_theme/Resources/Private/Layouts/Page/Travelinfo.html b/public/typo3conf/ext/ep_theme/Resources/Private/Layouts/Page/Travelinfo.html index c10e89b5..8c19737a 100644 --- a/public/typo3conf/ext/ep_theme/Resources/Private/Layouts/Page/Travelinfo.html +++ b/public/typo3conf/ext/ep_theme/Resources/Private/Layouts/Page/Travelinfo.html @@ -3,13 +3,13 @@ xmlns:ep="http://typo3.org/ns/EP/EpTheme/ViewHelpers" xmlns:f="http://typo3.org/ns/fluid/ViewHelpers"> -
+
- + + alt="Logo"/> Login
My E&P
-
- - + +
+ +
+
+ +
diff --git a/public/typo3conf/ext/ep_theme/Resources/Private/Partials/City/Teaser.html b/public/typo3conf/ext/ep_theme/Resources/Private/Partials/City/Teaser.html index dd6d28e0..9cd64247 100644 --- a/public/typo3conf/ext/ep_theme/Resources/Private/Partials/City/Teaser.html +++ b/public/typo3conf/ext/ep_theme/Resources/Private/Partials/City/Teaser.html @@ -4,7 +4,7 @@ xmlns:f="http://typo3.org/ns/fluid/ViewHelpers"> - +
{ep:icon(icon: 'flag-{city.country.code -> f:format.case(mode: \'lower\')}', class: 'w-8 h-6 absolute top-0 left-0')} diff --git a/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Concept/Teaser.html b/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Concept/Teaser.html index 27cd1bfa..7e78b524 100644 --- a/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Concept/Teaser.html +++ b/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Concept/Teaser.html @@ -5,7 +5,7 @@ - +
diff --git a/public/typo3conf/ext/ep_theme/Resources/Private/Partials/ContactBar.html b/public/typo3conf/ext/ep_theme/Resources/Private/Partials/ContactBar.html index 1b4d577d..2a6d11bf 100644 --- a/public/typo3conf/ext/ep_theme/Resources/Private/Partials/ContactBar.html +++ b/public/typo3conf/ext/ep_theme/Resources/Private/Partials/ContactBar.html @@ -6,7 +6,6 @@
@@ -17,7 +16,6 @@ {ep:icon(icon: 'phone', class: 'contact-bar__icon')} + class="contact-bar__item"> {ep:icon(icon: 'email', class: 'contact-bar__icon')}
{settings.contactFormToEmail} @@ -35,7 +32,6 @@ {ep:icon(icon: 'whatsapp', class: 'contact-bar__icon')} @@ -83,7 +79,7 @@ - + {ep:icon(icon: 'flag-gb', class: 'contact-bar__icon')}
English @@ -91,7 +87,7 @@ - + {ep:icon(icon: 'flag-de', class: 'contact-bar__icon')}
Deutsch diff --git a/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Disrupter/Large.html b/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Disrupter/Large.html index 2cb6e78b..98eabcf1 100644 --- a/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Disrupter/Large.html +++ b/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Disrupter/Large.html @@ -18,8 +18,7 @@ class="block w-full h-auto rounded-full" width="400" height="400c" - alt="{image.alternative}" - title="{image.title}" /> + alt="{image.alternative}" /> {data.text -> f:format.html()}
+ alt="{image.alternative}" />
{data.text -> f:format.html()}
- {button.container.label -> f:format.raw()} + + {button.container.label -> f:format.raw()} +
diff --git a/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Disrupter/Small.html b/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Disrupter/Small.html index eb72eaa3..5e7d5371 100644 --- a/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Disrupter/Small.html +++ b/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Disrupter/Small.html @@ -16,8 +16,7 @@ class="block w-full h-auto rounded-full" width="400" height="400c" - alt="{image.alternative}" - title="{image.title}" /> + alt="{image.alternative}" />
diff --git a/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Disturber/Large.html b/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Disturber/Large.html index 861d8fe0..012e8a02 100644 --- a/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Disturber/Large.html +++ b/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Disturber/Large.html @@ -19,8 +19,7 @@ class="block w-full h-auto rounded-full" width="400" height="400c" - alt="{teaserImage.alternative}" - title="{teaserImage.title}" /> + alt="{teaserImage.alternative}" /> {data.bodytext -> f:format.html()}
diff --git a/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Disturber/Reminder.html b/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Disturber/Reminder.html index edb87a25..7cad0d86 100644 --- a/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Disturber/Reminder.html +++ b/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Disturber/Reminder.html @@ -13,16 +13,16 @@ loaderimg="EXT:ep_theme/Resources/Public/images/lazy.png" class="block w-full h-auto rounded-full" width="400" - alt="{teaserImage.alternative}" - title="{teaserImage.title}" /> + alt="{teaserImage.alternative}" />
{data.bodytext -> f:format.html()}
- {button.container.label -> f:format.raw()} + + {button.container.label -> f:format.raw()} +
diff --git a/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Disturber/Small.html b/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Disturber/Small.html index f5bdf3e5..6c95c9bf 100644 --- a/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Disturber/Small.html +++ b/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Disturber/Small.html @@ -16,8 +16,7 @@ class="block w-full h-auto rounded-full" width="400" height="400c" - alt="{teaserImage.alternative}" - title="{teaserImage.title}" /> + alt="{teaserImage.alternative}" />
diff --git a/public/typo3conf/ext/ep_theme/Resources/Private/Partials/EventDisturber.html b/public/typo3conf/ext/ep_theme/Resources/Private/Partials/EventDisturber.html index 672c05bb..021da352 100644 --- a/public/typo3conf/ext/ep_theme/Resources/Private/Partials/EventDisturber.html +++ b/public/typo3conf/ext/ep_theme/Resources/Private/Partials/EventDisturber.html @@ -22,8 +22,7 @@
diff --git a/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Faq.html b/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Faq.html index 980c2247..29ba758b 100644 --- a/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Faq.html +++ b/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Faq.html @@ -14,6 +14,7 @@
@@ -44,8 +45,8 @@ diff --git a/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Footer.html b/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Footer.html index 234d6f2c..02f671ce 100644 --- a/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Footer.html +++ b/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Footer.html @@ -20,7 +20,6 @@
  • {submenuitem.title} @@ -48,7 +47,6 @@ {settings.phoneNumber} @@ -73,7 +71,6 @@ {settings.whatsApp} @@ -100,22 +97,19 @@
  • diff --git a/public/typo3conf/ext/ep_theme/Resources/Private/Partials/HeaderSlider.html b/public/typo3conf/ext/ep_theme/Resources/Private/Partials/HeaderSlider.html index 29e99f70..7ff48d72 100644 --- a/public/typo3conf/ext/ep_theme/Resources/Private/Partials/HeaderSlider.html +++ b/public/typo3conf/ext/ep_theme/Resources/Private/Partials/HeaderSlider.html @@ -16,7 +16,7 @@ - + {image.alternative} @@ -34,6 +34,7 @@ {slide.button} @@ -44,17 +45,18 @@
    - +
    -

    Ski-
    Pass

    -

    inklusive

    +
    Ski-
    Pass
    +
    inklusive
    + additionalAttributes="{'tabindex': '-1'}">
    - +
    - +

    Ski-
    Pass

    inklusive

    @@ -47,8 +47,7 @@ - + diff --git a/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Journey/Details.html b/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Journey/Details.html index 9c761b85..2323729b 100644 --- a/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Journey/Details.html +++ b/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Journey/Details.html @@ -14,8 +14,7 @@ class="block w-full h-auto" width="770" height="430c+100" - alt="{journey.image.alternative}" - title="{journey.image.title}" /> + alt="{journey.image.alternative}" />

    diff --git a/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Mainnav.html b/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Mainnav.html index c151ce47..1713a69c 100644 --- a/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Mainnav.html +++ b/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Mainnav.html @@ -8,10 +8,10 @@
    + title="zur Startseite"> + alt="Bildmarke"/> diff --git a/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Pricetable.html b/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Pricetable.html index 298ec8be..2b6a999b 100644 --- a/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Pricetable.html +++ b/public/typo3conf/ext/ep_theme/Resources/Private/Partials/Pricetable.html @@ -3,7 +3,7 @@ xmlns:f="http://typo3.org/ns/fluid/ViewHelpers" xmlns:ep="http://typo3.org/ns/EP/EpTheme/ViewHelpers"> - +
    {nonBookableInfo.text -> f:format.html()} @@ -32,7 +32,7 @@

    - + - - - - - - - - - + + + + + +
    {{ selectedOption.title }}{{ formatCurrency(selectedOption.price) }}{{ formatCurrency(calculateOptionPrice(selectedOption)) }}
    Gesamtpreis{{ formatCurrency(priceTotal) }} -
    zzgl. vor Ort zu entrichtender Ortstaxe +
    + {{ formatCurrency(priceTotal) }} +
    + zzgl. vor Ort zu entrichtender Ortstaxe
    {row.roomName} @@ -88,8 +88,7 @@ data-pricetable-type-param="options" data-pricetable-uid-param="{row.roomUid}" data-cooltipz-dir="top" - aria-label="Alle Zusatzleistungen anzeigen" - role="tooltip"> + aria-label="Alle Zusatzleistungen anzeigen"> {ep:icon(icon: 'plus-circle', class: 'w-4 h-4 md:w-5 md:h-5')} @@ -137,7 +136,7 @@
    - +
    - - - - {row.roomName} - - - - - {row.roomName} - - - - ausgebucht - - - - - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    -
    - - - - - - - - - - - {row.minPrice} - - - - - - {row.minPrice} € - - - - - - - Reisen-Alert - - - -
    @@ -277,34 +165,161 @@
    - - + +
    + + + + + + + {row.roomName} + + + + {row.roomName} + + + ausgebucht + + + + + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + +
    + + + + + + + + + + + + + {row.minPrice} + + + + + + {row.minPrice} € + + + + + + + Reisen-Alert + + + + + +
    + + + + diff --git a/public/typo3conf/ext/ep_theme/Resources/Private/Templates/Container/Quarters.html b/public/typo3conf/ext/ep_theme/Resources/Private/Templates/Container/Quarters.html index 16e6236c..d1c347d3 100644 --- a/public/typo3conf/ext/ep_theme/Resources/Private/Templates/Container/Quarters.html +++ b/public/typo3conf/ext/ep_theme/Resources/Private/Templates/Container/Quarters.html @@ -33,6 +33,7 @@
    @@ -212,6 +214,7 @@ data-collapse-collapsed-value="true">