{"version":3,"sources":["webpack:///./src/views/Terms/BookingTermDetail.vue?ccae","webpack:///./src/views/Terms/BookingTermDetail.vue","webpack:///src/views/Terms/BookingTermDetail.vue","webpack:///./src/views/Terms/BookingTermDetail.vue?3abe","webpack:///./src/views/Terms/BookingTermDetail.vue?19fd","webpack:///./src/providers/terms.js"],"names":["render","_vm","this","_c","_self","attrs","isLoading","_e","staticClass","on","$event","$router","go","_v","_s","$t","bookingTerm","Status","openEditName","scopedSlots","_u","key","fn","Version","proxy","showEditTermName","hideModal","getBookingTerms","showEditTermText","openEditText","_l","Languages","language","index","Language","Changes","domProps","Terms","locationState","Meetingtypes","meetingType","MeetingtypeId","class","selectedMeetingtypeId","setSelectedMeetingtypeId","_f","showEditCancelRules","openCancelRules","groupSizes","groupSize","MinSeats","MaxSeats","showMessageNoRules","CancelRules","filter","rule","cancelRule","Id","Math","floor","HoursUntilStart","Percentage","staticRenderFns","Message","EditTermName","EditTermText","EditCancelRules","components","props","data","termId","Number","$route","params","channelId","locationId","selectedMeetingtype","computed","_objectSpread","mapState","_this","typeIndex","findIndex","length","_this2","sizes","cr","map","push","self","t","created","methods","_this3","termsProvider","getLocationBookingTerms","then","response","specificTerm","term","catch","e","finally","meetingtypeId","meetingtypeIndex","m","component","getTermsById","_asyncToGenerator","_regenerator","_callee","w","_context","n","axios","get","concat","process","headers","apiToken","v","a","getLatestLicenseTerms","_arguments","arguments","_callee2","locale","_context2","undefined","_callee3","_context3","createLocationBookingTerm","_callee4","_context4","post","JSON","stringify","profileToken","store","getters","updateBookingTerm","_callee5","_context5","put","deleteTerm","_callee6","_context6","delete","updateActivateTerm","_callee7","_context7","agreeToTerms","_callee8","_context8","TermsId","LocationId","HasAgreed"],"mappings":"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","file":"js/settings-channels-bookingterms-detail.js?id=bc8fe941dd2c81870c9b","sourcesContent":["export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BookingTermDetail.vue?vue&type=style&index=0&id=7c6916cd&prod&lang=scss&scoped=true\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('transition',{attrs:{\"name\":\"fade\",\"mode\":\"out-in\"}},[(_vm.isLoading)?_c('ui-loader'):_vm._e(),(!_vm.isLoading)?_c('div',[_c('nav',{staticClass:\"navbar has-margin-bottom\"},[_c('a',{staticClass:\"navbar-item\",on:{\"click\":function($event){return _vm.$router.go(-1)}}},[_c('span',{staticClass:\"icon is-small\"},[_c('font-awesome-icon',{attrs:{\"icon\":['fas', 'chevron-left']}})],1),_c('span',[_vm._v(_vm._s(_vm.$t('Views.Terms.BookingTermDetail.Link_Back')))])])]),_c('div',{staticClass:\"container\"},[_c('div',{staticClass:\"columns is-multiline\"},[_c('div',{staticClass:\"wrapper column is-half\"},[_c('ui-section-header',{attrs:{\"additionalClass\":\"has-margin-bottom\",\"showEdit\":_vm.bookingTerm.Status === 0 || _vm.bookingTerm.Status === 1,\"editFunction\":_vm.openEditName},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_vm._v(_vm._s(_vm.bookingTerm.Version))]},proxy:true}],null,false,1060337315)}),(_vm.bookingTerm.Version === '')?_c('Message',{attrs:{\"type\":\"is-danger\",\"message\":_vm.$t('Views.Terms.BookingTermDetail.Message_NoName')}}):_vm._e(),(_vm.showEditTermName)?_c('modal-edit-term-name',{attrs:{\"showModal\":_vm.showEditTermName,\"onClickCancel\":_vm.hideModal,\"bookingTerm\":_vm.bookingTerm},on:{\"termUpdated\":_vm.getBookingTerms}}):_vm._e()],1),_c('div',{staticClass:\"column is-full\"},[(_vm.showEditTermText)?_c('modal-edit-term-text',{attrs:{\"showModal\":_vm.showEditTermText,\"onClickCancel\":_vm.hideModal,\"bookingTerm\":_vm.bookingTerm},on:{\"termUpdated\":_vm.getBookingTerms}}):_vm._e(),_c('ui-section-header',{attrs:{\"showEdit\":_vm.bookingTerm.Status === 0 || _vm.bookingTerm.Status === 1,\"editFunction\":_vm.openEditText,\"titleClass\":'title is-4'},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_vm._v(_vm._s(_vm.$t('Views.Terms.BookingTermDetail.HeaderTitle_ChangesTerms')))]},proxy:true}],null,false,322436754)}),_c('div',{staticClass:\"columns is-multiline\"},_vm._l((_vm.bookingTerm.Languages),function(language,index){return _c('div',{key:index,staticClass:\"column is-half\"},[_c('div',{staticClass:\"title is-5\"},[_vm._v(\" \"+_vm._s(language.Language)+\" \")]),_c('div',{staticClass:\"textWrapper has-padding\"},[_c('div',{},[_c('strong',[_vm._v(_vm._s(_vm.$t('Views.Terms.BookingTermDetail.Label_Changes')))]),_c('br'),_vm._v(\" \"+_vm._s(language.Changes)+\" \")]),_c('div',{staticClass:\"is-divider\"}),_c('div',{staticClass:\"has-margin-bottom has-text-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t('Views.Terms.BookingTermDetail.Label_Terms'))+\" \")]),_c('div',{staticClass:\"content\",domProps:{\"innerHTML\":_vm._s(language.Terms)}})])])}),0)],1),_c('div',{staticClass:\"column is-full\"},[_c('div',{staticClass:\"tabs is-boxed\"},[_c('ul',_vm._l((_vm.locationState.Meetingtypes),function(meetingType){return _c('li',{key:meetingType.MeetingtypeId,class:{\n                  'is-active':\n                    meetingType.MeetingtypeId === _vm.selectedMeetingtypeId,\n                },on:{\"click\":function($event){return _vm.setSelectedMeetingtypeId(meetingType.MeetingtypeId)}}},[_c('a',[_vm._v(_vm._s(_vm._f(\"getMeetingtypeName\")(meetingType.MeetingtypeId)))])])}),0)])]),_c('div',{staticClass:\"column is-full\"},[(_vm.showEditCancelRules)?_c('modal-edit-cancel-rules',{attrs:{\"showModal\":_vm.showEditCancelRules,\"onClickCancel\":_vm.hideModal,\"bookingTerm\":_vm.bookingTerm},on:{\"termUpdated\":_vm.getBookingTerms}}):_vm._e(),_c('ui-section-header',{attrs:{\"showEdit\":_vm.bookingTerm.Status === 0 || _vm.bookingTerm.Status === 1,\"editFunction\":_vm.openCancelRules,\"titleClass\":'title is-4'},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$t('Views.Terms.BookingTermDetail.Header_CancelRules'))+\" \")]},proxy:true}],null,false,1383957057)}),_vm._l((_vm.groupSizes),function(groupSize,index){return _c('div',{key:index,staticClass:\"box\"},[(_vm.selectedMeetingtypeId === 1)?_c('div',{staticClass:\"subtitle\"},[_vm._v(\" \"+_vm._s(groupSize.MinSeats)+\" - \"+_vm._s(groupSize.MaxSeats)+\" \"+_vm._s(_vm.$t('Views.Terms.BookingTermDetail.Label_People'))+\" \")]):_vm._e(),_c('table',{staticClass:\"table is-fullwidth is-striped is-narrow\"},[_c('thead',[_c('tr',[_c('th',[_vm._v(\" \"+_vm._s(_vm.$t( 'Views.Terms.BookingTermDetail.TableHeader_DaysTillBooking' ))+\" \")]),_c('th',[_vm._v(\" \"+_vm._s(_vm.$t( 'Views.Terms.BookingTermDetail.TableHeader_Percentage' ))+\" \")])])]),_c('tbody',[(_vm.showMessageNoRules)?_c('tr',{key:\"NoConfig\"},[_c('td',{attrs:{\"colspan\":\"2\"}},[_c('article',{staticClass:\"message is-warning mb-2 mt-2\"},[_c('div',{staticClass:\"message-body\"},[_vm._v(\" \"+_vm._s(_vm.$t('Views.Terms.BookingTermDetail.Message_Warning'))+\" \")])])])]):_vm._e(),_vm._l((_vm.bookingTerm.CancelRules.filter(\n                    (rule) =>\n                      rule.MinSeats === groupSize.MinSeats &&\n                      rule.MaxSeats === groupSize.MaxSeats\n                  )),function(cancelRule){return _c('tr',{key:cancelRule.Id},[(cancelRule.MeetingtypeId === _vm.selectedMeetingtypeId)?_c('td',[_vm._v(\" \"+_vm._s(Math.floor(cancelRule.HoursUntilStart / 24))+\" \")]):_vm._e(),(cancelRule.MeetingtypeId === _vm.selectedMeetingtypeId)?_c('td',[_vm._v(\" \"+_vm._s(cancelRule.Percentage)+\"% \")]):_vm._e()])})],2)])])})],2)])])]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <transition name=\"fade\" mode=\"out-in\">\n    <ui-loader v-if=\"isLoading\" />\n    <div v-if=\"!isLoading\">\n      <nav class=\"navbar has-margin-bottom\">\n        <a @click=\"$router.go(-1)\" class=\"navbar-item\">\n          <span class=\"icon is-small\">\n            <font-awesome-icon :icon=\"['fas', 'chevron-left']\" />\n          </span>\n          <span>{{ $t('Views.Terms.BookingTermDetail.Link_Back') }}</span>\n        </a>\n      </nav>\n\n      <div class=\"container\">\n        <div class=\"columns is-multiline\">\n          <div class=\"wrapper column is-half\">\n            <ui-section-header\n              additionalClass=\"has-margin-bottom\"\n              :showEdit=\"bookingTerm.Status === 0 || bookingTerm.Status === 1\"\n              :editFunction=\"openEditName\"\n            >\n              <template v-slot:title>{{ bookingTerm.Version }}</template>\n            </ui-section-header>\n\n            <Message\n              v-if=\"bookingTerm.Version === ''\"\n              type=\"is-danger\"\n              :message=\"$t('Views.Terms.BookingTermDetail.Message_NoName')\"\n            ></Message>\n\n            <modal-edit-term-name\n              v-if=\"showEditTermName\"\n              :showModal=\"showEditTermName\"\n              :onClickCancel=\"hideModal\"\n              :bookingTerm=\"bookingTerm\"\n              @termUpdated=\"getBookingTerms\"\n            ></modal-edit-term-name>\n          </div>\n\n          <div class=\"column is-full\">\n            <modal-edit-term-text\n              v-if=\"showEditTermText\"\n              :showModal=\"showEditTermText\"\n              :onClickCancel=\"hideModal\"\n              :bookingTerm=\"bookingTerm\"\n              @termUpdated=\"getBookingTerms\"\n            />\n\n            <ui-section-header\n              :showEdit=\"bookingTerm.Status === 0 || bookingTerm.Status === 1\"\n              :editFunction=\"openEditText\"\n              :titleClass=\"'title is-4'\"\n            >\n              <template v-slot:title>{{\n                $t('Views.Terms.BookingTermDetail.HeaderTitle_ChangesTerms')\n              }}</template>\n            </ui-section-header>\n\n            <div class=\"columns is-multiline\">\n              <div\n                v-for=\"(language, index) in bookingTerm.Languages\"\n                :key=\"index\"\n                class=\"column is-half\"\n              >\n                <div class=\"title is-5\">\n                  {{ language.Language }}\n                </div>\n\n                <div class=\"textWrapper has-padding\">\n                  <div class=\"\">\n                    <strong>{{\n                      $t('Views.Terms.BookingTermDetail.Label_Changes')\n                    }}</strong\n                    ><br />\n                    {{ language.Changes }}\n                  </div>\n\n                  <div class=\"is-divider\"></div>\n\n                  <div class=\"has-margin-bottom has-text-weight-bold\">\n                    {{ $t('Views.Terms.BookingTermDetail.Label_Terms') }}\n                  </div>\n                  <div class=\"content\" v-html=\"language.Terms\"></div>\n                </div>\n              </div>\n            </div>\n          </div>\n\n          <div class=\"column is-full\">\n            <div class=\"tabs is-boxed\">\n              <ul>\n                <li\n                  v-for=\"meetingType in locationState.Meetingtypes\"\n                  @click=\"setSelectedMeetingtypeId(meetingType.MeetingtypeId)\"\n                  :class=\"{\n                    'is-active':\n                      meetingType.MeetingtypeId === selectedMeetingtypeId,\n                  }\"\n                  :key=\"meetingType.MeetingtypeId\"\n                >\n                  <a>{{ meetingType.MeetingtypeId | getMeetingtypeName }}</a>\n                </li>\n              </ul>\n            </div>\n          </div>\n\n          <div class=\"column is-full\">\n            <modal-edit-cancel-rules\n              v-if=\"showEditCancelRules\"\n              :showModal=\"showEditCancelRules\"\n              :onClickCancel=\"hideModal\"\n              :bookingTerm=\"bookingTerm\"\n              @termUpdated=\"getBookingTerms\"\n            />\n\n            <ui-section-header\n              :showEdit=\"bookingTerm.Status === 0 || bookingTerm.Status === 1\"\n              :editFunction=\"openCancelRules\"\n              :titleClass=\"'title is-4'\"\n            >\n              <template v-slot:title>\n                {{ $t('Views.Terms.BookingTermDetail.Header_CancelRules') }}\n              </template>\n            </ui-section-header>\n\n            <div\n              v-for=\"(groupSize, index) in groupSizes\"\n              :key=\"index\"\n              class=\"box\"\n            >\n              <div v-if=\"selectedMeetingtypeId === 1\" class=\"subtitle\">\n                {{ groupSize.MinSeats }} - {{ groupSize.MaxSeats }}\n                {{ $t('Views.Terms.BookingTermDetail.Label_People') }}\n              </div>\n\n              <table class=\"table is-fullwidth is-striped is-narrow\">\n                <thead>\n                  <tr>\n                    <th>\n                      {{\n                        $t(\n                          'Views.Terms.BookingTermDetail.TableHeader_DaysTillBooking'\n                        )\n                      }}\n                    </th>\n                    <th>\n                      {{\n                        $t(\n                          'Views.Terms.BookingTermDetail.TableHeader_Percentage'\n                        )\n                      }}\n                    </th>\n                  </tr>\n                </thead>\n                <tbody>\n                  <tr v-if=\"showMessageNoRules\" key=\"NoConfig\">\n                    <td colspan=\"2\">\n                      <article class=\"message is-warning mb-2 mt-2\">\n                        <div class=\"message-body\">\n                          {{\n                            $t('Views.Terms.BookingTermDetail.Message_Warning')\n                          }}\n                        </div>\n                      </article>\n                    </td>\n                  </tr>\n                  <tr\n                    v-for=\"cancelRule in bookingTerm.CancelRules.filter(\n                      (rule) =>\n                        rule.MinSeats === groupSize.MinSeats &&\n                        rule.MaxSeats === groupSize.MaxSeats\n                    )\"\n                    :key=\"cancelRule.Id\"\n                  >\n                    <td\n                      v-if=\"cancelRule.MeetingtypeId === selectedMeetingtypeId\"\n                    >\n                      {{ Math.floor(cancelRule.HoursUntilStart / 24) }}\n                    </td>\n                    <td\n                      v-if=\"cancelRule.MeetingtypeId === selectedMeetingtypeId\"\n                    >\n                      {{ cancelRule.Percentage }}%\n                    </td>\n                  </tr>\n                </tbody>\n              </table>\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n  </transition>\n</template>\n\n<script>\nimport { mapState } from 'vuex'\nimport termsProvider from '@/providers/terms'\n\nconst Message = () =>\n  import(/* webpackChunkName: \"reservations-list\" */ '@/components/UI/Message')\nconst EditTermName = () => import('@/components/Terms/ModalEditTermName')\nconst EditTermText = () => import('@/components/Terms/ModalEditTermText')\nconst EditCancelRules = () => import('@/components/Terms/ModalEditCancelRules')\n\nexport default {\n  components: {\n    Message,\n    'modal-edit-term-name': EditTermName,\n    'modal-edit-term-text': EditTermText,\n    'modal-edit-cancel-rules': EditCancelRules,\n  },\n\n  props: {},\n\n  data() {\n    return {\n      termId: Number(this.$route.params.termId),\n      channelId: Number(this.$route.params.channelId),\n      locationId: Number(this.$route.params.locationId),\n      isLoading: false,\n      showEditTermName: false,\n      showEditTermText: false,\n      showEditCancelRules: false,\n      selectedMeetingtype: null,\n      selectedMeetingtypeId: 1,\n      bookingTerm: {},\n    }\n  },\n\n  computed: {\n    ...mapState('locationStore', ['locationState']),\n\n    showMessageNoRules() {\n      let typeIndex = this.bookingTerm.CancelRules.findIndex(\n        (rule) => rule.MeetingtypeId === this.selectedMeetingtypeId\n      )\n      if (typeIndex === -1 || this.bookingTerm.CancelRules.length === 0) {\n        return true\n      }\n      return false\n    },\n\n    groupSizes() {\n      let sizes = []\n\n      if (this.bookingTerm && this.bookingTerm.CancelRules.length > 0) {\n        this.bookingTerm.CancelRules.filter(\n          (cr) => cr.MeetingtypeId === this.selectedMeetingtypeId\n        ).map(\n          (rule) =>\n            // rule.MaxSeats > -1 || rule.MinSeats > -1\n            //   ?\n            sizes.push({\n              Id: rule.Id,\n              MinSeats: rule.MinSeats,\n              MaxSeats: rule.MaxSeats,\n            })\n          // : null\n        )\n        //filter out duplicates\n        sizes = sizes.filter(\n          (groupSizes, index, self) =>\n            index ===\n            self.findIndex(\n              (t) =>\n                t.MinSeats === groupSizes.MinSeats &&\n                t.MaxSeats === groupSizes.MaxSeats\n            )\n        )\n      }\n\n      return sizes\n    },\n  },\n\n  created() {\n    this.getBookingTerms()\n  },\n\n  methods: {\n    getBookingTerms() {\n      let self = this\n      if (!self.isLoading) {\n        self.isLoading = true\n        termsProvider.methods\n          .getLocationBookingTerms(this.channelId, this.locationId)\n          .then((response) => {\n            let specificTerm = response.data.filter(\n              (term) => term.Id === this.termId\n            )\n            self.bookingTerm = specificTerm[0]\n          })\n          .catch((e) => {})\n          .finally(() => {\n            self.isLoading = false\n          })\n      }\n    },\n\n    openEditName() {\n      this.showEditTermName = true\n    },\n\n    openEditText() {\n      this.showEditTermText = true\n    },\n\n    openCancelRules() {\n      this.showEditCancelRules = true\n    },\n\n    hideModal() {\n      this.showEditTermName = false\n      this.showEditTermText = false\n      this.showEditCancelRules = false\n    },\n\n    setSelectedMeetingtypeId(meetingtypeId) {\n      let self = this\n      self.selectedMeetingtype = null\n      self.selectedMeetingtypeId = meetingtypeId\n\n      let meetingtypeIndex = self.locationState.Meetingtypes.findIndex(\n        (m) => m.MeetingtypeId === meetingtypeId\n      )\n      if (meetingtypeIndex > -1) {\n        self.selectedMeetingtype =\n          self.locationState.Meetingtypes[meetingtypeIndex]\n      }\n    },\n  },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.textWrapper {\n  border: 1px solid $grey-lighter;\n  overflow-y: scroll;\n  width: 100%;\n  height: 300px;\n}\n</style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BookingTermDetail.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BookingTermDetail.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./BookingTermDetail.vue?vue&type=template&id=7c6916cd&scoped=true\"\nimport script from \"./BookingTermDetail.vue?vue&type=script&lang=js\"\nexport * from \"./BookingTermDetail.vue?vue&type=script&lang=js\"\nimport style0 from \"./BookingTermDetail.vue?vue&type=style&index=0&id=7c6916cd&prod&lang=scss&scoped=true\"\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  \"7c6916cd\",\n  null\n  \n)\n\nexport default component.exports","import axios from 'axios'\nimport store from '@/store'\n\nexport default {\n  methods: {\n    async getTermsById(termId) {\n      const response = await axios.get(\n        `${process.env.VUE_APP_API_BASE_URL}/api/v1/term/${termId}`,\n        {\n          headers: {\n            'Content-type': 'application/json',\n            apiToken: process.env.VUE_APP_API_KEY,\n          },\n        }\n      )\n      return response\n    },\n\n    /**\n     * Get latest license terms\n     * @param {Object}\n     */\n    async getLatestLicenseTerms(channelId, locale = 'en') {\n      const response = await axios.get(\n        `${process.env.VUE_APP_API_BASE_URL}/api/v1/term/license/latest`,\n        {\n          params: {\n            channelId: channelId,\n            language: locale,\n          },\n          headers: {\n            'Content-type': 'application/json',\n            apiToken: process.env.VUE_APP_API_KEY,\n          },\n        }\n      )\n      return response\n    },\n\n    /** \n     * Get all booking terms of a location for a certain channel\n     * \n     */\n    async getLocationBookingTerms(channelId, locationId) {\n      const response = await axios.get(\n        `${process.env.VUE_APP_API_BASE_URL}/api/v1/term/booking`,\n        {\n          params: {\n            channelId: channelId,\n            locationId: locationId\n          },\n          headers: {\n            'Content-type': 'application/json',\n            apiToken: process.env.VUE_APP_API_KEY,\n          },\n        }\n      )\n      return response\n    },\n\n    async createLocationBookingTerm(term) {\n      const response = await axios.post(\n        `${process.env.VUE_APP_API_BASE_URL}/api/v1/term/booking`,\n        JSON.stringify(term),\n        {\n          headers: {\n            'Content-type': 'application/json',\n            apiToken: process.env.VUE_APP_API_KEY,\n            profileToken: store.getters['profileStore/getProfileToken']\n          }\n        }\n      )\n      return response\n    },\n\n    async updateBookingTerm(term) {\n      const response = await axios.put(\n        `${process.env.VUE_APP_API_BASE_URL}/api/v1/term/booking`,\n        JSON.stringify(term),\n        {\n          headers: {\n            'Content-type': 'application/json',\n            apiToken: process.env.VUE_APP_API_KEY,\n            profileToken: store.getters['profileStore/getProfileToken']\n          }\n        }\n      )\n      return response\n    },\n\n    async deleteTerm(termId) {\n      const response = await axios.delete(\n        `${process.env.VUE_APP_API_BASE_URL}/api/v1/term/${termId}`,\n        {\n          headers: {\n            'Content-type': 'application/json',\n            apiToken: process.env.VUE_APP_API_KEY,\n            profileToken: store.getters['profileStore/getProfileToken']\n          }\n        }\n      )\n      return response\n    },\n\n    async updateActivateTerm(termId) {\n      const response = await axios.put(\n        `${process.env.VUE_APP_API_BASE_URL}/api/v1/term/${termId}/activate`,\n        {},\n        {\n          headers: {\n            'Content-type': 'application/json',\n            apiToken: process.env.VUE_APP_API_KEY,\n            profileToken: store.getters['profileStore/getProfileToken']\n          }\n        }\n      )\n      return response\n    },\n\n    async agreeToTerms(termId, locationId) {\n      const response = await axios.post(\n        `${process.env.VUE_APP_API_BASE_URL}/api/v1/term/agree`,\n        {\n          TermsId: termId,\n          LocationId: locationId,\n          HasAgreed: true\n        },\n        {\n          headers: {\n            'Content-type': 'application/json',\n            apiToken: process.env.VUE_APP_API_KEY,\n            profileToken: store.getters['profileStore/getProfileToken']\n          }\n        }\n      )\n      return response\n    },\n  },\n}\n"],"sourceRoot":""}