{"version":3,"sources":["webpack:///./src/components/reservation-form/ReservationModalMobile.vue?c525","webpack:///./src/components/reservation-form/ReservationModalMobile.vue","webpack:///./src/components/reservation-form/ReservationModalMobile.vue?eda3","webpack:///./src/components/reservation-form/ReservationModalMobile.vue?d159","webpack:///./src/components/reservation-form/ReservationModalMobile.vue?65b6","webpack:///./src/components/reservation-form/ReservationModalMobile.vue?695e"],"names":["render","_vm","this","_h","$createElement","_c","_self","attrs","on","$event","type","indexOf","_k","keyCode","key","closeModal","model","value","callback","$$v","isOpen","expression","staticStyle","$vuetify","theme","dark","undefined","_e","staticClass","reservationModel","id","_v","_s","$t","fkey","ref","isLoadingOrSaving","reservationIsReadonly","isLoading","localAvailabilities","period","localRestrictions","tenantReservationTags","isOverbooked","isNotAvailable","tagsChanged","showActionButtons","isSaving","submit","scopedSlots","_u","fn","_g","_b","showOnlyCancel","statusId","cancelReservation","confirmReservation","reservationPutOnHold","markAsCheckedIn","markAsCheckedOut","markAsConfirmed","returnToCheckedIn","noShowReservation","canResetStatus","resetReservationStatus","unitSelectionUnits","unitSelectionModalOpen","unitSelectionModalAction","staticRenderFns","$emit","promises","financialSettings","refreshSettings","push","otas","length","refreshOtas","appParams","refreshAppParams","serviceTypes","refreshServiceTypes","Promise","all","currencyConversionService","reservationPeriod","axios","get","tags","data","event","scrolledFlag","$nextTick","elem","document","getElementById","scrollId","scrollIntoView","behavior","fresh","internalForm","resetValidation","reservationId","loadReservation","getReservationTags","formStateUnchanged","availabilities","restrictions","numberOfUnits","initialStateParam","find","x","ReservationInitialState","holdDurationParam","ReservationDefaultHoldDuration","optionExpirationDate","Date","setDate","getDate","toISOString","substr","claims","Confirmed","distributionChannelTypeId","OwnersReservation","tab","historicArrivalDate","historicDepartureDate","reservationForm","stayPeriodFromUnits","accomodationUnitTypes","map","accomodationUnitId","pricePerNight","userSetPricePerNightManually","discountPercent","deposit","damageDeposit","depositCurrency","depositCurrencyId","selectedServices","sort","a","b","addOnServiceId","old","isEqual","isEmpty","noOverbookingMessage","$store","dispatch","color","message","timeout","localize","noNotAvailableMessage","then","res","originalUnitTypesReservationWasOpenedWith","cloneDeep","arrivalDate","departureDate","tempArrival","tempDeparture","arrival","UTC","getFullYear","getMonth","departure","unit","dayPrices","forEach","mergedCityTaxAmount","mergedCityTaxPricePerDay","reduce","sum","dprice","price","currentDayPrices","date","ratePlanAccomodationUnitTypeId","ratePlan","ratePlansAccomodationUnitTypeId","occupancyBasedRuleId","filter","originalUnits","finally","currencyId","workingCurrency","totalCityTaxPrice","isCityTax","e","first","serviceTypeId","includesCityTax","convertCurrency","grossPrice","numberOfNights","customerId","some","childrenAges","ca","toString","overrides","formValid","validate","isReservationValid","saveReservation","actions","text","fun","requestModel","original","hasChanges","handleCodes","adapter","handleBrokenRuleAdapter","formatBrokenRuleNames","h","th","endsWith","join","isOverriding","put","overrideRules","calendarReload","catch","isHandleBrokenRuleResult","handled","unhandled","br","post","CheckedIn","CheckedOut","cancelReservationConfirmed","noShowUnits","ids","Hold","Canceled","NoShow","statusToResetToId","resetUnitsStatus","markUnitsAsCheckedIn","markUnitsAsConfirmed","markUnitsAsCheckedOut","fromCalendar","minArrivalDate","getTime","maxDepartureDate","from","fromJSDate","to","default","deep","components","ReservationForm","UnitSelectionModal","component","VBtn","VCard","VDialog","VFadeTransition","VFooter","VForm","VIcon","VList","VListItem","VListItemTitle","VMenu","VOverlay","VProgressCircular","VProgressLinear","VSpacer","VToolbar"],"mappings":"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","file":"js/chunk-33b06eaf.95e063e0.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"fullscreen\":\"\",\"transition\":\"dialog-bottom-transition\",\"no-click-animation\":\"\",\"persistent\":\"\",\"eager\":\"\",\"content-class\":\"mobile-modal\"},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"])){ return null; }return _vm.closeModal()}},model:{value:(_vm.isOpen),callback:function ($$v) {_vm.isOpen=$$v},expression:\"isOpen\"}},[_c('v-fade-transition',[(_vm.isLoading)?_c('v-overlay',{staticStyle:{\"position\":\"absolute\"},attrs:{\"color\":_vm.$vuetify.theme.dark ? 'white' : undefined}},[_c('v-progress-circular',{attrs:{\"color\":\"primary\",\"size\":\"64\",\"indeterminate\":\"\"}})],1):_vm._e()],1),_c('v-card',{staticClass:\"d-flex flex-column\",attrs:{\"tile\":\"\"}},[_c('v-toolbar',{staticClass:\"header flex-grow-0\"},[(!_vm.reservationModel.id)?_c('div',{staticClass:\"d-flex align-center form-title\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Reservation.New\"))+\" \")]):_vm._e(),(!!_vm.reservationModel.id)?_c('div',{staticClass:\"d-flex align-center form-title\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Reservation.Edit\"))+\" \"+_vm._s(_vm.reservationModel.id)+\" \")]):_vm._e(),_c('v-spacer'),_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.closeModal()}}},[_c('v-icon',[_vm._v(\"fal fa-times\")])],1)],1),_c('v-form',{key:_vm.fkey,ref:\"form\",staticClass:\"form\",attrs:{\"disabled\":_vm.isLoadingOrSaving || _vm.reservationIsReadonly}},[_c('v-progress-linear',{attrs:{\"indeterminate\":\"\",\"active\":_vm.isLoading,\"top\":\"\"}}),_c('ReservationForm',{ref:\"reservationForm\",attrs:{\"reservation\":_vm.reservationModel,\"availabilities\":_vm.localAvailabilities,\"period\":_vm.period,\"restrictions\":_vm.localRestrictions,\"isLoadingOrSaving\":_vm.isLoadingOrSaving,\"isMobile\":true,\"tenantTags\":_vm.tenantReservationTags},on:{\"overbooked\":function($event){_vm.isOverbooked = $event},\"notAvailable\":function($event){_vm.isNotAvailable = $event},\"isLoadingChanged\":function($event){_vm.isLoading = $event},\"tagsChanged\":function($event){return _vm.tagsChanged($event)}}})],1),_c('v-footer',{staticClass:\"footer\",attrs:{\"elevation\":\"8\"}},[_c('v-btn',{attrs:{\"color\":\"primary\",\"disabled\":_vm.isLoadingOrSaving || !_vm.showActionButtons,\"loading\":_vm.isSaving},on:{\"click\":function($event){return _vm.submit([])}}},[_vm._v(_vm._s(_vm.$t(\"Save\")))]),_c('v-spacer'),(!!_vm.reservationModel.id && _vm.showActionButtons)?_c('v-menu',{attrs:{\"offset-y\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({attrs:{\"color\":\"primary\",\"loading\":_vm.isSaving}},'v-btn',attrs,false),on),[_vm._v(\" \"+_vm._s(_vm.$t(\"Actions\"))+\" \")])]}}],null,false,288799223)},[(!_vm.showOnlyCancel)?_c('v-list',[(_vm.reservationModel.statusId === 1)?_c('v-list-item',{on:{\"click\":function($event){return _vm.confirmReservation()}}},[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t(\"Reservation.GenerateConfirmation\"))+\" \")])],1):_vm._e(),(_vm.canPutOnHold)?_c('v-list-item',{on:{\"click\":function($event){return _vm.reservationPutOnHold()}}},[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t(\"Reservation.PutOnHold.Short\"))+\" \")])],1):_vm._e(),(_vm.canMarkAsCheckedIn)?_c('v-list-item',{on:{\"click\":function($event){return _vm.markAsCheckedIn()}}},[_c('v-list-item-title',[_vm._v(_vm._s(_vm.$t(\"Reservation.MarkAsCheckedIn\")))])],1):_vm._e(),(_vm.canMarkAsCheckedOut)?_c('v-list-item',{on:{\"click\":function($event){return _vm.markAsCheckedOut()}}},[_c('v-list-item-title',[_vm._v(_vm._s(_vm.$t(\"Reservation.MarkAsCheckedOut\")))])],1):_vm._e(),(_vm.canMarkAsConfirmed)?_c('v-list-item',{on:{\"click\":function($event){return _vm.markAsConfirmed()}}},[_c('v-list-item-title',[_vm._v(_vm._s(_vm.$t(\"Reservation.BackToConfirmed\")))])],1):_vm._e(),(_vm.canReturnToCheckedIn)?_c('v-list-item',{on:{\"click\":function($event){return _vm.returnToCheckedIn()}}},[_c('v-list-item-title',[_vm._v(_vm._s(_vm.$t(\"Reservation.BackToCheckedIn\")))])],1):_vm._e(),(\n _vm.reservationModel.statusId === 1 ||\n _vm.reservationModel.statusId === 2\n )?_c('v-list-item',{on:{\"click\":function($event){return _vm.cancelReservation()}}},[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t(\"Reservation.CancelReservation\"))+\" \")])],1):_vm._e(),(_vm.canNoShow)?_c('v-list-item',{on:{\"click\":function($event){return _vm.noShowReservation()}}},[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t(\"Reservation.NoShowReservation\"))+\" \")])],1):_vm._e(),(_vm.canResetStatus(1))?_c('v-list-item',{on:{\"click\":function($event){return _vm.resetReservationStatus(1)}}},[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t(\"Reservation.BackToHold\"))+\" \")])],1):_vm._e(),(_vm.canResetStatus(2))?_c('v-list-item',{on:{\"click\":function($event){return _vm.resetReservationStatus(2)}}},[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t(\"Reservation.BackToConfirmed\"))+\" \")])],1):_vm._e()],1):_c('v-list',[(\n _vm.reservationModel.statusId === 1 ||\n _vm.reservationModel.statusId === 2\n )?_c('v-list-item',{on:{\"click\":function($event){return _vm.cancelReservation()}}},[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(_vm.$t(\"Reservation.CancelReservation\"))+\" \")])],1):_vm._e()],1)],1):_vm._e()],1),_c('UnitSelectionModal',{attrs:{\"units\":_vm.unitSelectionUnits,\"open\":_vm.unitSelectionModalOpen,\"action\":_vm.unitSelectionModalAction},on:{\"update:open\":function($event){_vm.unitSelectionModalOpen=$event}}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport {\n Component,\n Prop,\n PropSync,\n Ref,\n Vue,\n Watch,\n} from \"vue-property-decorator\";\nimport { Action, Getter } from \"vuex-class\";\nimport { Ota } from \"@/shared/models/ota\";\nimport {\n ReservationModel,\n SearchRestrictionsModel,\n ReservationRequestModel,\n ReservationAccUnitModel,\n} from \"./types\";\nimport ReservationForm from \"./ReservationForm.vue\";\nimport { SelectedAvailability } from \"@/shared/models/availability\";\nimport { Notification } from \"../../store/modules/notifications\";\nimport handleBrokenRuleAdapter from \"@/shared/handleBrokenRuleAdapter\";\nimport { DateTime } from \"luxon\";\nimport { AppParam, AppParamsEnum } from \"@/shared/models/appParam\";\nimport { TaxRateView } from \"@/shared/models/taxRates\";\nimport { Currency } from \"@/shared/models/currency\";\nimport { FinancialSettingsType } from \"@/store/modules/financial\";\nimport _ from \"lodash\";\nimport {\n DistributionChannelEnum,\n ReservationStatusEnum,\n} from \"@/shared/models/enums.type\";\nimport { differenceInDays } from \"@/shared/dateFormatUtils\";\nimport { ServiceType } from \"@/shared/models/serviceType\";\nimport {\n CurrencyConversionService,\n currencyConversionServiceFactory,\n} from \"@/shared/currencyConversionService\";\nimport UnitSelectionModal from \"./UnitSelectionModal.vue\";\nimport { policyChecker } from \"@/shared/roles\";\nimport { JwtClaims } from \"@/store/modules/auth\";\nimport { round } from \"../numbers/numberFormatUtils\";\n\n@Component({\n components: {\n ReservationForm,\n UnitSelectionModal,\n },\n})\nexport default class ReservationModalMobile extends Vue {\n @PropSync(\"open\", { default: false }) isOpen?: boolean;\n @Prop({ default: null }) reservationId!: number | null;\n\n @Prop({ default: undefined }) availabilities?: SelectedAvailability[];\n @Prop({ default: undefined }) restrictions?: SearchRestrictionsModel;\n @Prop({ default: null }) scrollId!: string | null;\n @Prop({ default: false }) fromCalendar?: boolean;\n\n @Getter(\"auth/claims\") claims?: JwtClaims;\n\n @Action(\"codebooks/refreshOtas\") refreshOtas?: () => Promise;\n @Getter(\"codebooks/otasWithInactive\") otas?: Ota[];\n\n @Action(\"codebooks/refreshServiceTypes\")\n refreshServiceTypes?: () => Promise;\n @Getter(\"codebooks/serviceTypes\") serviceTypes?: ServiceType[];\n\n @Action(\"appParams/refreshAppParams\") refreshAppParams?: () => Promise;\n @Getter(\"appParams/appParams\") appParams?: AppParam[];\n @Getter(\"financial/settings\") financialSettings?: FinancialSettingsType;\n\n @Ref(\"reservationForm\") reservationForm?: ReservationForm;\n\n tenantReservationTags: string[] = [];\n\n closeModal() {\n this.$emit(\"closed\");\n this.$emit(\"reload\");\n this.isOpen = false;\n }\n\n currencyConversionService?: CurrencyConversionService;\n async created() {\n const promises = [];\n\n if (!this.financialSettings && this.refreshSettings) {\n promises.push(this.refreshSettings());\n }\n\n if ((this.otas?.length ?? 0) === 0 && this.refreshOtas) {\n promises.push(this.refreshOtas());\n }\n\n if ((this.appParams?.length ?? 0) === 0 && this.refreshAppParams) {\n promises.push(this.refreshAppParams());\n }\n\n if ((this.serviceTypes?.length ?? 0) === 0 && this.refreshServiceTypes) {\n promises.push(this.refreshServiceTypes());\n }\n\n await Promise.all(promises);\n\n if (this.financialSettings) {\n this.currencyConversionService = currencyConversionServiceFactory(\n this.financialSettings\n );\n }\n }\n\n mounted() {\n this.$emit(\"ready\");\n }\n\n get period() {\n if (\n this.localRestrictions &&\n this.localRestrictions.period &&\n this.localRestrictions.period.length == 2\n ) {\n return this.localRestrictions.period;\n }\n\n if (this.reservationPeriod && this.reservationPeriod.length == 2) {\n return this.reservationPeriod;\n }\n\n return undefined;\n }\n\n async getReservationTags() {\n const promises = [];\n\n promises.push(\n Vue.axios.get(`reservations/GetTenantReservationTags`)\n );\n\n const [tags] = await Promise.all(promises);\n\n this.tenantReservationTags = tags.data;\n }\n\n tagsChanged(event: string[]) {\n this.reservationModel.tags = event;\n }\n\n @Watch(\"isLoading\")\n isLoadingChanged() {\n if (this.isLoading === false && this.scrolledFlag === false) {\n this.$nextTick(() => {\n const elem = document.getElementById(this.scrollId ?? \"\");\n if (elem) {\n elem.scrollIntoView({\n behavior: \"smooth\",\n });\n this.scrolledFlag = true;\n }\n });\n }\n }\n\n isOverbooked: number[] = [];\n\n isNotAvailable: number[] = [];\n\n tab = 0;\n fkey = 0;\n\n localAvailabilities?: SelectedAvailability[] = [];\n localRestrictions?: SearchRestrictionsModel | null = null;\n\n reservationModel: ReservationModel = new ReservationModel();\n reservationPeriod: Date[] | null = null;\n\n // when updating a reservation and changing arrival or departure date, the new stay period might not cover all days of the original one\n // which causes the calendar to be only partially updated. those original dates are preserved here to make sure the calendar is properly updated\n historicArrivalDate: Date | null = null;\n historicDepartureDate: Date | null = null;\n\n isLoading = false;\n isSaving = false;\n get isLoadingOrSaving() {\n return this.isLoading || this.isSaving;\n }\n\n // isCheckInOpen = false;\n // checkedInCustomersOnAccUnitTypes = [] as CheckedInCustomersOnAccUnitType[];\n // async openCheckIn() {\n // const instance = loadReservationCustomers(this.axios);\n\n // this.checkedInCustomersOnAccUnitTypes = [];\n // this.isLoading = true;\n\n // try{\n // const data = await instance(this.reservationModel.id);\n\n // const result = [] as CheckedInCustomersOnAccUnitType[];\n\n // for(const aut of this.reservationModel.accomodationUnitTypes) {\n // const unitDisplayFull = `${aut.propertyName}, ${aut.accomodationUnitTypeName}, ${aut.accomodationUnitName}`;\n // const checkedIn = aut.guests.length;\n // const allocated = aut.numberOfAdults + aut.numberOfChildren;\n\n // const displayName = `${unitDisplayFull}, (${checkedIn}/${allocated}, max ${aut.maxOccupancy})`;\n\n // let group = data.payload.find(x => x.reservationAccUnitTypeId === aut.id);\n // if (group) {\n // group.reservationAccUnitTypeDisplay = displayName;\n // } else {\n // group = new CheckedInCustomersOnAccUnitType();\n\n // group.reservationAccUnitTypeId = aut.id;\n // group.reservationAccUnitTypeDisplay = displayName;\n // group.reservationAccUnitTypeCheckOutDate = aut.departureDate ?? \"\";\n // group.reservationAccUnitTypeCheckOutTime = aut.expectedDepartureTime ?? \"\";\n // group.guests = [];\n\n // data.payload.push()\n // }\n\n // const missingAllcoated = allocated - group.guests.length;\n // if (missingAllcoated>0) {\n // const empty = [...Array(missingAllcoated)].map((_, i) => {\n // const g = new ReservationCheckInCustomerData();\n // g.id = -i;\n // return g;\n // });\n // group.guests.push(...empty)\n // }\n\n // result.push(group);\n // }\n\n // this.checkedInCustomersOnAccUnitTypes = result;\n // } finally {\n // this.isLoading = false;\n // }\n\n // this.isCheckInOpen = true;\n // }\n\n // async checkInModalSaved() {\n // if (this.reservationId) {\n // this.loadReservation(this.reservationId);\n // this.isCheckInOpen = false;\n // }\n // }\n\n scrolledFlag = true;\n\n @Watch(\"isOpen\")\n async isOpenWatch(fresh: boolean) {\n this.internalForm?.resetValidation();\n\n if (fresh && this.reservationId) {\n this.scrolledFlag = false;\n await this.loadReservation(this.reservationId);\n await this.getReservationTags();\n } else if (fresh) {\n this.formStateUnchanged = false;\n await this.getReservationTags();\n\n this.localAvailabilities = this.availabilities;\n this.localRestrictions = this.restrictions;\n\n this.reservationModel.numberOfUnits = 1;\n\n if (this.reservationModel) {\n const initialStateParam = this.appParams?.find(\n (x) => x.id == AppParamsEnum.ReservationInitialState\n );\n if (initialStateParam) {\n this.reservationModel.statusId = initialStateParam.value;\n }\n\n const holdDurationParam = this.appParams?.find(\n (x) => x.id == AppParamsEnum.ReservationDefaultHoldDuration\n );\n if (holdDurationParam) {\n const optionExpirationDate = new Date();\n optionExpirationDate.setDate(\n optionExpirationDate.getDate() + holdDurationParam.value\n );\n this.reservationModel.optionExpirationDate = optionExpirationDate\n .toISOString()\n .substr(0, 10);\n }\n if (policyChecker(\"OWNER_LEVEL_3\")(this.claims)) {\n this.reservationModel.statusId = ReservationStatusEnum.Confirmed;\n this.reservationModel.distributionChannelTypeId =\n DistributionChannelEnum.OwnersReservation;\n }\n }\n } else {\n this.tab = 0;\n this.reservationModel = new ReservationModel();\n this.reservationPeriod = null;\n this.localAvailabilities = [];\n this.localRestrictions = null;\n this.formStateUnchanged = false;\n this.historicArrivalDate = null;\n this.historicDepartureDate = null;\n if (this.reservationForm) {\n this.reservationForm.stayPeriodFromUnits = null;\n }\n }\n }\n\n get showActionButtons() {\n if (\n (policyChecker(\"OWNER_LEVEL_3\")(this.claims) &&\n this.reservationModel.distributionChannelTypeId ===\n DistributionChannelEnum.OwnersReservation) ||\n !policyChecker(\"OWNER_LEVEL_3\")(this.claims)\n ) {\n return true;\n }\n return false;\n }\n\n get showOnlyCancel() {\n if (policyChecker(\"OWNER_LEVEL_3\")(this.claims)) {\n if (\n this.reservationModel.distributionChannelTypeId ===\n DistributionChannelEnum.OwnersReservation\n ) {\n return true;\n }\n }\n return false;\n }\n\n get lineItemAffecting() {\n if (!this.reservationModel) return [];\n\n return this.reservationModel.accomodationUnitTypes\n .map((x) => ({\n accomodationUnitId: x.accomodationUnitId ?? 0,\n pricePerNight: x.pricePerNight ?? 0,\n userSetPricePerNightManually: x.userSetPricePerNightManually,\n discountPercent: x.discountPercent ?? 0,\n deposit: x.damageDeposit ?? 0,\n depositCurrency: x.depositCurrencyId ?? 0,\n selectedServices: [...x.selectedServices].sort(\n (a, b) => a.addOnServiceId - b.addOnServiceId\n ),\n }))\n .sort((a, b) => a.accomodationUnitId - b.accomodationUnitId);\n }\n\n @Watch(\"lineItemAffecting\", { deep: true })\n lineItemAffectingChanged(\n fresh: (typeof ReservationModalMobile.prototype.lineItemAffecting)[],\n old: (typeof ReservationModalMobile.prototype.lineItemAffecting)[]\n ) {\n if (this.isLoading) return;\n\n if (!_.isEqual(fresh, old)) {\n this.formStateUnchanged = false;\n }\n }\n\n get reservationIsReadonly() {\n if (\n (policyChecker(\"OWNER_LEVEL_3\")(this.claims) &&\n this.reservationModel.distributionChannelTypeId ===\n DistributionChannelEnum.OwnersReservation) ||\n !policyChecker(\"OWNER_LEVEL_3\")(this.claims)\n ) {\n return false;\n }\n return true;\n }\n\n formStateUnchanged = false;\n originalUnits = [] as ReservationAccUnitModel[];\n\n noOverbookingMessage = false;\n\n noNotAvailableMessage = false;\n\n @Watch(\"isOverbooked\")\n isOverbookedChanged() {\n if (!_.isEmpty(this.isOverbooked) && !this.noOverbookingMessage) {\n this.$store.dispatch(\"showNotification\", {\n color: \"warning\",\n message: \"Reservation.Overbooked\",\n timeout: 5000,\n localize: true,\n } as Notification);\n }\n this.noOverbookingMessage = false;\n }\n\n @Watch(\"isNotAvailable\")\n isNotAvailableChanged() {\n if (!_.isEmpty(this.isNotAvailable) && !this.noNotAvailableMessage) {\n this.$store.dispatch(\"showNotification\", {\n color: \"warning\",\n message: \"Reservation.NotAllUnitTypesAvailable\",\n timeout: 5000,\n localize: true,\n } as Notification);\n }\n this.noNotAvailableMessage = false;\n }\n\n loadReservation(reservationId: number) {\n this.isLoading = true;\n Vue.axios\n .get(\"reservations/\" + reservationId)\n .then((res) => {\n this.reservationModel = {\n ...new ReservationModel(),\n ...res.data,\n originalUnitTypesReservationWasOpenedWith: _.cloneDeep(\n res.data.accomodationUnitTypes\n ),\n };\n\n if (\n this.reservationModel.arrivalDate &&\n this.reservationModel.departureDate\n ) {\n this.reservationPeriod = [];\n const tempArrival = new Date(this.reservationModel.arrivalDate);\n const tempDeparture = new Date(this.reservationModel.departureDate);\n const arrival = new Date(\n Date.UTC(\n tempArrival.getFullYear(),\n tempArrival.getMonth(),\n tempArrival.getDate()\n )\n );\n const departure = new Date(\n Date.UTC(\n tempDeparture.getFullYear(),\n tempDeparture.getMonth(),\n tempDeparture.getDate()\n )\n );\n this.reservationPeriod.push(arrival, departure);\n\n if (\n this.reservationForm &&\n this.reservationForm.stayPeriodFromUnits\n ) {\n this.reservationForm.stayPeriodFromUnits = null;\n }\n\n this.historicArrivalDate = arrival;\n this.historicDepartureDate = departure;\n }\n\n this.localRestrictions = null;\n\n for (const unit of this.reservationModel.accomodationUnitTypes) {\n unit.dayPrices.forEach((x) => {\n x.mergedCityTaxAmount = this.mergedCityTaxPricePerDay(unit);\n });\n if (!unit.userSetPricePerNightManually) {\n unit.pricePerNight = round(\n round(\n unit.dayPrices.reduce((sum, dprice) => sum + dprice.price, 0) ??\n 0\n ) / (unit.dayPrices.length ?? 1)\n );\n }\n\n unit.currentDayPrices = unit.dayPrices.map((x) => {\n return {\n date: x.date,\n price: x.price,\n ratePlanAccomodationUnitTypeId:\n unit.ratePlan?.ratePlansAccomodationUnitTypeId || 0,\n occupancyBasedRuleId: unit.occupancyBasedRuleId,\n };\n });\n }\n\n this.reservationModel.accomodationUnitTypes\n .filter((x) => !x.userSetPricePerNightManually)\n .forEach(\n (x) =>\n (x.pricePerNight = round(\n round(\n x.dayPrices.reduce(\n (sum, dprice) =>\n sum + dprice.price + this.mergedCityTaxPricePerDay(x),\n 0\n ) ?? 0\n ) / (x.dayPrices.length ?? 1)\n ))\n );\n\n this.formStateUnchanged = true;\n this.originalUnits = _.cloneDeep(\n this.reservationModel.accomodationUnitTypes\n );\n })\n .finally(() => {\n this.isLoading = false;\n });\n }\n\n mergedCityTaxPricePerDay(unit: ReservationAccUnitModel) {\n const currencyId =\n unit.ratePlan?.currencyId ?? this.financialSettings?.workingCurrency.id;\n let totalCityTaxPrice = 0;\n if (unit && unit.selectedServices) {\n totalCityTaxPrice = unit.selectedServices\n .filter((x) => x.isCityTax)\n .reduce(\n (sum, e) =>\n this.serviceTypes?.find(\n (x) => x.id == _.first(unit.dayPrices)?.serviceTypeId\n )?.includesCityTax === true\n ? sum +\n (this.currencyConversionService?.convertCurrency(\n e.grossPrice,\n e.currencyId,\n currencyId ?? e.grossPrice\n ) ?? e.grossPrice)\n : sum,\n 0\n );\n }\n\n return totalCityTaxPrice / this.numberOfNights(unit);\n }\n\n numberOfNights(unit: ReservationAccUnitModel) {\n if (unit.arrivalDate && unit.departureDate) {\n return differenceInDays(\n new Date(unit.arrivalDate),\n new Date(unit.departureDate)\n );\n } else {\n return 0;\n }\n }\n\n @Ref(\"form\") internalForm?: {\n reset: () => void;\n resetValidation: () => void;\n validate: () => boolean;\n };\n\n isReservationValid() {\n if (!this.reservationModel) {\n return false;\n }\n\n if (!this.reservationModel.customerId) {\n return false;\n }\n\n if (!this.reservationModel.distributionChannelTypeId) {\n return false;\n }\n\n if (\n !this.reservationModel.arrivalDate ||\n !this.reservationModel.departureDate\n ) {\n return false;\n }\n\n if ((this.reservationModel.accomodationUnitTypes?.length ?? 0) == 0) {\n this.$store.dispatch(\"showNotification\", {\n color: \"error\",\n message: \"Reservation.NoUnitsSelected\",\n timeout: 5000,\n localize: true,\n } as Notification);\n return false;\n }\n // all units must have a rate plan selected\n if (\n this.reservationModel.accomodationUnitTypes.some((x) => !x.ratePlan?.id)\n ) {\n this.$store.dispatch(\"showNotification\", {\n color: \"error\",\n message: \"Reservation.AllUnitsMustHaveRatePlan\",\n timeout: 5000,\n localize: true,\n } as Notification);\n return false;\n }\n // all children ages must be set\n if (\n this.reservationModel.accomodationUnitTypes.some((x) =>\n x.childrenAges.some(\n (ca) => ca == null || ca == undefined || ca.toString() == \"\" || ca < 0\n )\n )\n ) {\n return false;\n }\n\n if (\n this.reservationModel.numberOfUnits &&\n this.reservationModel.numberOfUnits <\n this.reservationModel.accomodationUnitTypes.length\n ) {\n return false;\n }\n {\n return true;\n }\n }\n\n submit(overrides: string[]) {\n this.noOverbookingMessage = true;\n this.noNotAvailableMessage = true;\n\n const formValid = this.internalForm?.validate();\n\n if (!formValid || !this.isReservationValid()) {\n //check numberOfUnits on ReservationModel\n if (\n this.reservationModel.numberOfUnits &&\n this.reservationModel.numberOfUnits <\n this.reservationModel.accomodationUnitTypes.length\n ) {\n this.$store.dispatch(\"showNotification\", {\n color: \"warning\",\n message: this.$t(\"Reservation.ToManyUnitsSelected\"),\n timeout: 5000,\n actions: [\n {\n text: this.$t(\"Yes\"),\n fun: () => {\n //Save reservation\n this.saveReservation(overrides);\n return true;\n },\n },\n {\n text: this.$t(\"Cancel\"),\n fun: () => {\n return false;\n },\n },\n ],\n } as Notification);\n }\n return;\n } else if (formValid && this.isReservationValid()) {\n this.saveReservation(overrides);\n }\n }\n\n saveReservation(overrides: string[]) {\n this.isSaving = true;\n const requestModel = new ReservationRequestModel(this.reservationModel);\n\n // set hasChanges = false if there's no changes between the unit that was loaded and the unit being saved\n requestModel.accomodationUnitTypes.forEach((x) => {\n const original = this.originalUnits.find((e) => e.id === x.id);\n x.hasChanges = !original || !_.isEqual(x, original);\n });\n\n const handleCodes = [\n \"Reservation.NotAllUnitTypesAvailable\",\n \"Reservation.Overbooked\",\n ];\n const adapter = handleBrokenRuleAdapter(this.axios, handleCodes);\n\n // prettier-ignore\n const formatBrokenRuleNames = (x: string[]) => x\n .map((h) => this.$t(h).toString())\n .map((th) => th.endsWith(\".\") ? th : th + \".\")\n .join(\" \");\n\n const isOverriding = overrides.length !== 0;\n\n if (requestModel.id) {\n Vue.axios\n .put(\n \"reservations/\" + requestModel.id,\n {\n ...requestModel,\n overrideRules: overrides,\n },\n {\n adapter: isOverriding ? undefined : adapter,\n }\n )\n .then(() => {\n this.$emit(\"reservationUpdated\");\n this.loadReservation(requestModel.id);\n this.calendarReload();\n this.$store.dispatch(\"showNotification\", {\n color: \"success\",\n message: \"Reservation.SaveSuccess\",\n timeout: 5000,\n localize: true,\n } as Notification);\n })\n .catch((x) => {\n if (x && x.isHandleBrokenRuleResult && !isOverriding) {\n this.$store.dispatch(\"showNotification\", {\n color: \"warning\",\n message:\n // prettier-ignore\n `${formatBrokenRuleNames(x.handled)} ${this.$t(\"Do you wish to continue anyway?\")}`,\n timeout: 30000,\n actions: [\n {\n text: this.$t(\"Yes\"),\n fun: () => {\n this.submit(x.handled);\n return true;\n },\n },\n { text: this.$t(\"Cancel\"), fun: () => true },\n ],\n } as Notification);\n } else {\n if (x.unhandled) {\n if (\n x.unhandled.some(\n (br: string) => br === \"ReservationUpdate.ChangedError\"\n )\n ) {\n this.$store.dispatch(\"showNotification\", {\n color: \"error\",\n message: `${formatBrokenRuleNames(x.unhandled)}`,\n timeout: 5000,\n actions: [\n {\n text: this.$t(\"Reload reservation\"),\n fun: () => {\n this.$emit(\"reservationUpdated\");\n this.loadReservation(requestModel.id);\n this.calendarReload();\n return true;\n },\n },\n ],\n localize: true,\n } as Notification);\n } else {\n this.$store.dispatch(\"showNotification\", {\n color: \"error\",\n message: `${formatBrokenRuleNames(x.unhandled)}`,\n timeout: 5000,\n localize: true,\n } as Notification);\n }\n }\n }\n this.noOverbookingMessage = false;\n })\n .finally(() => {\n this.isSaving = false;\n });\n } else {\n Vue.axios\n .post(\n \"reservations\",\n {\n ...requestModel,\n overrideRules: overrides,\n },\n {\n adapter: isOverriding ? undefined : adapter,\n }\n )\n .then((res) => {\n this.reservationModel.id = res.data;\n\n this.calendarReload();\n\n this.$store.dispatch(\"showNotification\", {\n color: \"success\",\n message: \"Reservation.SaveSuccess\",\n timeout: 5000,\n localize: true,\n } as Notification);\n\n this.$emit(\"reservationUpdated\");\n this.loadReservation(this.reservationModel.id);\n })\n .catch((x) => {\n if (x && x.isHandleBrokenRuleResult && !isOverriding) {\n this.$store.dispatch(\"showNotification\", {\n color: \"warning\",\n message:\n // prettier-ignore\n `${formatBrokenRuleNames(x.handled)} ${this.$t(\"Do you wish to continue anyway?\")}`,\n timeout: 30000,\n actions: [\n {\n text: this.$t(\"Yes\"),\n fun: () => {\n this.submit(x.handled);\n return true;\n },\n },\n { text: this.$t(\"Cancel\"), fun: () => true },\n ],\n } as Notification);\n } else {\n this.$store.dispatch(\"showNotification\", {\n color: \"error\",\n message: `${formatBrokenRuleNames(x.unhandled)}`,\n timeout: 5000,\n localize: true,\n } as Notification);\n }\n this.noOverbookingMessage = false;\n this.noNotAvailableMessage = false;\n })\n .finally(() => {\n this.isSaving = false;\n });\n }\n }\n // prettier-ignore\n @Getter(\"codebooks/unitsOfMeasure\") unitsOfMeasure?: any[];\n @Getter(\"codebooks/currencies\") currencies?: Currency[];\n // prettier-ignore\n @Action(\"codebooks/refreshTaxRates\")refreshTaxRates?: () => Promise;\n @Getter(\"codebooks/taxRates\") taxRates?: TaxRateView[];\n // prettier-ignore\n @Getter(\"financial/settings\") storedSettings?: FinancialSettingsType;\n @Action(\"financial/refreshModel\") refreshSettings?: () => Promise;\n\n @Getter(\"language/language\") language?: string;\n\n unitSelectionModalOpen = false;\n unitSelectionUnits = [] as ReservationAccUnitModel[];\n unitSelectionModalAction: null | ((ids: number[]) => void) = null;\n\n confirmReservation() {\n this.isSaving = true;\n Vue.axios\n .put(\"reservations/\" + this.reservationModel.id + \"/ConfirmReservation\")\n .then(() => {\n this.calendarReload();\n\n this.$store.dispatch(\"showNotification\", {\n color: \"success\",\n message: \"Reservation.ConfirmSuccess\",\n timeout: 5000,\n localize: true,\n } as Notification);\n\n this.$emit(\"reservationUpdated\");\n this.loadReservation(this.reservationModel.id);\n })\n .finally(() => {\n this.isSaving = false;\n });\n }\n\n get canPutOnHold() {\n return (\n this.reservationModel.statusId === ReservationStatusEnum.Confirmed &&\n !this.reservationModel.accomodationUnitTypes.some(\n (x) =>\n x.statusId === ReservationStatusEnum.CheckedIn ||\n x.statusId === ReservationStatusEnum.CheckedOut\n )\n );\n }\n reservationPutOnHold() {\n this.isSaving = true;\n Vue.axios\n .put(\"reservations/\" + this.reservationModel.id + \"/ReservationPutOnHold\")\n .then(() => {\n this.calendarReload();\n\n this.$store.dispatch(\"showNotification\", {\n color: \"success\",\n message: \"Reservation.PutOnHoldSuccess\",\n timeout: 5000,\n localize: true,\n } as Notification);\n\n this.$emit(\"reservationUpdated\");\n this.loadReservation(this.reservationModel.id);\n })\n .finally(() => {\n this.isSaving = false;\n });\n }\n\n cancelReservation() {\n this.$store.dispatch(\"showNotification\", {\n color: \"warning\",\n message: this.$t(\"Reservation.CancelConfirm\"),\n timeout: 5000,\n actions: [\n {\n text: this.$t(\"Yes\"),\n fun: () => {\n this.cancelReservationConfirmed();\n return true;\n },\n },\n {\n text: this.$t(\"No\"),\n fun: () => {\n return true;\n },\n },\n ],\n } as Notification);\n }\n cancelReservationConfirmed() {\n this.isSaving = true;\n this.noOverbookingMessage = true;\n Vue.axios\n .put(\"reservations/\" + this.reservationModel.id + \"/CancelReservation\")\n .then(() => {\n this.calendarReload();\n\n this.$store.dispatch(\"showNotification\", {\n color: \"success\",\n message: \"Reservation.CancelSuccess\",\n timeout: 5000,\n localize: true,\n } as Notification);\n\n this.$emit(\"reservationUpdated\");\n this.loadReservation(this.reservationModel.id);\n })\n .finally(() => {\n this.isSaving = false;\n });\n }\n\n get canNoShow() {\n return (\n this.reservationModel.arrivalDate instanceof Date &&\n this.reservationModel.statusId === ReservationStatusEnum.Confirmed &&\n this.reservationModel.accomodationUnitTypes.some((x) => !x.statusId) &&\n (this.reservationModel.arrivalDate ?? new Date())\n .toISOString()\n .substr(0, 10) <= new Date().toISOString().substr(0, 10)\n );\n }\n noShowReservation() {\n if (this.reservationModel.accomodationUnitTypes.length === 1) {\n this.noShowUnits([]);\n } else {\n this.unitSelectionUnits =\n this.reservationModel.accomodationUnitTypes.filter((x) => !x.statusId);\n this.unitSelectionModalAction = this.noShowUnits;\n this.unitSelectionModalOpen = true;\n }\n }\n noShowUnits(ids: number[]) {\n this.isSaving = true;\n Vue.axios\n .put(\"reservations/\" + this.reservationModel.id + \"/NoShowUnits\", ids)\n .then(() => {\n this.calendarReload();\n\n this.$store.dispatch(\"showNotification\", {\n color: \"success\",\n message: \"Reservation.NoShowSuccess\",\n timeout: 5000,\n localize: true,\n } as Notification);\n\n this.$emit(\"reservationUpdated\");\n this.loadReservation(this.reservationModel.id);\n })\n .finally(() => {\n this.isSaving = false;\n });\n }\n\n canResetStatus(statusId: number) {\n if (statusId === ReservationStatusEnum.Hold) {\n return (\n this.reservationModel.statusId != ReservationStatusEnum.Hold &&\n this.reservationModel.statusId != ReservationStatusEnum.Confirmed &&\n this.reservationModel.statusId != ReservationStatusEnum.CheckedIn &&\n this.reservationModel.statusId != ReservationStatusEnum.CheckedOut\n );\n }\n\n if (statusId === ReservationStatusEnum.Confirmed) {\n return (\n this.reservationModel.statusId === ReservationStatusEnum.Canceled ||\n (this.reservationModel.statusId != ReservationStatusEnum.Hold &&\n this.reservationModel.accomodationUnitTypes.some(\n (x) => x.statusId === ReservationStatusEnum.NoShow\n ))\n );\n }\n\n return false;\n }\n\n statusToResetToId = 1;\n resetReservationStatus(statusId: number) {\n this.statusToResetToId = statusId;\n if (\n this.reservationModel.statusId === ReservationStatusEnum.Canceled ||\n this.reservationModel.accomodationUnitTypes.length === 1\n ) {\n this.resetUnitsStatus([]);\n } else {\n this.unitSelectionUnits =\n this.reservationModel.accomodationUnitTypes.filter(\n (x) => x.statusId === ReservationStatusEnum.NoShow\n );\n this.unitSelectionModalAction = this.resetUnitsStatus;\n this.unitSelectionModalOpen = true;\n }\n }\n resetUnitsStatus(ids: number[]) {\n this.isSaving = true;\n Vue.axios\n .put(\n \"reservations/\" +\n this.reservationModel.id +\n \"/ReservationResetStatus/\" +\n this.statusToResetToId,\n ids\n )\n .then(() => {\n this.calendarReload();\n\n this.$store.dispatch(\"showNotification\", {\n color: \"success\",\n message: \"Reservation.ResetSuccess\",\n timeout: 5000,\n localize: true,\n } as Notification);\n\n this.$emit(\"reservationUpdated\");\n this.loadReservation(this.reservationModel.id);\n })\n .finally(() => {\n this.isSaving = false;\n });\n }\n\n get canMarkAsCheckedIn() {\n return (\n this.reservationModel.statusId === ReservationStatusEnum.Confirmed &&\n this.reservationModel.accomodationUnitTypes.some((x) => !x.statusId)\n );\n }\n get canReturnToCheckedIn() {\n return this.reservationModel.accomodationUnitTypes.some(\n (x) => x.statusId === ReservationStatusEnum.CheckedOut\n );\n }\n markAsCheckedIn() {\n if (this.reservationModel.accomodationUnitTypes.length === 1) {\n this.markUnitsAsCheckedIn([]);\n } else {\n this.unitSelectionUnits =\n this.reservationModel.accomodationUnitTypes.filter((x) => !x.statusId);\n this.unitSelectionModalAction = this.markUnitsAsCheckedIn;\n this.unitSelectionModalOpen = true;\n }\n }\n returnToCheckedIn() {\n if (this.reservationModel.accomodationUnitTypes.length === 1) {\n this.markUnitsAsCheckedIn([]);\n } else {\n this.unitSelectionUnits =\n this.reservationModel.accomodationUnitTypes.filter(\n (x) => x.statusId === ReservationStatusEnum.CheckedOut\n );\n this.unitSelectionModalAction = this.markUnitsAsCheckedIn;\n this.unitSelectionModalOpen = true;\n }\n }\n markUnitsAsCheckedIn(ids: number[]) {\n this.isSaving = true;\n Vue.axios\n .put(\"reservations/\" + this.reservationModel.id + \"/SetCheckedIn\", ids)\n .then(() => {\n this.calendarReload();\n\n this.$store.dispatch(\"showNotification\", {\n color: \"success\",\n message: \"Reservation.MarkAsCheckedInSuccess\",\n timeout: 5000,\n localize: true,\n } as Notification);\n\n this.$emit(\"reservationUpdated\");\n this.loadReservation(this.reservationModel.id);\n })\n .finally(() => {\n this.isSaving = false;\n });\n }\n\n get canMarkAsConfirmed() {\n return this.reservationModel.accomodationUnitTypes.some(\n (x) => x.statusId === ReservationStatusEnum.CheckedIn\n );\n }\n markAsConfirmed() {\n if (this.reservationModel.accomodationUnitTypes.length === 1) {\n this.markUnitsAsConfirmed([]);\n } else {\n this.unitSelectionUnits =\n this.reservationModel.accomodationUnitTypes.filter(\n (x) => x.statusId === ReservationStatusEnum.CheckedIn\n );\n this.unitSelectionModalAction = this.markUnitsAsConfirmed;\n this.unitSelectionModalOpen = true;\n }\n }\n markUnitsAsConfirmed(ids: number[]) {\n this.isSaving = true;\n Vue.axios\n .put(\"reservations/\" + this.reservationModel.id + \"/UnsetCheckedIn\", ids)\n .then(() => {\n this.calendarReload();\n\n this.$store.dispatch(\"showNotification\", {\n color: \"success\",\n message: \"Reservation.BackToConfirmedSuccess\",\n timeout: 5000,\n localize: true,\n } as Notification);\n\n this.$emit(\"reservationUpdated\");\n this.loadReservation(this.reservationModel.id);\n })\n .finally(() => {\n this.isSaving = false;\n });\n }\n\n get canMarkAsCheckedOut() {\n return this.reservationModel.accomodationUnitTypes.some(\n (x) => x.statusId === ReservationStatusEnum.CheckedIn\n );\n }\n markAsCheckedOut() {\n if (this.reservationModel.accomodationUnitTypes.length === 1) {\n this.markUnitsAsCheckedOut([]);\n } else {\n this.unitSelectionUnits =\n this.reservationModel.accomodationUnitTypes.filter(\n (x) => x.statusId === ReservationStatusEnum.CheckedIn\n );\n this.unitSelectionModalAction = this.markUnitsAsCheckedOut;\n this.unitSelectionModalOpen = true;\n }\n }\n markUnitsAsCheckedOut(ids: number[]) {\n this.isSaving = true;\n Vue.axios\n .put(\"reservations/\" + this.reservationModel.id + \"/SetCheckedOut\", ids)\n .then(() => {\n this.calendarReload();\n\n this.$store.dispatch(\"showNotification\", {\n color: \"success\",\n message: \"Reservation.MarkAsCheckedOutSuccess\",\n timeout: 5000,\n localize: true,\n } as Notification);\n\n this.$emit(\"reservationUpdated\");\n this.loadReservation(this.reservationModel.id);\n })\n .finally(() => {\n this.isSaving = false;\n });\n }\n\n calendarReload() {\n if (!this.fromCalendar) {\n this.$store.dispatch(\"calendar/setCalendarNeedsRefresh\", true);\n }\n if (\n this.reservationModel.arrivalDate &&\n this.reservationModel.departureDate &&\n this.fromCalendar\n ) {\n const minArrivalDate =\n this.historicArrivalDate &&\n this.historicArrivalDate.getTime() <\n this.reservationModel.arrivalDate.getTime()\n ? this.historicArrivalDate\n : this.reservationModel.arrivalDate;\n\n const maxDepartureDate =\n this.historicDepartureDate &&\n this.historicDepartureDate.getTime() >\n this.reservationModel.departureDate.getTime()\n ? this.historicDepartureDate\n : this.reservationModel.departureDate;\n\n this.$emit(\"calendarReload\", {\n from: DateTime.fromJSDate(minArrivalDate),\n to: DateTime.fromJSDate(maxDepartureDate),\n });\n }\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReservationModalMobile.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReservationModalMobile.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ReservationModalMobile.vue?vue&type=template&id=6af4f450&scoped=true&\"\nimport script from \"./ReservationModalMobile.vue?vue&type=script&lang=ts&\"\nexport * from \"./ReservationModalMobile.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ReservationModalMobile.vue?vue&type=style&index=0&lang=css&\"\nimport style1 from \"./ReservationModalMobile.vue?vue&type=style&index=1&id=6af4f450&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6af4f450\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VFadeTransition } from 'vuetify/lib/components/transitions';\nimport { VFooter } from 'vuetify/lib/components/VFooter';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VOverlay } from 'vuetify/lib/components/VOverlay';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VCard,VDialog,VFadeTransition,VFooter,VForm,VIcon,VList,VListItem,VListItemTitle,VMenu,VOverlay,VProgressCircular,VProgressLinear,VSpacer,VToolbar})\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReservationModalMobile.vue?vue&type=style&index=0&lang=css&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReservationModalMobile.vue?vue&type=style&index=1&id=6af4f450&scoped=true&lang=scss&\""],"sourceRoot":""}