PageSourceSearch

https://www.spafinder.com/js/listing.34cf001b.js

js spafinder.com collected 2026-09-24 09:32:23 UTC 10,369 bytes, 1 lines download raw bytes

1"use strict";(self["webpackChunkfind_v2_spafinder"]=self["webpackChunkfind_v2_spafinder"]||[]).push([[4813],{63302:function(e,t,i){i.r(t),i.d(t,{default:function(){return w}});var s=i(50487),n=function(){var e=this,t=e._self._c;e._self._setupProxy;return t("div",[e.getPageContentLoadingState?t("div",{staticClass:"progress-wrap"},[t(s.A,{attrs:{color:"grey lighten-2",width:15,size:150,indeterminate:""}})],1):t("div",[e.getListing.bannerName?t("SpaLayout"):t("NotFound")],1)])},a=[],o=i(42473),r=(i(44114),i(31635)),c=i(11406),h=i(95353),l=i(56949),d=i(39243);const p=()=>i.e(9757).then(i.bind(i,87336)),g=()=>i.e(8864).then(i.bind(i,20164));let u=class extends c.lD{constructor(...e){super(...e),(0,o.A)(this,"getTenant",void 0),(0,o.A)(this,"getListing",void 0),(0,o.A)(this,"getPageContentLoadingState",void 0),(0,o.A)(this,"getPhone",void 0),(0,o.A)(this,"allAnchors",void 0),(0,o.A)(this,"updateListing",void 0),(0,o.A)(this,"fetchListingByUrl",void 0),(0,o.A)(this,"fetchServicesTags",void 0),(0,o.A)(this,"pushEventMetaInfo",void 0),(0,o.A)(this,"pushEventCheckSEO",void 0),(0,o.A)(this,"initHomepageContent",void 0),(0,o.A)(this,"phone",""),(0,o.A)(this,"canonicalLink","")}async watchRoute(e){await this.fetchListingByUrl(e.params["id"]),await this.allAnchors(),await this.updateCanonicalLink(this.getListing.canonicalLink)}async created(){const{phone:e,location:t}=this.getListing;await this.initContent(),this.phone=await this.getPhone({phone:e,countryCode:t.countryCode})}async initContent(){await this.initHomepageContent(),await this.fetchServicesTags()}get meta(){const e=d.Ay.endpoints.canonical||"https://www.spafinder.com";let t=this.canonicalLink;return t===d.Ay.endpoints.notFoundPageMetaUrl?{title:`Requested listing does not exist | ${this.getTenant.helperInfo.fullProjectName}`,canonical:`${e}/spa/${t}`,description:""}:{title:this.getPageContentLoadingState||!this.getListing.bannerName?"":this.getListing.bannerName.substring(0,60),canonical:t.startsWith("http")?t:`${e.replace(/\/$/,"")}/spa/${t.replace(/^\//,"")}`,description:this.getListing.businessDescription?this.getListing.businessDescription.substring(0,158):""}}updateCanonicalLink(e){const t=d.Ay.endpoints.notFoundPageMetaUrl;this.canonicalLink=e,e!==this.$route.params["id"]&&e!==t&&this.$router.replace({path:this.canonicalLink,query:this.$route.query}).catch(()=>{}).then(()=>this.$emit("updateHead")),this.getPageContentLoadingState||(this.$emit("updateHead"),this.pushEventMetaInfo(document.title),this.pushEventCheckSEO(this.getListing))}};(0,r.Cg)([(0,c.ox)("$route",{deep:!0,immediate:!0})],u.prototype,"watchRoute",null),u=(0,r.Cg)([(0,c.uA)({head:{title(){return{inner:this.meta.title}},meta(){return[{id:"description",name:"description",content:this.meta.description||`Look for special offers from thousands locations worldwide. Give the gift of health & wellness at ${this.getTenant.helperInfo.fullProjectName}!`}]},link(){const e=[];return e.push({id:"canonical",rel:"canonical",href:this.meta.canonical}),e},script(){return[{id:"HealthAndBeautyBusiness",type:"application/ld+json",inner:(0,l.q5)(this.getListing,`${"spafinder"===this.getTenant.name?this.getTenant.endpoints.canonical:`https://${this.getTenant.endpoints.findCanonical}`}${this.$route.fullPath}`,this.phone)}]}},components:{NotFound:p,SpaLayout:g},computed:{...(0,h.L8)("SpaModule",["getListing","getPageContentLoadingState"]),...(0,h.L8)("WidgetsModule",["getTenant"])},methods:{...(0,h.i0)("SpaModule",["fetchListingByUrl","updateListing","allAnchors"]),...(0,h.i0)("HomeModule",["initHomepageContent"]),...(0,h.i0)("ServicesModule",["fetchServicesTags"]),...(0,h.i0)("DataLayerModule",["pushEventMetaInfo","pushEventCheckSEO"]),...(0,h.i0)("WidgetsModule",["getPhone"])}})],u);var m=u,f=m,y=i(81656),A=(0,y.A)(f,n,a,!1,null,"7ce22ee8",null),w=A.exports},23893:function(e,t,i){var s;i.d(t,{d:function(){return s}}),function(e){e["salon"]="Salon",e["daySpa"]="Day Spa",e["pilates"]="Pilates",e["fitness"]="Fitness",e["allSpas"]="All Spas",e["staySpa"]="Stay Spa",e["yogaStudio"]="Yoga Studio",e["medicalSpa"]="Medical Spa",e["independent"]="Independent",e["destinationSpa"]="Destination Spa",e["wellnessCenter"]="Wellness Center"}(s||(s={}))},56949:function(e,t,i){i.d(t,{jD:function(){return m},q5:function(){return y},K:function(){return A}});var s=i(23893),n=i(42473);i(18111),i(61701);class a{constructor(e){(0,n.A)(this,"item",""),(0,n.A)(this,"name",""),(0,n.A)(this,"@type",""),(0,n.A)(this,"position",0),e&&(this.name=e.name,this.item=e.item,this["@type"]=e["@type"],this.position=e.position)}}class o{constructor(e){(0,n.A)(this,"@type",""),(0,n.A)(this,"@context",""),(0,n.A)(this,"itemListElement",[]),e&&(this["@type"]=e["@type"],this["@context"]=e["@context"],this.itemListElement=e.itemListElement?e.
1itemListElement.map(e=>new a(e)):[])}}class r{constructor(e){(0,n.A)(this,"url",""),(0,n.A)(this,"price",0),(0,n.A)(this,"@type",""),(0,n.A)(this,"validFrom",""),(0,n.A)(this,"availability",""),(0,n.A)(this,"priceCurrency",""),e&&(this.url=e.url,this.price=e.price,this["@type"]=e["@type"],this.validFrom=e.validFrom,this.availability=e.availability,this.priceCurrency=e.priceCurrency)}}class c{constructor(e){(0,n.A)(this,"@type",""),(0,n.A)(this,"ratingValue",""),(0,n.A)(this,"reviewCount",""),e&&(this["@type"]=e["@type"],this.ratingValue=e.ratingValue,this.reviewCount=e.reviewCount)}}class h{constructor(e){(0,n.A)(this,"@type",""),(0,n.A)(this,"postalCode",""),(0,n.A)(this,"addressRegion",""),(0,n.A)(this,"streetAddress",""),(0,n.A)(this,"addressLocality",""),e&&(this["@type"]=e["@type"],this.postalCode=e.postalCode,this.streetAddress=e.streetAddress,this.addressRegion=e.addressRegion,this.addressLocality=e.addressLocality)}}class l{constructor(e){(0,n.A)(this,"url",""),(0,n.A)(this,"name",""),(0,n.A)(this,"@type",""),(0,n.A)(this,"address",new h),e&&(this["@type"]=e["@type"],this.url=e.url,this.name=e.name,this.address=new h(e.address))}}class d{constructor(e){(0,n.A)(this,"name",""),(0,n.A)(this,"image",""),(0,n.A)(this,"email",""),(0,n.A)(this,"@type",""),(0,n.A)(this,"address",new h),(0,n.A)(this,"telephone",""),(0,n.A)(this,"priceRange",""),e&&(this.name=e.name,this.image=e.image,this.email=e.email,this.address=new h(e.address),this["@type"]=e["@type"],this.telephone=e.telephone,this.priceRange=e.priceRange)}}class p{constructor(e){(0,n.A)(this,"url",""),(0,n.A)(this,"name",""),(0,n.A)(this,"image",""),(0,n.A)(this,"offers",new r),
1(0,n.A)(this,"@type",""),(0,n.A)(this,"endDate",""),(0,n.A)(this,"location",new l),(0,n.A)(this,"startDate",""),(0,n.A)(this,"performer",new d),(0,n.A)(this,"@context",""),(0,n.A)(this,"description",""),(0,n.A)(this,"aggregateRating",new c),e&&(this.url=e.url,this.name=e.name,this.image=e.image,this.offers=new r(e.offers),this.endDate=e.endDate,this.location=new l(e.location),this["@type"]=e["@type"],this.startDate=e.startDate,this.performer=new d(e.performer),this["@context"]=e["@context"],this.description=e.description,this.aggregateRating=new c(e.aggregateRating))}}class g{constructor(e){(0,n.A)(this,"url",""),(0,n.A)(this,"name",""),(0,n.A)(this,"email",""),(0,n.A)(this,"image",""),(0,n.A)(this,"@type",""),(0,n.A)(this,"address",new h),(0,n.A)(this,"telephone",""),(0,n.A)(this,"@context",""),(0,n.A)(this,"priceRange",""),(0,n.A)(this,"openingHours",[]),(0,n.A)(this,"aggregateRating",new c),e&&(this.url=e.url,this.name=e.name,this.email=e.email,this.image=e.image,this.address=new h(e.address),this["@type"]=e["@type"],this.telephone=e.telephone,this.priceRange=e.priceRange,this["@context"]=e["@context"],this.openingHours=e.openingHours,this.aggregateRating=new c(e.aggregateRating))}}const u="https://schema.org",m=(e,t,i)=>JSON.stringify(new o({"@context":u,"@type":"BreadcrumbList",itemListElement:[new a({item:i,name:"Spafinder","@type":"ListItem",position:1}),new a({item:i+"/search",name:"Spas & Wellness Locations","@type":"ListItem",position:2}),new a({"@type":"ListItem",position:3,name:e,item:`${i}/search?sort=relevance&distance=50&location=${e}`}),new a({"@type":"ListItem",position:4,name:t,item:`${i}/search?sort=relevance&distance=50&keywords=${t}&location=${e}`})].filter(e=>e.name)})),f=e=>{switch(e.businessTypes[0]){case s.d.daySpa:case s.d.staySpa:case s.d.allSpas:case s.d.medicalSpa:case s.d.destinationSpa:return"DaySpa";case s.d.salon:return"BeautySalon";case s.d.fitness:case s.d.pilates:case s.d.yogaStudio:return"HealthClub";default:return"HealthAndBeautyBusiness"}},y=(e,t,i)=>{const{location:s,bannerName:n,email:a,images:o}=e,{postalCode:r,address1:l,stateOrProvince:d,city:p}=s,m=new g({url:t,email:a,name:n,image:o&&o[0]&&o[0].seoUrl||"","@type":f(e),address:new h({"@type":"PostalAddress",postalCode:r,streetAddress:l,addressRegion:d,addressLocality:p}),telephone:i,"@context":u,priceRange:"Call",openingHours:e.hours,aggregateRating:new c({"@type":"AggregateRating",ratingValue:(e.averageScore||"").toString(),reviewCount:(e.totalReviews||"").toString()})});return e.totalReviews||delete m.aggregateRating,JSON.stringify(m)},A=(e,t,i,s)=>{const n=new p({url:t,name:i,image:e.offer&&e.offer.images[0]&&e.offer.images[0].seoUrl||"","@type":"SaleEvent",offers:new r({url:t,price:e.offer.percentOff?0:e.offer.price&&!e.offer.discountPrice?e.offer.price:e.offer.discountPrice,"@type":"Offer",validFrom:e.offer.startDate,availability:"http://schema.org/InStock",priceCurrency:"$"}),location:new l({url:t,name:e.bannerName,"@type":"Place",address:new h({"@type":"PostalAddress",postalCode:e.location.postalCode,streetAddress:e.location.address1,addressRegion:e.location.stateOrProvince,addressLocality:e.location.city})}),performer:new d({name:e.bannerName,image:e.offer&&e.offer.images[0]&&e.offer.images[0].seoUrl||"",email:e.email,"@type":"LocalBusiness",address:new h({"@type":"PostalAddress",postalCode:e.location.postalCode,streetAddress:e.location.address1,addressRegion:e.location.stateOrProvince,addressLocality:e.location.city}),telephone:e.phone,priceRange:e.offer.percentOff?`${e.offer.percentOff}% OFF`:`$${e.offer.price&&!e.offer.discountPrice?e.offer.price:e.offer.discountPrice}`}),endDate:e.offer.endDate,startDate:e.offer.startDate,"@context":u,description:s,aggregateRating:new c({"@type":"AggregateRating",ratingValue:e.averageScore.toString(),reviewCount:e.totalReviews.toString()})});return e.totalReviews||delete n.aggregateRating,JSON.stringify(n)}}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.