1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[28076,34922],{34922:function(e,i,r){r.r(i),r.d(i,{DEFAULT_SERIES:function(){return l},IssuerNotConfiguredError:function(){return a},IssuerProfileMissingError:function(){return u},IssuerTenantMissingError:function(){return s},buildIssuerSnapshot:function(){return c},createIssuerForProperty:function(){return g},issuerToConfig:function(){return f},profileAt:function(){return d},resolveIssuerById:function(){return v},resolveIssuerForProperty:function(){return p},supersedeIssuerProfile:function(){return I}});var o=r(32507);class t extends Error{constructor(e,i,r,o){super("L'emittente ".concat(i," appartiene al workspace ").concat(null!=r?r:"(nessuno)"," ma la struttura ")+"".concat(e," appartiene a ").concat(null!=o?o:"(nessuno)",". ")+"Un documento emesso cos\xec sarebbe intestato a un soggetto estraneo e brucerebbe numerazione altrui."),this.bookingEngineId=e,this.issuerId=i,this.issuerTeamId=r,this.propertyTeamId=o,this.name="IssuerTenantMismatchError"}}var n=r(8124);let l="HT";class s extends Error{constructor(e){super("Questa struttura \xe8 nel tuo spazio personale: per fatturare serve un'attivit\xe0. Apri la pagina Fatturazione e scegli \xab Crea l'attivit\xe0 e sposta tutto \xbb."),this.name="IssuerTenantMissingError",this.bookingEngineId=e}}class a extends Error{constructor(e){super("Nessun emittente fiscale configurato per la struttura ".concat(e,": ")+"senza i dati del soggetto che emette non si pu\xf2 produrre un documento a suo nome."),this.name="IssuerNotConfiguredError"}}class u extends Error{constructor(e,i){super("L'emittente ".concat(e," non ha un profilo fiscale in vigore al ").concat(i.toISOString().slice(0,10),": ")+"il trattamento non si indovina, si dichiara."),this.name="IssuerProfileMissingError"}}function d(e,i){let r=e.filter(e=>e.effectiveFrom.getTime()<=i.getTime()&&(!e.effectiveTo||e.effectiveTo.getTime()>i.getTime()));return 0===r.length?null:r.sort((e,i)=>i.effectiveFrom.getTime()-e.effectiveFrom.getTime())[0]}function c(e,i){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new Date;return{issuerId:e.id,profileId:i.id,legalName:e.legalName,vatId:e.vatId,fiscalCode:e.fiscalCode,address:e.address,city:e.city,province:e.province,zip:e.zip,country:e.country,pec:e.pec,cin:e.cin,cir:e.cir,regime:i.regime,issuerMode:i.issuerMode,series:i.defaultSeries,otaCollectPolicy:i.otaCollectPolicy,delegaOnFile:i.delegaOnFile,bolloPolicy:i.bolloPolicy,approvalSource:i.approvalSource,approvedBy:i.approvedBy,capturedAt:r.toISOString()}}function f(e,i){return{bookingEngineId:i,issuerName:e.legalName,issuerVatId:e.vatId,issuerFiscalCode:e.fiscalCode,issuerAddress:e.address,issuerCity:e.city,issuerProvince:e.province,issuerZip:e.zip,issuerCountry:e.country,regime:e.regime,issuerMode:e.issuerMode,documentSeries:e.series,otaCollectPolicy:e.otaCollectPolicy,delegaOnFile:e.delegaOnFile,bolloPolicy:(0,n.vG)(e.bolloPolicy)}}async function p(e){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Date,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:o.db,n=await r.propertyFiscalConfig.findUnique({where:{bookingEngineId:e},select:{issuerId:!0,issuerName:!0,issuerVatId:!0,issuerFiscalCode:!0,issuerAddress:!0,issuerCity:!0,issuerProvince:!0,issuerZip:!0,issuerCountry:!0,regime:!0,issuerMode:!0,documentSeries:!0,otaCollectPolicy:!0,delegaOnFile:!0}});if(!n)throw new a(e);if(n.issuerId){let o=await r.fiscalIssuer.findUnique({where:{id:n.issuerId},include:{profiles:!0}});if(!o)throw new a(e);let s=await r.bookingEngine.findUnique({where:{id:e},select:{teamId:!0}});if(!(null==s?void 0:s.teamId)||s.teamId!==o.teamId){var l;throw new t(e,o.id,o.teamId,null!==(l=null==s?void 0:s.teamId)&&void 0!==l?l:null)}let p=d(o.profiles,i);if(!p)throw new u(o.id,i);let{profiles:v,...g}=o,I=c(g,p,i);return{issuerId:o.id,profileId:p.id,config:f(I,e),snapshot:I}}let s={issuerId:"legacy:".concat(e),profileId:"legacy:".concat(e),legalName:n.issuerName,vatId:n.issuerVatId,fiscalCode:n.issuerFiscalCode,address:n.issuerAddress,city:n.issuerCity,province:n.issuerProvince,zip:n.issuerZip,country:n.issuerCountry,pec:null,cin:null,cir:null,regime:n.regime,issuerMode:n.issuerMode,series:n.documentSeries,otaCollectPolicy:n.otaCollectPolicy,delegaOnFile:n.delegaOnFile,approvalSource:"DEFAULT_HOTELY",approvedBy:null,capturedAt:i.toISOString()};return{issuerId:"",profileId:"",config:f(s,e),snapshot:s}}async function v(e,i){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:new Date,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:o.db,[l,s]=await Promise.all([n.fiscalIssuer.findUnique({where:{id:e},include:{profiles:!0}}),n.bookingEngine.findUnique({where:{id:i},select:{teamId:!0}})]);if(!l)throw new a(i);if(!(null==s?void 0:s.teamId)||s.teamId!==l.teamId){var p;throw new t(i,l.id,l.teamId,null!==(p=null==s?void 0:s.teamId)&&void 0!==p?p:null)}let v=d(l.profiles,r);if(!v)throw new u(l.id,r);let{profiles:g,...I}=l,m=c(I,v,r);return{issuerId:l.id,profileId:v.id,config:f(m,i),snapshot:m}}async function g(e){var i,r,t,n,a,u,d,c,f,p;let v=null!==(i=e.client)&&void 0!==i?i:o.db,g=await v.bookingEngine.findUnique({where:{id:e.bookingEngineId},select:{teamId:!0}});if(!(null==g?void 0:g.teamId))throw new s(e.bookingEngineId);let I=await v.fiscalIssuer.create({data:{teamId:g.teamId,legalName:e.legalName,vatId:null!==(r=e.vatId)&&void 0!==r?r:null,fiscalCode:null!==(t=e.fiscalCode)&&void 0!==t?t:null,address:e.address,city:e.city,province:e.province,zip:e.zip,country:null!==(n=e.country)&&void 0!==n?n:"IT",pec:null!==(a=e.pec)&&void 0!==a?a:null,cin:null!==(u=e.cin)&&void 0!==u?u:null,cir:null!==(d=e.cir)&&void 0!==d?d:null,profiles:{create:{effectiveFrom:null!==(c=e.effectiveFrom)&&void 0!==c?c:new Date,regime:e.regime,issuerMode:e.issuerMode,defaultSeries:null!==(f=e.series)&&void 0!==f?f:l,otaCollectPolicy:null!==(p=e.otaCollectPolicy)&&void 0!==p?p:"GUEST_DOC"}}},include:{profiles:!0}});return await v.propertyFiscalConfig.update({where:{bookingEngineId:e.bookingEngineId},data:{issuerId:I.id}}),{issuerId:I.id,profileId:I.profiles[0].id}}async function I(e){var i,r,t,s,a,u,d,c,f,p,v;let g=null!==(i=e.client)&&void 0!==i?i:o.db,I=await g.fiscalIssuerProfile.findFirst({where:{issuerId:e.issuerId,effectiveTo:null},orderBy:{effectiveFrom:"desc"},select:{defaultSeries:!0,otaCollectPolicy:!0,delegaOnFile:!0,bolloPolicy:!0}});return await g.fiscalIssuerProfile.updateMany({where:{issuerId:e.issuerId,effectiveTo:null},data:{effectiveTo:e.effectiveFrom}}),(await g.fiscalIssuerProfile.create({data:{issuerId:e.issuerId,effectiveFrom:e.effectiveFrom,regime:e.regime,issuerMode:e.issuerMode,defaultSeries:null!==(t=null!==(r=e.series)&&void 0!==r?r:null==I?void 0:I.defaultSeries)&&void 0!==t?t:l,otaCollectPolicy:null!==(a=null!==(s=e.otaCollectPolicy)&&void 0!==s?s:null==I?void 0:I.otaCollectPolicy)&&void 0!==a?a:"GUEST_DOC",delegaOnFile:null!==(d=null!==(u=e.delegaOnFile)&&void 0!==u?u:null==I?void 0:I.delegaOnFile)&&void 0!==d&&d,bolloPolicy:null!==(f=null!==(c=e.bolloPolicy)&&void 0!==c?c:null==I?void 0:I.bolloPolicy)&&void 0!==f?f:n.Zt,approvalSource:null!==(p=e.approvalSource)&&void 0!==p?p:"DEFAULT_HOTELY",approvedBy:null!==(v=e.approvedBy)&&void 0!==v?v:null,approvedAt:e.approvedBy?new Date:null},select:{id:!0}})).id}},28076:function(e,i,r){r.r(i),r.d(i,{MandateAuthorityError:function(){return n},MandateOwnerIssuerMissingError:function(){return l},mandateAt:function(){return s},resolveMandateContext:function(){return a},supersedeMandate:function(){return u}});var o=r(32507),t=r(34922);
1class n extends Error{constructor(e,i){super("Nessun mandato in vigore al ".concat(i.toISOString().slice(0,10)," per la struttura ")+"".concat(e,": senza autorit\xe0 non si pu\xf2 emettere un documento a nome di un altro soggetto. ")+"Aggiorna il mandato prima di emettere."),this.name="MandateAuthorityError"}}class l extends Error{constructor(e){super("Il mandato ".concat(e," \xe8 in rappresentanza, ma il proprietario non ha un emittente ")+"fiscale configurato: il documento uscirebbe a nome del gestore, che \xe8 il soggetto sbagliato."),this.name="MandateOwnerIssuerMissingError"}}function s(e,i){let r=e.filter(e=>e.effectiveFrom.getTime()<=i.getTime()&&(!e.effectiveTo||e.effectiveTo.getTime()>i.getTime()));return 0===r.length?null:r.sort((e,i)=>i.effectiveFrom.getTime()-e.effectiveFrom.getTime())[0]}async function a(e){var i;let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Date,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:o.db,u=await a.fiscalMandate.findMany({where:{bookingEngineId:e},include:{managerIssuer:{include:{profiles:!0}},ownerIssuer:{include:{profiles:!0}}}});if(0===u.length)return null;let d=s(u,r);if(!d)throw new n(e,r);let c=d.model,f="IN_NOME_DEL_PROPRIETARIO"===c?d.ownerIssuer:d.managerIssuer;if(!f)throw new l(d.id);let p=(0,t.profileAt)(f.profiles,r);if(!p)throw new t.IssuerProfileMissingError(f.id,r);let{profiles:v,...g}=f,I=(0,t.buildIssuerSnapshot)(g,p,r);return{supplierIssuerId:f.id,supplierProfileId:p.id,config:(0,t.issuerToConfig)(I,e),snapshot:I,thirdPartyIssuer:"IN_NOME_DEL_PROPRIETARIO"===c?{name:(i=d.managerIssuer).legalName,vatId:i.vatId,fiscalCode:i.fiscalCode,country:i.country}:null,mandate:{id:d.id,model:c,collection:d.collection,approvalSource:d.approvalSource,effectiveFrom:d.effectiveFrom,effectiveTo:d.effectiveTo}}}async function u(e){var i,r,t,n,l,s,a,u,d;let c=null!==(i=e.client)&&void 0!==i?i:o.db;if("IN_NOME_DEL_PROPRIETARIO"===e.model&&!e.ownerIssuerId)throw Error("Un mandato in rappresentanza richiede l'emittente del proprietario: senza, il documento uscirebbe a nome del gestore.");return await c.fiscalMandate.updateMany({where:{bookingEngineId:e.bookingEngineId,effectiveTo:null},data:{effectiveTo:e.effectiveFrom}}),(await c.fiscalMandate.create({data:{bookingEngineId:e.bookingEngineId,managerIssuerId:e.managerIssuerId,ownerIssuerId:null!==(r=e.ownerIssuerId)&&void 0!==r?r:null,ownerId:null!==(t=e.ownerId)&&void 0!==t?t:null,model:e.model,collection:e.collection,feePercent:null!==(n=e.feePercent)&&void 0!==n?n:null,feeFixedCents:null!==(l=e.feeFixedCents)&&void 0!==l?l:null,beneficiaryShareBps:null!==(s=e.beneficiaryShareBps)&&void 0!==s?s:1e4,effectiveFrom:e.effectiveFrom,authorityDocumentRef:null!==(a=e.authorityDocumentRef)&&void 0!==a?a:null,approvalSource:null!==(u=e.approvalSource)&&void 0!==u?u:"DEFAULT_HOTELY",approvedBy:null!==(d=e.approvedBy)&&void 0!==d?d:null,approvedAt:e.approvedBy?new Date:null},select:{id:!0}})).id}}}]);
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.