PageSourceSearch

https://www.hrs.com/_next/static/chunks/13932-fb3d9c618d885aaa.js

js hrs.com collected 2026-10-02 03:06:16 UTC 21,066 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[13932],{9573:(e,t,a)=>{a.d(t,{g:()=>r});var r=function(e){return e.successFetchCustomerData="Customer.successFetchCustomerData",e.resetState="Customer.resetState",e.setContactState="Customer.setContactState",e.setTemplateState="Customer.setTemplateState",e.setLoyaltyCardsState="Customer.setLoyaltyCardsState",e.setFavorites="Customer.setFavorites",e.setProfileError="Customer.setProfileError",e.setUpsertBookingTemplate="Customer.setUpsertBookingTemplate",e.setUpdatingToBookingTemplate="Customer.setUpdatingToBookingTemplate",e.setTemplateUpdateError="Customer.setTemplateUpdateError",e.setSaveToBookingTemplate="Customer.setSaveToBookingTemplate",e.resetSaveToBookingTemplate="Customer.resetSaveToBookingTemplate",e}({})},18861:(e,t,a)=>{a.d(t,{$V:()=>n,$z:()=>m,Ak:()=>o,CI:()=>d,DJ:()=>u,U2:()=>p,Yx:()=>y,_p:()=>c,bX:()=>h,e9:()=>s,lz:()=>l,wW:()=>i});var r=a(9573);let o=(e,t,a,o,n)=>({type:r.g.successFetchCustomerData,contact:e,bookingTemplates:t,creditCards:a,loyaltyCards:o,favorites:n}),n=()=>({type:r.g.resetState}),s=(e,t)=>({type:r.g.setContactState,isContactLoading:e,contact:t}),i=(e,t,a)=>({type:r.g.setTemplateState,isTemplatesLoading:e,templates:t,creditCards:a}),l=(e,t)=>({type:r.g.setLoyaltyCardsState,isLoyaltyLoading:e,loyaltyCards:t}),d=e=>({type:r.g.setFavorites,favorites:e}),c=e=>({type:r.g.setProfileError,error:e}),m=e=>({type:r.g.setUpsertBookingTemplate,upsertBookingTemplate:e}),u=e=>({type:r.g.setUpdatingToBookingTemplate,updating:e}),p=e=>({type:r.g.setTemplateUpdateError,templateUpdateError:e}),y=(e,t,a)=>({type:r.g.setSaveToBookingTemplate,section:e,saveToBookingTemplate:t,cartItemId:a}),h=()=>({type:r.g.resetSaveToBookingTemplate})},27245:(e,t,a)=>{a.d(t,{o:()=>o});var r=a(37929);class o{static mapFromResponse(e){return e.content.map(e=>this.mapTemplateFromResponse(e)).sort((e,t)=>this.compareTemplates(e,t))}static compareTemplates(e,t){return e.isDefaultTemplate?-1:t.isDefaultTemplate?1:e.name.localeCompare(t.name)}static mapTemplateFromResponse(e){var t,a,r,o;let n,s=this.mapToCustomer(e.contact),i=this.mapToBillingAddress(e.billingAddress);(e.bookingWishSet||e.bookingTextWish)&&(n={wishes:e.bookingWishSet?e.bookingWishSet:[],freeText:null==(r=e.bookingTextWish)||null==(a=r.text)?void 0:a.trim()});let l=[];return e.guests&&(l=e.guests.map(e=>{var t,a,r,o;return{firstName:null==(a=e.personName)||null==(t=a.firstName)?void 0:t.trim(),lastName:null==(o=e.personName)||null==(r=o.lastName)?void 0:r.trim()}})),{id:e.id,name:null!=(o=null==(t=e.templateName)?void 0:t.trim())?o:"",isDefaultTemplate:e.defaultTemplate,customer:s,billingAddress:i,paymentMeansId:e.paymentMeansId,guestWishes:n,guests:l}}static mapToCustomer(e){var t,a,o,n,s,i,l;return e?{firstName:null==(o=e.address)||null==(a=o.personName)||null==(t=a.firstName)?void 0:t.trim(),lastName:null==(i=e.address)||null==(s=i.personName)||null==(n=s.lastName)?void 0:n.trim(),phoneNumber:e.phoneNumber?r.K.mapPhoneNumber(e.phoneNumber):void 0,email:null==(l=e.email)?void 0:l.trim()}:{}}static mapToBillingAddress(e){var t,a,r,o,n,s,i,l,d,c,m;let u=null==e?void 0:e.address;if(u&&((null==(t=u.personName)?void 0:t.firstName)!==""||""!==u.personName.lastName||""!==u.street||""!==u.zipCode||""!==u.city||""!==u.country))return{companyName:null==(r=u.companyName)||null==(a=r.name)?void 0:a.trim(),city:null==(o=u.city)?void 0:o.trim(),countryCode:null==(n=u.country)?void 0:n.trim(),firstName:null==(i=u.personName)||null==(s=i.firstName)?void 0:s.trim(),lastName:null==(d=u.personName)||null==(l=d.lastName)?void 0:l.trim(),street:null==(c=u.street)?void 0:c.trim(),postalCode:null==(m=u.zipCode)?void 0:m.trim()}}}},30823:(e,t,a)=>{a.d(t,{c:()=>u});var r=a(69406),o=a(16752),n=a(18614),s=a(84713),i=a(37929),l=function(e){return e.NON_SMOKE_ROOM="NON_SMOKE_ROOM",e.PARKING="PARKING",e.CALM_ROOM="CALM_ROOM",e.VIP="VIP",e.SMOKE_ROOM="SMOKE_ROOM",e.TWIN_BED="TWIN_BED",e.DOUBLE_BED="DOUBLE_BED",e.EARLY_ARRIVAL="EARLY_ARRIVAL",e.LATE_DEPARTURE="LATE_DEPARTURE",e.LATE_ARRIVAL="LATE_ARRIVAL",e.SEPERATE_BEDS="SEPERATE_BEDS",e.KINGSIZE_BED="KINGSIZE_BED",e.DISABLED_ACCESS="DISABLED_ACCESS",e}({});class d{static mapToRequest(e,t){let a,r,o,n=this.mapToBillingAddress(t.billingAddress);if(t.guestWishes){var s;r=null==(s=t.guestWishes.wishes)?void 0:s.map(e=>l[e]),t.guestWishes.freeText&&(o={text:t.guestWishes.freeText})}return t.guests.length>0&&(a=t.guests.map((e,t)=>this.mapToGuest(e,t))),JSON.stringify({id:t.id,templateName:t.name,defaultTemplate:t.isDefaultTemplate,usage:"PRIVATE",person:{id:e},contact:this.mapToContact(t.customer),billingAddress:n,paymentMeansId:t.paymentMeansId,bookingWishSet:r,bookingTextWish:o,guests:a})}static mapToGuest(e,t){return{position:t,personName:{firstName:e.firstName,lastName:e.lastName}}}static mapToBillingAddress(e){let t;return e?(e.companyName&&(t={type:"DISPLAY_NAME",name:e.companyName}),{address:{companyName:t,personName:{firstName:e.firstName,lastName:e.lastName,salutationType:"NONE"},street:e.street,zipCode:e.postalCode,city:e.city,country:e.countryCode}}):{address:{personName:{firstName:"",lastName:"",salutationType:"NONE"},companyName:{type:"DISPLAY_NAME",name:""},street:"",zipCode:"",city:""}}}static mapToContact(e){return{email:e.email,address:{personName:{salutationType:"NONE",firstName:e.firstName,lastName:e.lastName}},phoneNumber:e.phoneNumber?{countryCode:e.phoneNumber.countryCode,callNumber:e.phoneNumber.callNumber,type:"VOICE"}:{countryCode:"",callNumber:"",type:"VOICE"}}}}var c=a(27245);let m=o.T.apiConfig.customerDataEndpoint;class u{static buildHeaders(e){let t=new Headers;return t.append("Content-Type","application/json"),t.append("Accept-Encoding","gzip"),t.append("Authorization","Bearer ".concat(e)),t.append("x-client-id",(0,s.Jf)()),t}static async getContactData(e,t){return fetch("".concat(m,"/v1/users/").concat(e),{method:"GET",redirect:"follow",headers:this.buildHeaders(t)}).then(e=>e.json()).then(e=>e).then(e=>i.K.mapFromResponse(e)).catch(e=>(r.Vy.error(e,{source:r._q.CustomerDataService,method:"getContactData"}),{firstName:"",lastName:"",email:""}))}static async updateContactData(e,t,a){let o="".concat(m,"/v1/users/").concat(e);return fetch(o,{method:"PATCH",headers:this.buildHeaders(t),body:JSON.stringify(i.K.mapToPatchRequest(a))}).then(e=>200===e.status||((0,s.YT)(e,o,{source:r._q.CustomerDataService,method:"updateContactData"}),!1)).catch(e=>(r.Vy.error(e,{source:r._q.CustomerDataService,method:"updateContactData"}),!1))}static async getBookingTemplates(e){let t=[],a="".concat(m,"/v1/booking-templates");return fetch(a,{method:"GET",redirect:"follow",headers:this.buildHeaders(e)}).then(o=>o.ok?o.json():((0,s.YT)(o,a,{source:r._q.CustomerDataService,method:"getBookingTemplates",tokenExpSecondsRemaining:(0,n.iY)(e)}),t)).then(e=>e).then(e=>c.o.mapFromResponse(e)).catch(o=>(r.Vy.error(o,{source:r._q.CustomerDataService,method:"getBookingTemplates",url:a,tokenExpSecondsRemaining:(0,n.iY)(e)}),t))}static async deleteBookingTemplate(e,t){let a="".concat(m,"/v1/booking-templates/").concat(t);return fetch(a,{method:"DELETE",redirect:"follow",headers:this.buildHeaders(e)}).then(e=>204===e.status||((0,s.YT)(e,a,{source:r._q.CustomerDataService,method:"getBookingTemplates"}),!1)).catch(e=>(r.Vy.error(e,{source:r._q.CustomerDataService,method:"getBookingTemplates",url:a}),!1))}static async insertBookingTemplate(e,t,a){let o="".concat(m,"/v1/booking-templates");return fetch(o,{method:"POST",redirect:"follow",headers:this.buildHeaders(t),body:d.mapToRequest(e,a)}).then(e=>201!==e.status?void(0,s.YT)(e,o,{source:r._q.CustomerDataService,method:"insertBookingTemplate",tokenExpSecondsRemaining:(0,n.iY)(t)}):e.json()).then(e=>c.o.mapTemplateFromResponse(e)).catch(e=>{r.Vy.error(e,{source:r._q.CustomerDataService,method:"insertBookingTemplate",url:o,tokenExpSecondsRemaining:(0,n.iY)(t)})})}static async updateBookingTemplate(e,t,a){let r=await this.insertBookingTemplate(e,t,a);
1if(r&&await this.deleteBookingTemplate(t,a.id))return r}static async startEmailChange(e,t,a){let n="".concat(m,"/v1/users/").concat(e,"/email");return fetch(n,{method:"PUT",redirect:"follow",headers:this.buildHeaders(t),body:JSON.stringify({newEmail:a,clientId:o.T.cognito.CLIENT_APP_ID})}).then(e=>{if(204!==e.status){var t;return(0,s.YT)(e,n,{source:r._q.CustomerDataService,method:"startEmailChange"}),null!=(t=({400:"InvalidParameter",409:"EmailAlreadyExists",429:"TooManyUpdateEmailRequests"})[e.status])?t:"Unknown"}}).catch(e=>(r.Vy.error(e,{source:r._q.CustomerDataService,method:"startEmailChange",url:n}),"Unknown"))}static async confirmEmailChange(e,t){let a="".concat(m,"/v1/users/").concat(e,"/email/").concat(t);try{let e=await fetch(a,{method:"GET",redirect:"follow"});if(204!==e.status){if((0,s.YT)(e,a,{source:r._q.CustomerDataService,method:"confirmEmailChange"}),400===e.status)return"InvalidConfirmationCode";return"Unknown"}return}catch(e){return r.Vy.error(e,{source:r._q.CustomerDataService,method:"confirmEmailChange",url:a}),"Unknown"}}}},36260:(e,t,a)=>{a.d(t,{S:()=>r});var r=function(e){return e.NoDecision="NoDecision",e.GoogleApplePay="GoogleApplePay",e.PCI="PCI",e.TemplateCard="TemplateCard",e}({})},37929:(e,t,a)=>{a.d(t,{K:()=>r});class r{static mapFromResponse(e){var t,a,r,o,n,s,i,l,d;let c={firstName:null==(t=e.contact.address.personName.firstName)?void 0:t.trim(),lastName:null==(a=e.contact.address.personName.lastName)?void 0:a.trim(),email:null==(r=e.contact.email)?void 0:r.trim(),street:null==(o=e.contact.address.street)?void 0:o.trim(),city:null==(n=e.contact.address.city)?void 0:n.trim(),countryCode:e.contact.address.country,postalCode:null==(s=e.contact.address.zipCode)?void 0:s.trim()};return(null==(i=e.contact.phoneNumber)?void 0:i.callNumber)&&(c.phoneNumber=this.mapPhoneNumber(e.contact.phoneNumber)),(null==(l=e.companyContact)?void 0:l.address.companyName)&&(c.companyName=null==(d=e.companyContact.address.companyName.name)?void 0:d.trim()),c}static mapPhoneNumber(e){let t="+49";return e.countryCode&&/\+\d{1,5}/.test(e.countryCode.trim())&&(t=e.countryCode.trim()),{countryCode:t,callNumber:e.callNumber.replace(/[^0-9]/g,"")}}static mapToPatchRequest(e){return{contact:{address:{personName:{firstName:e.firstName,lastName:e.lastName},street:e.street,zipCode:e.postalCode,city:e.city,country:e.countryCode},phoneNumber:e.phoneNumber?{countryCode:e.phoneNumber.countryCode,callNumber:e.phoneNumber.callNumber,type:"VOICE"}:{countryCode:"",callNumber:"",type:"VOICE"}},companyContact:{address:{companyName:{name:e.companyName,type:"DISPLAY_NAME"}}}}}}},40152:(e,t,a)=>{a.d(t,{b:()=>s});var r=a(69406),o=a(18614),n=a(59785);let s=()=>async e=>{try{let t=await (0,o.TT)(!0);if(!t)return;e((0,n._3)({isRunning:!1,isLoggedIn:!0,firstName:t.given_name,lastName:t.family_name,email:t.email,profileId:t.profile_id}))}catch(e){r.Vy.error(e,{source:r._q.AuthService,method:"refreshCurrentSession"})}}},50184:(e,t,a)=>{a.d(t,{W:()=>l});var r=a(69406),o=a(16752),n=a(84713);let s={Visa:"VISA",MasterCard:"MASTERCARD",AMEX:"AMERICAN_EXPRESS",DinersClub:"DINERS",Discover:"DISCOVER",JCB:"JCB",UnionPay:"CHINA_UNION_PAY",EuroCard:"EUROCARD"};class i{static mapResponse(e){return e.filter(e=>!e.invalid&&"CREDIT_CARD_TOKEN"===e.type).map(e=>{var t;return{paymentMeansId:e.id,expirationDate:e.anonymizedCreditCard.creditCard.validUntil,cardNumber:e.anonymizedCreditCard.creditCard.creditCardNumber,type:e.anonymizedCreditCard.creditCard.type,holderName:e.anonymizedCreditCard.creditCard.holder,tokenExpired:null!=(t=e.tokenExpired)&&t}})}static mapRequest(e,t){if(!e.cardType||!e.cardHolderName||!e.expiration||!e.cardNumber||!e.cardToken)return;let a=e.cardNumber.split("*"),r=a[a.length-1];if(r)return{paymentMeans:{type:"CREDIT_CARD_TOKEN",creditCard:{type:s[e.cardType],holder:e.cardHolderName,validUntil:"".concat(e.expiration.substring(0,2),"/").concat(e.expiration.substring(4,6)),creditCardNumber:r,creditCardValidationValue:e.cvv},provider:"PCI_BOOKING",token:e.cardToken},publicRequestType:t?"FOR_BOOKING":"FOR_BOOKING_TEMPLATE"}}}class l{static async get(e){let t=[],a="".concat(o.T.apiConfig.paymentEndpoint,"/v1/payment-means?checkTokens=true");return fetch(a,{method:"GET",redirect:"follow",headers:this.getHeaders(e)}).then(e=>e.ok?e.json():((0,n.YT)(e,a,{source:r._q.PaymentService,method:"get"}),t)).then(e=>e).then(e=>i.mapResponse(e)).catch(e=>(r.Vy.error(e,{source:r._q.PaymentService,method:"get",status:-2,url:a}),t))}static async getPaymentMeans(e){let t=[],a="".concat(o.T.apiConfig.paymentEndpoint,"/v1/payment-means?decrypted=true");return fetch(a,{method:"GET",redirect:"follow",headers:this.getHeaders(e)}).then(e=>e.ok?e.json():((0,n.YT)(e,a,{source:r._q.PaymentService,method:"getPaymentMeans"}),t)).catch(e=>(r.Vy.error(e,{source:r._q.PaymentService,method:"getPaymentMeans",status:-2,url:a}),t))}static async insert(e,t){let a="".concat(o.T.apiConfig.paymentEndpoint,"/v1/payment-means"),s=i.mapRequest(t,!!e);return s?fetch(a,{method:"POST",redirect:"follow",headers:this.getHeaders(e),body:JSON.stringify(s)}).then(e=>e.ok?e.json():void(0,n.YT)(e,a,{source:r._q.PaymentService,method:"insert"})).then(e=>e).then(e=>{var t;return null==e||null==(t=e.paymentMeans)?void 0:t.id}).catch(e=>{r.Vy.error(e,{source:r._q.PaymentService,method:"insert",status:-2,url:a})}):void r.Vy.log({message:"Unable to create payment means POST request.",source:r._q.PaymentService,method:"insert"})}static getHeaders(e){let t=new Headers;return t.append("Content-Type","application/json"),t.append("Accept-Encoding","gzip"),t.append("x-client-id",(0,n.Jf)()),e&&t.append("Authorization","Bearer ".concat(e)),t}}},50547:(e,t,a)=>{a.d(t,{I:()=>r});var r=function(e){return e.addNotification="Notifications.addNotification",e.deleteNotification="Notifications.deleteNotification",e}({})},68883:(e,t,a)=>{a.d(t,{f:()=>n,z:()=>o});var r=a(50547);let o=e=>({type:r.I.addNotification,notificationType:e}),n=e=>({type:r.I.deleteNotification,id:e})},71867:(e,t,a)=>{a.d(t,{$f:()=>o,Bd:()=>d,C8:()=>s,Rq:()=>c,Sn:()=>u,V3:()=>m,aj:()=>n,b5:()=>p,bD:()=>l,mx:()=>i});var r=a(19784);let o="initialTemplate",n=9,s=e=>{var t;let a=Object.values(null!=(t=null==e?void 0:e.guests)?t:{}).some(e=>
1e),r=!!(null==e?void 0:e.billingAddress),o=!!(null==e?void 0:e.guestWishes);return{saveGuestsToTemplate:a,saveBillingAddressToTemplate:r,saveGuestWishesToTemplate:o,isTemplateSaveRequired:a||r||o}},i=(e,t,a)=>e?a.filter(e=>e.id!==t).map(e=>e.name).includes(e)?"duplicate":(0,r.mx)(e)?"valid":"invalid":"invalid",l=(e,t,a,r)=>{var o,n,s,i;let l=[],{itemGuestUnits:d,paymentOption:c,payment:m,summary:u,customer:p,billingAddress:y}=e;return d.forEach(e=>{e.guests.adult1&&l.push(e.guests.adult1),e.guests.adult2&&l.push(e.guests.adult2),e.guests.child1&&l.push(e.guests.child1),e.guests.child2&&l.push(e.guests.child2)}),{id:"",name:t,billingAddress:y,customer:null!=p?p:{},guestWishes:{wishes:null!=(i=null==(o=d[0].wishes)?void 0:o.wishes)?i:[],freeText:null==(n=d[0].wishes)?void 0:n.freeText},isDefaultTemplate:a,guests:l,paymentMeansId:"PAY_NOW"===c||m.creditCardForGuaranty||m.smartPayActivated||(null==u?void 0:u.creditCardRequired)?null!=r?r:null==(s=m.creditCard)?void 0:s.paymentMeansId:void 0}},d=e=>!!e&&(!!(e.companyName&&e.city&&e.street&&e.postalCode)||!!(e.firstName&&e.lastName&&e.city&&e.street&&e.postalCode)),c=e=>!!(null==e?void 0:e.companyName)||!(null==e?void 0:e.firstName)&&!(null==e?void 0:e.lastName),m=e=>{var t,a,r,o,n,s,i,l,d,c,m,u,p,y,h,g,v,N,C,T;if(e.payment.captureCardResponse)return!0;let{selectedTemplate:f,customer:E,billingAddress:S,payment:b,itemGuestUnits:_}=e;return(null==f?void 0:f.paymentMeansId)!==(null==(t=b.creditCard)?void 0:t.paymentMeansId)||(null==f||null==(a=f.customer)?void 0:a.firstName)!==(null==E?void 0:E.firstName)||(null==f||null==(r=f.customer)?void 0:r.lastName)!==(null==E?void 0:E.lastName)||(null==f||null==(o=f.customer)?void 0:o.email)!==(null==E?void 0:E.email)||(null==f||null==(s=f.customer)||null==(n=s.phoneNumber)?void 0:n.callNumber)!==(null==E||null==(i=E.phoneNumber)?void 0:i.callNumber)||(null==f||null==(d=f.customer)||null==(l=d.phoneNumber)?void 0:l.countryCode)!==(null==E||null==(c=E.phoneNumber)?void 0:c.countryCode)||(null==f||null==(m=f.guestWishes)?void 0:m.freeText)!==(null==(p=_[0])||null==(u=p.wishes)?void 0:u.freeText)||(!(!f||(e=>{var t,a,r,o,n,s,i;return!(null==(t=e.billingAddress)?void 0:t.companyName)&&!(null==(a=e.billingAddress)?void 0:a.city)&&!(null==(r=e.billingAddress)?void 0:r.countryCode)&&!(null==(o=e.billingAddress)?void 0:o.firstName)&&!(null==(n=e.billingAddress)?void 0:n.lastName)&&!(null==(s=e.billingAddress)?void 0:s.postalCode)&&!(null==(i=e.billingAddress)?void 0:i.street)})(f))||!!S)&&((null==f||null==(y=f.billingAddress)?void 0:y.firstName)!==(null==S?void 0:S.firstName)||(null==f||null==(h=f.billingAddress)?void 0:h.lastName)!==(null==S?void 0:S.lastName)||(null==f||null==(g=f.billingAddress)?void 0:g.city)!==(null==S?void 0:S.city)||(null==f||null==(v=f.billingAddress)?void 0:v.companyName)!==(null==S?void 0:S.companyName)||(null==f||null==(N=f.billingAddress)?void 0:N.countryCode)!==(null==S?void 0:S.countryCode)||(null==f||null==(C=f.billingAddress)?void 0:C.postalCode)!==(null==S?void 0:S.postalCode)||(null==f||null==(T=f.billingAddress)?void 0:T.street)!==(null==S?void 0:S.street))},u=(e,t)=>{if(!t.includes(e))return e;let a=1,r="".concat(e," ").concat(a);for(;t.includes(r);)a+=1,r="".concat(e," ").concat(a);return r};function p(e,t,a){let r=e&&!(null==t?void 0:t.id)&&!!a,n=e&&!!(null==t?void 0:t.id)&&t.name!==o,s="ignore";return r?s="create":n&&(s="update"),{upsertMode:s,bookingTemplateName:r?a:void 0}}},80265:(e,t,a)=>{a.d(t,{Y:()=>l});var r=a(16752),o=a(69406),n=a(18614);class s{static map(e,t){return{bookingProcessId:e.bookingProcessId.toString(),bookingSource:e.bookingSource||0,bookingDate:e.bookingDate||new Date().toISOString(),cardNumber:e.cardNumber,cardType:e.cardType,personId:t,currency:e.currency||"EUR",amountPaid:e.amountPaid||0,arrivalDate:e.arrivalDate||"",checkoutDate:e.checkoutDate||""}}}class i{static map(e){return e.map(e=>({cardType:e.cardType,cardNumber:e.cardNumber.toString()}))}}class l{static getHeaders(e){let t=new Headers;return t.append("Content-Type","application/json"),t.append("Accept-Encoding","gzip"),t.append("Authorization","Bearer ".concat(e)),t}static async get(e){let t=[],a=await (0,n.TT)();if(!a)return o.Vy.log({source:o._q.LoyaltyService,method:"get",message:"V2 loyalty: no session, skipping"}),t;if(!e)return t;let s=r.T.apiConfig.loyaltyService,l="".concat(s,"/v1/cards/").concat(a.svl_profile_id),d=this.getHeaders(e),c="GetCards";return fetch(l,{method:"GET",redirect:"follow",headers:d}).then(e=>e.ok?e.json():(this.handleHttpStatusErrors(e,o._q.LoyaltyService,c,l),t)).then(e=>i.map(e.cards)).catch(e=>(this.logGeneralError(e,o._q.LoyaltyService,c,l),t))}static async storeCard(e,t){let a=await (0,n.TT)();if(!a)return void o.Vy.log({source:o._q.LoyaltyService,method:"storeCard",message:"V2 loyalty: no session, skipping"});if(!t)return;let s=r.T.apiConfig.loyaltyService,i="".concat(s,"/v1/card"),l=this.getHeaders(t),d="StoreCard";return fetch(i,{method:"POST",redirect:"follow",headers:l,body:JSON.stringify({personId:a.svl_profile_id,cardNumber:e.cardNumber,cardType:e.cardType,...a.given_name&&{firstName:a.given_name},...a.family_name&&{lastName:a.family_name}})}).then(e=>!!e.ok||void this.handleHttpStatusErrors(e,o._q.LoyaltyService,d,i)).catch(e=>{this.logGeneralError(e,o._q.LoyaltyService,d,i)})}static async deleteCard(e,t){let a=await (0,n.TT)();if(!a)return void o.Vy.log({source:o._q.LoyaltyService,method:"deleteC
1ard",message:"V2 loyalty: no session, skipping"});if(!t)return;let s=r.T.apiConfig.loyaltyService,i="".concat(s,"/v1/card/").concat(a.svl_profile_id,"?cardType=").concat(e.cardType),l=this.getHeaders(t),d="DeleteCard";return fetch(i,{method:"DELETE",redirect:"follow",headers:l}).then(e=>!!e.ok||void this.handleHttpStatusErrors(e,o._q.LoyaltyService,d,i)).catch(e=>{this.logGeneralError(e,o._q.LoyaltyService,d,i)})}static async assignCardToBooking(e,t){let a=await (0,n.TT)();if(!a)return void o.Vy.log({source:o._q.LoyaltyService,method:"assignCardToBooking",message:"V2 loyalty: no session, skipping"});let i=r.T.apiConfig.loyaltyService,l="".concat(i,"/v1/loyalty-booking"),d=this.getHeaders(t),c=s.map(e,a.svl_profile_id),m="AssignCardToBooking";return fetch(l,{method:"POST",redirect:"follow",headers:d,body:JSON.stringify(c)}).then(e=>!!e.ok||void this.handleHttpStatusErrors(e,o._q.LoyaltyService,m,l)).catch(e=>{this.logGeneralError(e,o._q.LoyaltyService,m,l)})}static handleHttpStatusErrors(e,t,a,r){e.text().then(n=>{let s;try{s=JSON.parse(n)}catch(e){}o.Vy.error(n.length>100?n.substring(0,100):"http status: ".concat(e.status,", type: ").concat(e.type),{source:t,method:a,technicalError:"true",status:e.status,url:r,errorName:null==s?void 0:s.name})}).catch(e=>o.Vy.error(e,{source:t}))}static logGeneralError(e,t,a,r){o.Vy.error(e,{source:t,method:a,technicalError:"true",status:-2,url:r})}}}}]);

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.