aves-sdk 4.0.1 → 5.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import*as e from"valibot";import{ValiError as t,parse as n,safeParse as r}from"valibot";import i from"fast-xml-builder";import{XMLParser as a}from"fast-xml-parser";import{request as o}from"undici";const s={rph:`RPH`,toServiceType:`TOServiceType`,text:`#text`},ee=Object.fromEntries(Object.entries(s).map(([e,t])=>[t,e]));function c(e){return typeof e!=`object`||!e?!1:e instanceof Date||e instanceof RegExp||e instanceof Map||e instanceof Set||e instanceof Error||e instanceof URL||ArrayBuffer.isView(e)||typeof Buffer<`u`&&Buffer.isBuffer(e)}function te(e){return s[e]??e.charAt(0).toUpperCase()+e.slice(1)}function ne(e){return ee[e]??e.charAt(0).toLowerCase()+e.slice(1)}function re(e,t){let n=t?.textContent===e?`#text`:t?.rename?.[e]??te(e);return n===`#text`||!t?.attrs?.includes(e)?n:t.preserveCamel?.includes(e)?`@${e}`:`@${n}`}const ie=new WeakMap,ae=new WeakMap;function oe(e){let t=ie.get(e);if(t)return t;let{listWrap:n,detailKey:r,...i}=e;return ie.set(e,i),i}function se(e,t){if(!t?.listWrap)return t;let n=ae.get(t);n||(n=new Map,ae.set(t,n));let r=n.get(e);if(r)return r;let i={children:{[t.detailKey??(e.endsWith(`List`)?`${e.slice(0,-4)}Detail`:`${e}Detail`)]:oe(t)}};return n.set(e,i),i}function ce(e){return le(e)}function le(e){if(typeof e!=`object`||!e||c(e))return e;if(Array.isArray(e)){for(let t=0;t<e.length;t++)e[t]=le(e[t]);return e}let t=e;for(let e of Object.keys(t)){let n=le(t[e]),r=ne(e.startsWith(`@`)?e.slice(1):e);r!==e&&delete t[e],t[r]=n}return t}const ue={rsStatus:`response`,customerRecordCode:`customerCode`,bookingFileCode:`bookingCode`,bookingFileRefCode:`bookingReference`,bookingFileStatus:`status`,bookingFileDescription:`description`,bookingFileStartDate:`startDate`,bookingFileReferenceName:`referenceName`,bookingFileServiceStatus:`serviceStatus`,bookingFileServiceStatusDate:`serviceStatusDate`,bookingServiceRef:`serviceReference`,newCustomerRecordCode:`newCustomerCode`,customerDetail:`customer`,bookingFileDocument:`documents`,bookingFinancialInfo:`financial`,financialDetail:`financial`,idDocumentDetail:`identityDocument`,idDocInfo:`identityDocument`,accountPolicies:`policies`,dynamicFields:`customFields`,supplierRefMasterRecords:`supplierReference`,selectedPackageDetail:`package`,selectedPackageList:`packages`,selectedServiceList:`services`,extraQuoteServiceList:`extraServices`,passengerList:`passengers`,noteList:`notes`,deadlineList:`deadlines`,financialDeadlineList:`financialDeadlines`,paymentList:`payments`,filePaymentList:`payments`,cancellableBookedServiceList:`cancellableServices`,bookedServiceList:`services`,serviceList:`services`,subServiceList:`subServices`,featureList:`features`,packageList:`packages`,pCode:`packageCode`,sCode:`serviceCode`,ssCode:`subServiceCode`,rph:`passengerRef`,roomRph:`roomRef`,avesSession:`session`,paxAssociated:`passengerRefs`,paxQty:`passengerCount`,paxQtyCriteria:`passengerCountRule`,qty:`quantity`,pax:`passengerCount`,eMail:`email`,sex:`gender`,nType:`noteType`,avesServiceType:`serviceType`,toServiceType:`targetType`,packageParams:`packageOptions`,topServiceParams:`serviceOptions`,servOrPackCode:`serviceOrPackageCode`,servOrPackDesc:`serviceOrPackageDescription`,getDocumentation:`includeDocumentation`,getServicesFromPackage:`includeServices`,mergeBoardAndAccomodation:`mergeBoardAndAccommodation`,discartNotAvailables:`discardUnavailable`,discartNotAvailablesMinSales:`discardUnavailableMinSales`,discartNotAvailablesDaysInOut:`discardUnavailableDaysInOut`,getAllDeptDate:`allDepartureDates`,getAllAccomodation:`allAccommodation`,compatibleAccomodation:`compatibleAccommodation`,alternativeAccomodation:`alternativeAccommodation`,fileStatus:`status`},de=new Set([`__proto__`,`prototype`,`constructor`]),l={};for(let[e,t]of Object.entries(ue))l[t]||(l[t]=[]),l[t].push(e);const fe=new WeakMap;function u(e){return typeof e==`string`&&de.has(e)}function d(e,t){if(typeof t!=`string`||Reflect.has(e,t))return t;let n=l[t];if(!n)return t;for(let t of n)if(Reflect.has(e,t))return t;return n[0]??t}function f(e){return typeof e!=`object`||!e||c(e)?e:fe.get(e)||(Array.isArray(e)?pe(e):me(e))}function pe(e){let t=new Proxy(e,{get(e,t,n){if(t===`length`)return e.length;if(typeof t==`string`&&/^\d+$/.test(t)){let n=Number(t);if(n<0||n>=e.length)return;let r=e[n];return typeof r==`function`?r.bind(e):f(r)}let r=Reflect.get(e,t,n);return typeof r==`function`?r.bind(e):r},set(e,t,n,r){return!u(t)&&Reflect.set(e,t,n,r)},defineProperty(e,t,n){return!u(t)&&Reflect.defineProperty(e,t,n)},deleteProperty(e,t){return!u(t)&&Reflect.deleteProperty(e,t)},setPrototypeOf(){return!1}});return fe.set(e,t),t}function me(e){let t=new Proxy(e,{get(e,t,n){let r=d(e,t);return f(Reflect.get(e,r,n))},set(e,t,n,r){return!u(t)&&Reflect.set(e,d(e,t),n,r)},has(e,t){return typeof t==`string`&&!Reflect.has(e,t)&&l[t]?.some(t=>Reflect.has(e,t))?!0:Reflect.has(e,d(e,t))},ownKeys(e){let t=Reflect.ownKeys(e),n=new Set(t),r=[];for(let e of t){if(typeof e!=`string`)continue;let t=ue[e];t&&!n.has(t)&&(n.add(t),r.push(t))}return[...t,...r]},getOwnPropertyDescriptor(e,t){let n=d(e,t),r=Reflect.getOwnPropertyDescriptor(e,n);if(r)return n===t?`value`in r?{...r,value:f(r.value)}:r:{configurable:!0,enumerable:!0,writable:!0,value:f(`value`in r?r.value:Reflect.get(e,n))}},defineProperty(e,t,n){return!u(t)&&Reflect.defineProperty(e,d(e,t),n)},deleteProperty(e,t){return!u(t)&&Reflect.deleteProperty(e,d(e,t))},getPrototypeOf(e){return Reflect.getPrototypeOf(e)},setPrototypeOf(){return!1}});return fe.set(e,t),t}function he(e){return f(e)}function p(e){return e.success?{success:!0,data:he(e.data)}:e}const m={customerCode:`customerRecordCode`,bookingCode:`bookingFileCode`,bookingReference:`bookingFileRefCode`},ge={noteType:`nType`},_e={passengerRef:`rph`,roomRef:`roomRph`,gender:`sex`,email:`eMail`,identityDocument:`idDocInfo`},ve={serviceCode:`sCode`,subServiceCode:`ssCode`,quantity:`qty`,passengerCount:`pax`,session:`avesSession`,passengerRefs:`paxAssociated`,serviceType:`avesServiceType`,targetType:`toServiceType`,notes:`noteList`},ye={packageCode:`pCode`,includeServices:`getServicesFromPackage`},be={...m,customer:`customerDetail`,status:`bookingFileStatus`,description:`bookingFileDescription`,referenceName:`bookingFileReferenceName`,financial:`bookingFinancialInfo`,package:`selectedPackageDetail`,packages:`selectedPackageList`,services:`selectedServiceList`,extraServices:`extraQuoteServiceList`,passengers:`passengerList`,payments:`paymentList`,documents:`bookingFileDocument`,deadlines:`deadlineList`,financialDeadlines:`financialDeadlineList`,notes:`noteList`},xe={...m,package:`selectedPackageDetail`,packages:`selectedPackageList`,services:`selectedServiceList`,passengers:`passengerList`,deadlines:`deadlineList`,cancellableServices:`cancellableBookedServiceList`},Se={...m,startDate:`bookingFileStartDate`,newCustomerCode:`newCustomerRecordCode`,referenceName:`bookingFileReferenceName`,passengers:`passengerList`,financial:`bookingFinancialInfo`,financialDeadlines:`financialDeadlineList`},Ce={...m,status:`fileStatus`,documents:`bookingFileDocument`},we={...m,serviceReference:`bookingServiceRef`,serviceStatus:`bookingFileServiceStatus`,serviceStatusDate:`bookingFileServiceStatusDate`},Te={...m,payments:`filePaymentList`},Ee={...m,status:`fileStatus`},De={financial:`financialDetail`,identityDocument:`idDocumentDetail`,policies:`accountPolicies`,customFields:`dynamicFields`,supplierReference:`supplierRefMasterRecords`},Oe={...m,searchType:`avesSearchType`,passengers:`passengerList`,packageOptions:`packageParams`,serviceOptions:`topServiceParams`,serviceOrPackageCode:`servOrPackCode`,serviceOrPackageDescription:`servOrPackDesc`,passengerCount:`paxQty`,passengerCountRule:`paxQtyCriteria`,features:`featureList`,includeDocumentation:`getDocumentation`,mergeBoardAndAccommodation:`mergeBoardAndAccomodation`,discardUnavailable:`discartNotAvailables`,discardUnavailableMinSales:`discartNotAvailablesMinSales`,discardUnavailableDaysInOut:`discartNotAvailablesDaysInOut`},ke={allDepartureDates:`getAllDeptDate`,allAccommodation:`getAllAccomodation`,compatibleAccommodation:`compatibleAccomodation`,alternativeAccommodation:`alternativeAccomodation`},Ae={...m,services:`selectedServiceList`,passengers:`passengerList`};function h(t){return e.picklist(Object.values(t))}const je={M:`M`,F:`F`},Me=h(je),Ne={OK:`OK`,ERROR:`ERROR`,WARNING:`WARNING`,TIMEOUT:`TIMEOUT`},Pe=h(Ne),Fe={MasterRecordDetail:`MasterRecordDetail`},Ie=h(Fe),g={CODE:`CODE`,NAME:`NAME`,VATCODE:`VATCODE`,ZONE:`ZONE`,CATEGORY:`CATEGORY`,EMAIL:`EMAIL`,LASTMODDATE:`LASTMODDATE`,SEARCH_FIELD:`SEARCH_FIELD`,EXTERNAL_REF_CODE:`EXTERNAL_REF_CODE`},Le=h(g),Re={CUSTOMER:`CUSTOMER`,SUPPLIER:`SUPPLIER`,VOUCHER:`VOUCHER`,SUPPLIER_VOUCHER:`SUPPLIER_VOUCHER`,GENERAL:`GENERAL`},ze=h(Re),Be={ENABLED:`ENABLED`,DISABLED:`DISABLED`,WARNING:`WARNING`,BLACKLISTED:`BLACKLISTED`},Ve=h(Be),He={S:`S`,N:`N`,T:`T`,M:`M`},Ue=h(He),We={CASH:`CASH`,BANK:`BANK`,RID:`RID`,RIBA:`RIBA`,SPECIFIC_CODE:`SPECIFIC_CODE`},Ge=h(We),Ke={NOT_SET:`NOT_SET`,FLIGHT:`FLIGHT`,SHIP:`SHIP`,TRAIN:`TRAIN`,RENTCAR:`RENTCAR`,BUS:`BUS`,DP_HOTEL:`DP_HOTEL`,TO_HOTEL:`TO_HOTEL`,TO_TOUR:`TO_TOUR`,TO_HOTEL_AND_TOUR:`TO_HOTEL_AND_TOUR`,DP_AUTO:`DP_AUTO`,DP_GDS_NAVI:`DP_GDS_NAVI`,DP_GDS_VOLI:`DP_GDS_VOLI`,TOUR_OPERATOR:`TOUR_OPERATOR`,TICKETING_EV:`TICKETING_EV`,OTHER:`OTHER`},qe=h(Ke),Je={QUOTATION:`QUOTATION`,WORK_IN_PROGRESS:`WORK_IN_PROGRESS`,CONFIRMED:`CONFIRMED`,OPTIONED:`OPTIONED`,CANCELED:`CANCELED`},Ye=h(Je),Xe={...Je,NULLIFIED:`NULLIFIED`},Ze=h(Xe),_={QUOTATION:`QUOTATION`,WORK_IN_PROGRESS:`WORK_IN_PROGRESS`,CONFIRM:`CONFIRM`,CONFIRMED:`CONFIRMED`,OPTION:`OPTION`,OPTIONED:`OPTIONED`,REQUEST:`REQUEST`,REQUESTED:`REQUESTED`,NULLIFIED:`NULLIFIED`,CANCELED:`CANCELED`},Qe=h(_),$e={TOP:`TOP`,TOP_SS:`TOP_SS`,ADV:`ADV`,GRP:`GRP`,OTHER:`OTHER`},et=h($e),tt={ACCOMODATION:`ACCOMODATION`,TRANSPORT:`TRANSPORT`,CHARTER:`CHARTER`,TRANSFER:`TRANSFER`,PULLMAN:`PULLMAN`,FERRY:`FERRY`,CRUISE:`CRUISE`,INSURANCE:`INSURANCE`,EXTRAFEE:`EXTRAFEE`,PENALTY:`PENALTY`,PROMO:`PROMO`,OTHER:`OTHER`,NOT_SET:`NOT_SET`,RESIDENCE:`RESIDENCE`,TOUR:`TOUR`},nt=h(tt),rt={REQUEST:`REQUEST`,ALLOTMENT_REQUEST:`ALLOTMENT_REQUEST`,CONFIRMED_REQUEST:`CONFIRMED_REQUEST`,CONFIRMED_EXTRA_ALLOTMENT:`CONFIRMED_EXTRA_ALLOTMENT`,WAITLISTED:`WAITLISTED`,ALLOTMENT:`ALLOTMENT`,REFUSED:`REFUSED`,NULLIFIED:`NULLIFIED`,CANCELED:`CANCELED`,MESSAGE:`MESSAGE`},it=h(rt),at={C:`C`,B:`B`,D:`D`,T:`T`,P:`P`,R:`R`,A:`A`,H:`H`,I:`I`,J:`J`,K:`K`,L:`L`,M:`M`,N:`N`,O:`O`,Q:`Q`,S:`S`,U:`U`,V:`V`},ot=h(at),st={CASH:`CASH`,BANK:`BANK`,RID:`RID`,RIBA:`RIBA`,SPECIFIC_CODE:`SPECIFIC_CODE`,NOT_SET:`NOT_SET`},ct=h(st),lt={AD:`AD`,CH:`CH`,IN:`IN`,OV:`OV`},ut=h(lt),dt={NULLIFY:`NULLIFY`,DELETE:`DELETE`},ft=h(dt),pt={RPH:`RPH`,FILE:`FILE`},mt=h(pt),ht={NOT_SET:`NOT_SET`,CONSIDER_HOLIDAY:`CONSIDER_HOLIDAY`,CONSIDER_HOLIDAY_AND_SATURDAY:`CONSIDER_HOLIDAY_AND_SATURDAY`},gt=h(ht),_t={AbsoluteAmountsInsertion:`AbsoluteAmountsInsertion`,FinalAmountToAchieve:`FinalAmountToAchieve`,FinalAmountToAchieveWithoutControls:`FinalAmountToAchieveWithoutControls`},vt=h(_t),yt={VISA_REQUEST:`VISA_REQUEST`,TRAVEL_INFORMATION:`TRAVEL_INFORMATION`,VOUCHER:`VOUCHER`,BOOKING_CONTRACT:`BOOKING_CONTRACT`,BOOKING_CONFIRMATION:`BOOKING_CONFIRMATION`,SUPPLIER_SERVICE_LIST:`SUPPLIER_SERVICE_LIST`,INVOICE:`INVOICE`,PROFORMA_INVOICE:`PROFORMA_INVOICE`,ADEGUAMENTO:`ADEGUAMENTO`,RESERVATION_FORM:`RESERVATION_FORM`,OPEN_XML:`OPEN_XML`,SALES_INVOICE:`SALES_INVOICE`,TICKETING_TMASTER:`TICKETING_TMASTER`,SUMMARY_FORM:`SUMMARY_FORM`},bt=h(yt),xt={BOOKING_CUSTOMER:`BOOKING_CUSTOMER`,FIRST_PASSENGER:`FIRST_PASSENGER`},St=h(xt),Ct={PAX_QTY_DAY:`PAX_QTY_DAY`,PAX_QTY_NIGHT:`PAX_QTY_NIGHT`,PAX_QTY_WEEK:`PAX_QTY_WEEK`,PAX_QTY:`PAX_QTY`,PAX_DAY:`PAX_DAY`,PAX_NIGHT:`PAX_NIGHT`,PAX_WEEK:`PAX_WEEK`,PAX:`PAX`,QTY_DAY:`QTY_DAY`,QTY_NIGHT:`QTY_NIGHT`,QTY_WEE:`QTY_WEE`,QTY:`QTY`,DAY:`DAY`,NIGHT:`NIGHT`,WEEK:`WEEK`,FORFAIT:`FORFAIT`},wt=h(Ct),Tt={GROUPED_PAX:`GROUPED_PAX`,NOT_GROUPED_PAX:`NOT_GROUPED_PAX`,ONE_PAX_ONLY:`ONE_PAX_ONLY`},Et=h(Tt),Dt={AVES2AVES:`AVES2AVES`,AVES2AVESVIA:`AVES2AVESVIA`,AVES2AVESITA:`AVES2AVESITA`},Ot=h(Dt),v={FILE_CODE:`FILE_CODE`,PAX_NAME:`PAX_NAME`,PACKAGE_CODE:`PACKAGE_CODE`,OTHER:`OTHER`},kt=h(v),y={SERVICE:`SERVICE`,PROGRAM:`PROGRAM`,PACKAGE:`PACKAGE`},At=h(y),jt={GREATER_THAN:`GREATER_THAN`,GREATER_OR_EQUAL:`GREATER_OR_EQUAL`,EQUAL_TO:`EQUAL_TO`,LESS_OR_EQUAL:`LESS_OR_EQUAL`,LESS_THAN:`LESS_THAN`},Mt=h(jt),Nt={CODE:`CODE`,SUB_LOCALITY:`SUB_LOCALITY`,LOCALITY:`LOCALITY`,SUB_SUB_ISLAND:`SUB_SUB_ISLAND`,SUB_ISLAND:`SUB_ISLAND`,ISLAND_COUNTY:`ISLAND_COUNTY`,SUB_ARCHIPELAGO:`SUB_ARCHIPELAGO`,ARCHIPELAGO:`ARCHIPELAGO`,REGION_STATE:`REGION_STATE`,SUB_SUB_NATION:`SUB_SUB_NATION`,SUB_NATION:`SUB_NATION`,NATION:`NATION`,SUB_SUB_CONTINENT:`SUB_SUB_CONTINENT`,SUB_CONTINENT:`SUB_CONTINENT`,CONTINENT:`CONTINENT`},Pt=h(Nt),Ft=e.pipe(e.string(),e.minLength(2),e.maxLength(2)),b=e.optional(Ft),x=e.union([e.string(),e.number()]),S=e.union([e.string(),e.number(),e.boolean()]),C=e.object({minDate:e.string(),maxDate:e.string()}),It=e.object({"@HostID":e.pipe(e.string(),e.minLength(6),e.maxLength(6)),"@Xtoken":e.string(),"@Interface":e.literal(`WEB`),"@UserName":e.literal(`WEB`),"@LanguageCode":b}),Lt=e.optional(e.string()),w=e.pipe(e.object({"@Status":Pe,ErrorCode:e.optional(e.pipe(x,e.transform(e=>Number(e)))),ErrorDescription:e.optional(e.string()),Warnings:Lt}),e.transform(e=>({status:e[`@Status`],errorCode:e.ErrorCode,errorDescription:e.ErrorDescription,warnings:e.Warnings}))),Rt=O(e.object({RsStatus:w})),zt={financialDeadlineList:`deadlineDetail`};function Bt(e,t){return t?.detailKey??zt[e]??(e.endsWith(`List`)?`${e.slice(0,-4)}Detail`:`${e}Detail`)}function Vt(e){return Array.isArray(e)?e.length?e.every(e=>typeof e==`string`)?e.map(e=>({pax:e})):e:``:e}function T(e,t){if(typeof e!=`object`||!e||c(e))return e;if(Array.isArray(e))return e.map(e=>T(e,t));let n={};for(let[r,i]of Object.entries(e)){let e=t?.children?.[r],a=r===`paxAssociated`?Vt(i):i;if(e?.listWrap&&Array.isArray(a)){let i=re(Bt(r,e)),o=a.map(t=>T(t,oe(e)));n[re(r,t)]=e.listWrap===`one`?o.map(e=>({[i]:e})):{[i]:o};continue}n[re(r,t)]=T(a,se(r,e))}return n}function Ht(e,t){return T(e,t)}function E(t,n){return e.pipe(t,e.transform(e=>Ht(e,n)))}function Ut(t){return e.pipe(e.union([e.array(t),t]),e.transform(e=>Array.isArray(e)?e:[e]))}function D(t,n){let r=e.optional(Ut(n));return e.pipe(e.object({[t]:r}),e.transform(e=>e[t]??[]))}function O(t){return e.pipe(t,e.transform(e=>ce(e)))}function k(t,n){let r={[t]:e.optional(n)};return O(e.object({RsStatus:w,...r}))}function Wt(e){return t=>{if(typeof t!=`object`||!t)return t;let n=t,r=n[e],{[e]:i,...a}=n;return!r||typeof r!=`object`||Array.isArray(r)?a:{...a,...r}}}function Gt(t,n){return e.pipe(O(t),e.transform(e=>Wt(n)(e)))}function Kt(t,n){let r=e.object({value:t,...n??{}});return e.pipe(e.union([t,r]),e.transform(e=>typeof e==`object`&&e?e:{value:e}))}function qt(e,t){return n=>{let r=Reflect.get(n,e),i=Reflect.get(n,t),a={...n};return Reflect.deleteProperty(a,e),Reflect.set(a,t,i??(Array.isArray(r)?r[0]:void 0)),a}}function Jt(e){let{customerRecordCode:t,customerDetail:n,...r}=e;return{...r,customerDetail:{...n,recordCode:n?.recordCode??t}}}function Yt(e){return t=>{let n={...t};for(let[t,r]of Object.entries(e)){let e=n[t];delete n[t],n[r]===void 0&&e!==void 0&&(n[r]=e)}return n}}function A(t,n){let r={...t},i={};for(let[a,o]of Object.entries(n)){let n=t[o];n!==void 0&&(i[a]=o,r[a]=Zt(n)?n:e.optional(n),Zt(n)||(r[o]=e.optional(n)))}return e.pipe(e.object(r),e.transform(Yt(i)),e.object(t))}function Xt(e){return e.type===`object`&&`entries`in e}function Zt(e){return e.type===`optional`&&`wrapped`in e}function Qt(e){return e.type===`array`&&`item`in e}function $t(t,n){if(Zt(t)){let r=$t(t.wrapped,n);return t.default===void 0?e.optional(r):e.optional(r,t.default)}return Qt(t)?Ut($t(t.item,n)):Xt(t)?en(t,n):t}function en(t,n,r){let i={};for(let e in t.entries){let r=n.children?.[e]??{};i[re(e,n)]=$t(t.entries[e],r)}return e.object({...i,...r})}function tn(e,t={},n){return en(e,t,n)}function j(e,t){let n={...e};for(let[e,r]of Object.entries(t)){let t;for(let e of r)if(n[e]!==void 0&&n[e]!==null){t=n[e];break}for(let t of r)t!==e&&delete n[t];t===void 0?delete n[e]:n[e]=t}return n}function M(e,t){return{api:E(e,t),validation:tn(e,t)}}function N(e){return e}function P(...e){return N({attrs:e})}function nn(...e){return N({attrs:e,preserveCamel:e})}function rn(e,t){return N({attrs:e,preserveCamel:t})}function F(e){return N({children:e})}function I(e,t){return N({attrs:e,children:t})}function L(e,t,n){return N(n?{...e,listWrap:t,detailKey:n}:{...e,listWrap:t})}function R(e,...t){return L(P(...t),e)}function an(e){return{one:L(e,`one`),many:L(e,`many`)}}P(`hostID`,`xtoken`,`interface`,`userName`,`status`,`languageCode`);const on=P(`currencyCode`,`creditLimit`,`c_PaymentType`,`c_SpecPaymentTypeCode`,`s_PaymentType`,`s_SpecPaymentTypeCode`,`enableElectronicInvoicing`,`electronicInvoicingType`),sn=P(`idType`,`idCode`,`idIssueLocation`,`idIssueCounty`,`idIssueDate`,`idExpireDate`),cn=P(`acceptProfilingPolicies`,`acceptPrivacyPolicies`,`acceptNewsletterPolicies`),ln=P(`key`,`value`),un=P(`supplierRefCode`,`companyMainBusinessType`,`carrierType`),dn=I([`recordCode`,`insertCriteria`],{financialDetail:on,idDocumentDetail:sn,accountPolicies:cn,dynamicFields:ln,supplierRefMasterRecords:un}),z=P(`minDate`,`maxDate`),fn=F({lastModificationDate:z}),pn=nn(`sCode1`,`sCode2`,`sCode3`,`sCode4`,`sCode5`,`sCode6`),mn=P(`code`,`iataCode`,`nationCode`,`type`),hn=P(`nType`,`title`),gn=L(hn,`many`),_n=I([`rph`,`roomRph`,`billingHolder`],{notes:L(hn,`many`,`noteDetail`),idDocInfo:sn}),vn=P(`currencyCode`,`exchangeRate`,`cost`,`costTax`,`costType`,`vatCostCurrencyCode`,`price`,`priceTax`,`priceType`),yn=rn([`pCode`,`startDate`,`endDate`,`getServicesFromPackage`],[`pCode`]),B=an(N({...rn([`sCode`,`ssCode`],[`sCode`,`ssCode`]),children:{serviceFare:vn,avesServiceInfo:F({serviceFare:vn}),noteList:gn}})),V=an(_n);V.one,V.many;const bn=L(yn,`many`),xn=R(`many`,`deadlineCode`,`description`,`expireDate`),Sn=R(`many`,`reschedulingCode`,`description`,`expireDate`),Cn=L(P(`reschedulingCode`,`expireDate`,`totalAmount`),`many`,`deadlineDetail`),wn=L(N({...P(`paymentDate`,`paymentNote`,`amount`,`paymentUser`,`paymentType`),rename:{paymentNote:`PaumentNote`}}),`many`),Tn=R(`many`,`paymentDate`,`paymentNote`,`payerMasterCode`,`payerName`,`amount`,`paymentType`),En=R(`many`,`cancelOperationType`,`serviceRefType`,`serviceRefValue`),Dn=I([`printDoc`,`sendDocViaEmail`],{infoDocumentsToPrint:F({documentCustomizablePrintParameters:P(`makeDocumentTo`,`fillInCode`)})}),On=P(`value`,`expiredDate`),kn=P(`recordCode`),An=P(`customer_PaymentType`,`customer_SpecPaymentTypeCode`),jn=P(`getAllDeptDate`,`getFlightPlan`,`getAllAccomodation`,`getRealAvailability`),Mn=P(`compatibleAccomodation`,`alternativeAccomodation`),Nn=R(`many`,`code`,`name`),Pn=P(`value`,`expiredDate`,`optionedFileExpireDatePolicy`),Fn=P(`apply`,`specificCode`),In={customerDetail:kn,bookingFileStatus:On,statisticCodes:pn,destination:mn,bookingFileDocument:Dn,bookingFinancialInfo:An,selectedPackageDetail:yn,selectedPackageList:bn,financialDeadlineList:Cn,paymentList:wn,cancellableBookedServiceList:En,noteList:gn},Ln=F({...In,deadlineList:xn,selectedServiceList:B.one,extraQuoteServiceList:B.one,passengerList:V.one}),Rn=F({...In,deadlineList:Sn,selectedServiceList:B.many,extraQuoteServiceList:B.many,passengerList:V.many}),zn=I([`paymentUser`],{filePaymentList:Tn}),Bn=F({fileStatus:P(`value`,`expireDate`),startDate:z,createdDate:z,lastModificationDate:z,insurance:P(`code`,`number`)}),Vn=F({statisticCodes:pn,selectedServiceList:L(P(`serviceCode`,`packageRow`),`many`),passengerList:V.many}),Hn=F({passengerList:V.many}),Un=F({destination:mn,statisticCodes:pn,packageParams:jn,topServiceParams:Mn,featureList:Nn}),Wn=F({fileStatus:Pn,penalty:Fn,bookingFileDocument:Dn}),Gn=N({}),H=e.union([e.literal(`true`),e.literal(`false`),e.boolean()]),Kn={[_.CONFIRM]:`CONFIRMED`,[_.OPTION]:`OPTIONED`,[_.REQUESTED]:`REQUEST`};function qn(e){return e in Kn?Kn[e]:e}const Jn=e.pipe(e.object({"@Value":Qe,"@ExpiredDate":e.optional(e.string()),"@ExpireDate":e.optional(e.string())}),e.transform(e=>({...j(e,{"@ExpiredDate":[`@ExpiredDate`,`@ExpireDate`]}),"@Value":qn(e[`@Value`])}))),Yn=D(`PricePerPaxDetail`,e.object({"@PaxRef":e.string(),"@Price":x})),Xn=e.object({"@CommissionCode":e.optional(e.string()),"@CommissionPercentage":e.optional(x),"@CommissionAmount":e.optional(x),"@PriceListCode":e.optional(e.string()),"@CostListCode":e.optional(e.string()),"@ServiceTotalPrice":e.optional(x),PaxPriceList:e.optional(Yn)}),Zn=e.object({"@Code":e.optional(e.string()),"@Name":e.optional(e.string()),"@Email":e.optional(e.string()),"@LanguageCode":e.optional(e.string())}),Qn=e.object({"@Code":e.optional(e.string()),"@Description":e.optional(e.string())}),$n=e.object({"@RPH":e.string(),"@ServiceCode":e.optional(e.string()),"@FromExternalProvider":e.optional(x),"@isFromExternalProvider":e.optional(x),AvesServiceType:e.optional(et),TOServiceType:e.optional(nt),FirstDescription:e.optional(e.string()),SecondDescription:e.optional(e.string()),ThirdDescription:e.optional(e.string()),FourthDescription:e.optional(e.string()),ServiceStatus:e.optional(it),StartDate:e.optional(e.string()),EndDate:e.optional(e.string()),Qty:e.optional(x),Pax:e.optional(x),PeriodType:e.optional(e.string()),PaxMultiplier:e.optional(e.string()),ExternalProviderCode:e.optional(e.string()),WebStatisticCode:e.optional(e.string()),WebStatisticDescription:e.optional(e.string()),WebStatistic:e.optional(Qn),SupplierInfo:e.optional(Zn),ServiceTotalAmountDetail:e.optional(Xn)}),er=D(`BookedServiceDetail`,e.pipe($n,e.transform(e=>j(e,{"@FromExternalProvider":[`@FromExternalProvider`,`@isFromExternalProvider`]})))),tr=e.object({"@CurrencyCode":e.optional(e.string()),"@TotalAmountBeforeDiscount":e.optional(x),"@TotalAmountAfterDiscount":e.optional(x),"@TotalDiscount":e.optional(x),"@TotalAmountWithoutVat":e.optional(x),"@DueAmount":e.optional(x),"@PaiedAmount":e.optional(x),"@Balance":e.optional(x)}),nr=D(`PassengerDetail`,e.object({"@RPH":e.string(),"@RoomRPH":e.optional(e.string()),"@BillingHolder":e.optional(x),Name:e.optional(e.string()),CategoryCode:e.optional(e.string()),Sex:e.optional(e.string()),BirthDate:e.optional(e.string()),BirthPlace:e.optional(e.string()),NationCode:e.optional(e.string()),CitizenshipCode:e.optional(e.string()),FiscalCode:e.optional(e.string()),PhoneNumber:e.optional(e.string()),EMail:e.optional(e.string()),MasterRecordCode:e.optional(e.string())})),rr=e.object({"@ReschedulingCode":e.optional(e.string()),"@ExpireDate":e.optional(e.string()),"@TotalAmount":e.optional(x),ReschedulingCode:e.optional(e.string()),ExpireDate:e.optional(e.string()),TotalAmount:e.optional(x)}),ir=D(`DeadlineDetail`,e.pipe(rr,e.transform(e=>j(e,{"@ReschedulingCode":[`@ReschedulingCode`,`ReschedulingCode`],"@ExpireDate":[`@ExpireDate`,`ExpireDate`],"@TotalAmount":[`@TotalAmount`,`TotalAmount`]})))),ar=D(`StoredDocumentDetail`,e.object({DocumentRefCode:e.optional(e.string()),DocumentType:e.optional(e.string()),DocumentName:e.optional(e.string()),ArchiviationDescription:e.optional(e.string())})),or=D(`PrintableDocumentDetail`,e.object({DocumentType:e.optional(e.string()),DocumentName:e.optional(e.string()),Enabled:e.optional(x)})),sr=e.object({"@BookingFileCode":e.optional(e.string()),BookingFileCode:e.optional(e.string()),CustomerRecordCode:e.optional(e.string()),CustomerName:e.optional(e.string()),CustomerEmail:e.optional(e.string()),TravelAgencyName:e.optional(e.string()),TravelAgencyEmail:e.optional(e.string()),BookingFileStatus:e.optional(Jn),Description:e.optional(e.string()),Nation:e.optional(e.string()),Destination:e.optional(e.string()),CreationDate:e.optional(e.string()),FirstConfirmationDate:e.optional(e.string()),StartDate:e.optional(e.string()),EndDate:e.optional(e.string()),PackageCode:e.optional(e.string()),BookedServiceList:e.optional(er),TotalAmountDetail:e.optional(tr),PaxNumber:e.optional(x),PassengerList:e.optional(nr),Reference:e.optional(e.string()),ClerkName:e.optional(e.string()),StoredDocumentsList:e.optional(ar),PrintableDocumentsList:e.optional(or),FinancialDeadlineList:e.optional(ir)}),cr=e.pipe(sr,e.transform(e=>j(e,{"@BookingFileCode":[`@BookingFileCode`,`BookingFileCode`]}))),lr=e.object({currencyCode:e.optional(e.string()),creditLimit:e.optional(e.string()),c_PaymentType:e.optional(Ge),c_SpecPaymentTypeCode:e.optional(e.string()),s_PaymentType:e.optional(Ge),s_SpecPaymentTypeCode:e.optional(e.string()),enableElectronicInvoicing:e.optional(H),electronicInvoicingType:e.optional(e.string())}),ur=M(lr,on);ur.api,ur.validation;const dr=e.object({idType:e.optional(e.string()),idCode:e.optional(e.string()),idIssueLocation:e.optional(e.string()),idIssueCounty:e.optional(e.string()),idIssueDate:e.optional(e.string()),idExpireDate:e.optional(e.string())}),fr=M(dr,sn);fr.api,fr.validation;const pr=e.object({key:e.string(),value:e.string()});tn(pr,ln);const mr=e.object({supplierRefCode:e.optional(e.string()),companyMainBusinessType:e.optional(e.string()),carrierType:e.optional(qe)}),hr=M(mr,un);hr.api,hr.validation;const gr=e.union([e.literal(0),e.literal(1)]),_r=e.object({acceptProfilingPolicies:e.optional(gr),acceptPrivacyPolicies:e.optional(gr),acceptNewsletterPolicies:e.optional(gr)}),vr=M(_r,cn);vr.api,vr.validation;const yr={recordCode:e.optional(e.pipe(e.string(),e.minLength(6),e.maxLength(6))),insertCriteria:e.optional(Ue),createdDate:e.optional(e.string()),recordType:e.optional(ze,Re.CUSTOMER),recordStatus:e.optional(Ve,Be.ENABLED),moniker:e.optional(e.string()),name:e.optional(e.string()),extraInfo:e.optional(e.string()),languageCode:Ft,address:e.optional(e.string()),zipCode:e.optional(e.string()),cityName:e.optional(e.string()),countyCode:e.optional(e.string()),stateCode:e.optional(e.string()),categoryCode:e.optional(e.string()),firstPhoneNumber:e.optional(e.string()),mobilePhoneNumber:e.optional(e.string()),email:e.optional(e.string()),gender:e.optional(Me),birthDate:e.optional(e.string()),birthCity:e.optional(e.string()),birthCounty:e.optional(e.string()),fiscalCode:e.optional(e.string()),vatCode:e.optional(e.string()),thirdPartRecordCode:e.optional(e.string()),idDocumentDetail:e.optional(dr),accountPolicies:e.optional(_r),financialDetail:e.optional(lr),dynamicFields:e.optional(e.array(pr)),supplierRefMasterRecords:e.optional(mr)},br=E(A(yr,De),dn),U=e.partial(tn(e.object(yr),dn,{ModifiedDate:e.optional(e.string()),LoginType:e.optional(e.string()),PromoterCode:e.optional(e.string()),EncryptedPassword:e.optional(H),NewsletterDisabled:e.optional(H)}));O(U);const xr=Kt(Ye,{expiredDate:e.optional(e.string())}),W=e.object({sCode1:e.optional(e.pipe(e.string(),e.maxLength(4))),sCode2:e.optional(e.pipe(e.string(),e.maxLength(4))),sCode3:e.optional(e.pipe(e.string(),e.maxLength(4))),sCode4:e.optional(e.pipe(e.string(),e.maxLength(4))),sCode5:e.optional(e.pipe(e.string(),e.maxLength(4))),sCode6:e.optional(e.pipe(e.string(),e.maxLength(4)))}),Sr=e.object({code:e.optional(e.string()),iataCode:e.optional(e.string()),nationCode:e.optional(e.string()),type:e.optional(Pt)}),Cr=e.object({recordCode:e.optional(e.string())}),wr=e.object({makeDocumentTo:e.optional(St)}),Tr=e.object({fillInCode:e.optional(e.string())}),Er=e.union([wr,Tr]),Dr=e.object({documentType:bt,documentCustomizablePrintParameters:e.optional(Er)}),Or=e.object({printDoc:e.optional(H),sendDocViaEmail:e.optional(H),infoDocumentsToPrint:e.optional(e.array(Dr))}),kr=e.object({reschedulingCode:e.optional(e.string()),expireDate:e.optional(e.string()),totalAmount:e.optional(e.string())}),Ar=e.object({deadlineCode:e.optional(e.string()),description:e.optional(e.string()),expireDate:e.optional(e.string())}),jr=e.object({paymentDate:e.optional(e.string()),paymentNote:e.optional(e.string()),amount:e.optional(e.string()),paymentUser:e.optional(e.string()),paymentType:e.optional(ot)}),Mr=A({nType:e.optional(e.string()),title:e.optional(e.string()),text:e.optional(e.string())},ge),Nr=e.object({currencyCode:e.optional(e.string()),exchangeRate:e.optional(e.string()),cost:e.optional(e.string()),costTax:e.optional(e.string()),costType:e.optional(wt),vatCostCurrencyCode:e.optional(e.string()),price:e.optional(e.string()),priceTax:e.optional(e.string()),priceType:e.optional(wt)}),Pr=e.object({packageCode:e.optional(e.string()),packageReference:e.optional(e.string()),suballotmentCode:e.optional(e.string()),priceListCode:e.optional(e.string()),costListCode:e.optional(e.string()),externalFileCode:e.optional(e.string()),externalReference:e.optional(e.string()),serviceStatus:e.optional(e.string()),serviceStatisticCode:e.optional(e.string()),serviceFare:e.optional(Nr)}),Fr=A({sCode:e.string(),ssCode:e.optional(e.string()),avesServiceType:et,toServiceType:e.optional(nt),subServiceDesc:e.optional(e.string()),startDate:e.string(),endDate:e.string(),qty:e.string(),pax:e.string(),paxAssociated:e.optional(e.union([e.array(e.string()),e.array(e.object({pax:e.string()}))])),avesSession:e.string(),avesServiceInfo:e.optional(Pr),serviceFare:e.optional(Nr),bookedServiceRef:e.optional(e.string()),supplierMasterCode:e.optional(e.string()),voucherMasterCode:e.optional(e.string()),hotelServiceInfo:e.optional(e.string()),carRentalServiceInfo:e.optional(e.string()),flightServiceInfo:e.optional(e.string()),shipServiceInfo:e.optional(e.string()),ticketServiceInfo:e.optional(e.string()),commission:e.optional(e.string()),noteList:e.optional(e.array(Mr)),voucherInfo:e.optional(e.string()),firstDescription:e.optional(e.string()),secondDescription:e.optional(e.string())},ve),Ir=A({pCode:e.string(),startDate:e.string(),endDate:e.string(),getServicesFromPackage:e.optional(H)},ye),Lr={rph:e.string(),roomRph:e.optional(e.string()),billingHolder:e.optional(H),masterRecordCode:e.optional(e.string()),name:e.string(),sex:Me,birthDate:e.optional(e.string()),birthPlace:e.optional(e.string()),nationCode:e.optional(e.string()),citizenshipCode:e.optional(e.string()),fiscalCode:e.optional(e.string()),phoneNumber:e.optional(e.string()),eMail:e.optional(e.string()),notes:e.optional(e.array(Mr)),flagStatus:e.optional(e.string()),offerCode:e.optional(e.string()),idDocInfo:e.optional(dr)},Rr=A({...Lr,categoryCode:ut},_e),zr=A({...Lr,categoryCode:e.optional(ut)},_e),Br=e.object({customer_PaymentType:e.optional(ct),customer_SpecPaymentTypeCode:e.optional(e.string())}),Vr=E(e.pipe(A({createDate:e.optional(e.string()),bookingFileRefCode:e.optional(e.string()),travelAgentCode:e.optional(e.string()),clerkName:e.optional(e.string()),customerDetail:e.optional(Cr),customerRecordCode:e.optional(e.string()),currencyCode:e.optional(e.string()),markupCode:e.optional(e.string()),bookingFileStatus:xr,statisticCodes:e.optional(W),destination:e.optional(Sr),bookingFileDescription:e.optional(e.string()),startDate:e.string(),endDate:e.string(),earlyBookingDate:e.optional(e.string()),cupCode:e.optional(e.string()),cigCode:e.optional(e.string()),customerPromoterCode:e.optional(e.string()),billingReferenceCode:e.optional(e.string()),paymentReferenceCode:e.optional(e.string()),bookingFileDocument:e.optional(Or),financialDeadlineList:e.optional(e.array(kr)),deadlineList:e.optional(e.array(Ar)),paymentList:e.optional(e.array(jr)),selectedPackageList:e.optional(e.array(Ir)),selectedServiceList:e.array(Fr),extraQuotaRefCode:e.optional(e.string()),extraQuoteServiceList:e.optional(e.array(Fr)),getExtraQuoteFromSystem:e.optional(H),passengerList:e.array(Rr),noteList:e.optional(e.array(Mr)),bookingFinancialInfo:e.optional(Br),bookingFileCode:e.optional(e.string()),groupingPaxPolicy:e.optional(Et),groupBookingFile:e.optional(H),typeDownloadFile:e.optional(Ot),setBookingFileCodeFromStartDate:e.optional(H)},be),e.check(e=>!!(e.customerDetail||e.customerRecordCode),`customerDetail or customerRecordCode is required`),e.transform(Jt)),Ln),Hr=Gt(e.object({RsStatus:w,BookingFileDetail:e.optional(cr),PrintableDocumentsList:e.optional(or),TotalAmountDetailAfterCancellation:e.optional(tr),Base64DocContent:e.optional(e.string())}),`bookingFileDetail`),Ur=Rt,G={customerRecordCode:e.string(),bookingFileCode:e.string()},Wr=Hr,Gr=e.object({reschedulingCode:e.string(),description:e.optional(e.string()),expireDate:e.optional(e.string())}),Kr=e.object({cancelOperationType:ft,serviceRefType:mt,serviceRefValue:e.string()}),qr=E(e.pipe(A({...G,currencyCode:e.optional(e.string()),deadlineList:e.optional(e.array(Gr)),selectedPackageDetail:e.optional(Ir),selectedPackageList:e.optional(e.pipe(e.array(Ir),e.maxLength(1))),selectedServiceList:e.pipe(e.array(Fr),e.minLength(1)),cancellableBookedServiceList:e.optional(e.array(Kr)),passengerList:e.optional(e.array(zr))},xe),e.transform(qt(`selectedPackageList`,`selectedPackageDetail`))),Rn),Jr=E(A({...G,bookingFileStartDate:e.string(),newCustomerRecordCode:e.optional(e.string()),bookingFileReferenceName:e.optional(e.string()),travelAgentCode:e.optional(e.string()),billingReferenceCode:e.optional(e.string()),paymentReferenceCode:e.optional(e.string()),cupCode:e.optional(e.string()),cigCode:e.optional(e.string()),customerPromoterCode:e.optional(e.string()),bookingNote:e.optional(e.string()),passengerList:e.optional(e.array(zr)),statisticCodes:e.optional(W),bookingFinancialInfo:e.optional(Br),financialDeadlineList:e.optional(e.array(e.object({reschedulingCode:e.string(),expireDate:e.string(),totalAmount:e.string()})))},Se),Rn),Yr=E(A(G,m),Gn),Xr=E(A({...G,fileStatus:Kt(Ze,{expiredDate:e.optional(e.string()),optionedFileExpireDatePolicy:e.optional(gt)}),backOfficeRequest:e.optional(H),bookingFileDocument:e.optional(Or),penalty:e.optional(e.object({apply:e.optional(H),specificCode:e.optional(e.string())})),simulateCancelAndGetPenaltyAmount:e.optional(H)},Ce),Wn),Zr=E(A({...G,bookingServiceRef:e.string(),bookingFileServiceStatus:e.literal(`NULLIFIED`),bookingFileServiceStatusDate:e.optional(e.string())},we),Gn),Qr=e.object({paymentDate:e.string(),paymentNote:e.optional(e.string()),payerMasterCode:e.optional(e.string()),payerName:e.optional(e.string()),amount:e.string(),paymentType:ot}),$r=E(e.pipe(A({bookingFileCode:e.optional(e.string()),bookingFileRefCode:e.optional(e.string()),paymentUser:e.optional(e.string()),enableMultiplePayments:H,operationType:vt,filePaymentList:e.pipe(e.array(Qr),e.minLength(1))},Te),e.check(e=>!!(e.bookingFileCode||e.bookingFileRefCode),`bookingFileCode or bookingFileRefCode is required`)),zn),ei=D(`FeatureDetail`,e.object({"@Code":e.optional(e.string()),"@Name":e.optional(e.string()),ValueCode:e.optional(e.string()),ValueName:e.optional(e.string())})),ti=e.object({"@PackageCode":e.optional(e.string()),"@PackageReference":e.optional(e.string()),"@PackageServiceType":e.optional(e.string()),"@ServiceCodeForPackageDetail":e.optional(e.string())}),ni=D(`SubServiceDetail`,e.object({"@ssCode":e.optional(e.string()),FirstDescription:e.optional(e.string()),SubServiceType:e.optional(e.string()),SubServiceLevel:e.optional(S),StartDate:e.optional(e.string()),EndDate:e.optional(e.string())})),ri=D(`ServiceDetail`,e.object({"@sCode":e.optional(e.string()),FirstDescription:e.optional(e.string()),SecondDescription:e.optional(e.string()),AvesServiceType:e.optional(e.string()),TOServiceType:e.optional(e.string()),StartDate:e.optional(e.string()),EndDate:e.optional(e.string()),RefPackageInfo:e.optional(ti),SubServiceList:e.optional(ni)})),ii=e.object({"@pCode":e.optional(e.string()),FirstDescription:e.optional(e.string()),SecondDescription:e.optional(e.string()),FrequencyType:e.optional(e.string()),ProgramType:e.optional(e.string()),StartValidation:e.optional(e.string()),EndValidation:e.optional(e.string()),StartDate:e.optional(e.string()),EndDate:e.optional(e.string()),BasePrice:e.optional(S),BasePax:e.optional(S),CanCommitPack:e.optional(S),FeatureList:e.optional(ei),ServiceList:e.optional(ri)}),ai=D(`PackageDetail`,ii),oi=e.object({code:e.string(),name:e.optional(e.string())}),si=A({getAllDeptDate:e.optional(H),getFlightPlan:e.optional(H),getAllAccomodation:e.optional(H),getRealAvailability:e.optional(H),minStay:e.optional(x),maxStay:e.optional(x)},ke),ci=A({compatibleAccomodation:e.optional(H),alternativeAccomodation:e.optional(H)},ke),li=A({customerRecordCode:e.string(),languageCode:b,currencyCode:e.optional(e.string()),startDate:e.string(),endDate:e.string(),earlyBookingDate:e.optional(e.string()),passengerList:e.pipe(e.array(Rr),e.minLength(1)),avesSearchType:e.optional(At),paxQty:e.optional(x),paxQtyCriteria:e.optional(Mt),discartNotAvailables:e.optional(H),discartNotAvailablesMinSales:e.optional(H),discartNotAvailablesDaysInOut:e.optional(H),discardPriceZero:e.optional(H),discardZeroPriceDays:e.optional(H),destination:e.optional(Sr),objectTypeCode:e.optional(e.string()),featureList:e.optional(e.array(oi)),servOrPackCode:e.optional(e.string()),servOrPackDesc:e.optional(e.string()),priceListCode:e.optional(e.string()),costListCode:e.optional(e.string()),suballotmentCode:e.optional(e.string()),markupCode:e.optional(e.string()),statisticCodes:e.optional(W),mergeBoardAndAccomodation:e.optional(H),packageParams:e.optional(si),topServiceParams:e.optional(ci),getDocumentation:e.optional(H)},Oe),ui=e.pipe(li,e.check(e=>e.languageCode!=null&&e.avesSearchType!=null,`languageCode and avesSearchType required`));function di(e){let{customerRecordCode:t,languageCode:n,currencyCode:r,startDate:i,endDate:a,earlyBookingDate:o,passengerList:s,paxQty:ee,paxQtyCriteria:c,avesSearchType:te,...ne}=e;return{BaseSearch:Ht({customerRecordCode:t,languageCode:n,currencyCode:r,startDate:i,endDate:a,earlyBookingDate:o,passengerList:s},Hn),...Ht({...ne,avesSearchType:te,paxQty:ee??s.length,paxQtyCriteria:c??jt.GREATER_OR_EQUAL},Un)}}const fi=e.pipe(ui,e.transform(di)),pi=k(`PackageList`,ai),mi=k(`ServiceList`,ri),hi=e.object({serviceCode:e.string(),packageRow:e.string()}),gi=E(A({customerRecordCode:e.string(),languageCode:b,currencyCode:e.optional(e.string()),packageCode:e.string(),startDate:e.string(),endDate:e.string(),priceListCode:e.optional(e.string()),costListCode:e.optional(e.string()),markupCode:e.optional(e.string()),statisticCodes:e.optional(W),selectedServiceList:e.pipe(e.array(hi),e.minLength(1)),passengerList:e.optional(e.array(Rr))},Ae),Vn),_i=Gt(e.object({RsStatus:w,PackageDetail:e.optional(ii)}),`packageDetail`),vi=E(e.object({packageCode:e.string()}),Gn),yi=Rt,bi=C,K=b,xi=e.object({searchType:e.literal(g.CODE),recordCode:e.pipe(e.string(),e.minLength(5),e.maxLength(6)),languageCode:K}),Si=e.object({searchType:e.literal(g.NAME),name:e.string(),city:e.optional(e.string()),languageCode:K}),Ci=e.object({searchType:e.literal(g.VATCODE),vatCode:e.string(),phoneNumber:e.optional(e.string()),languageCode:K}),wi=e.object({searchType:e.literal(g.ZONE),zipCode:e.string(),countyCode:e.string(),city:e.optional(e.string()),languageCode:K}),Ti=e.object({searchType:e.literal(g.CATEGORY),categoryCode:e.string(),languageCode:K}),Ei=e.object({searchType:e.literal(g.EMAIL),email:e.string(),languageCode:K}),Di=e.object({searchType:e.literal(g.LASTMODDATE),lastModificationDate:bi,languageCode:K}),Oi=e.object({searchType:e.literal(g.SEARCH_FIELD),searchFieldValue:e.string(),languageCode:K}),ki=e.object({searchType:e.literal(g.EXTERNAL_REF_CODE),searchFieldValue:e.string(),languageCode:K}),Ai=E(e.union([xi,Si,Ci,wi,Ti,Ei,Di,Oi,ki]),fn);e.pipe(e.object({RqHeader:It,SearchMasterRecord:Ai}),e.transform(e=>{let{SearchMasterRecord:t,RqHeader:n,...r}=e;return{RqHeader:n,...t,...r}}));const ji=k(`MasterRecordList`,D(`MasterRecordDetail`,U)),Mi=Kt(Qe,{expireDate:e.optional(e.string())}),Ni=e.object({code:e.optional(e.string()),number:e.optional(e.string())}),Pi={customerRecordCode:e.string(),customerPromoterCode:e.optional(e.string()),getSupplierInfo:e.optional(H),user:e.optional(e.string()),officeCode:e.optional(e.string())},Fi=A({...Pi,searchType:e.literal(v.FILE_CODE),bookingFileCode:e.string()},Ee),Ii=A({...Pi,searchType:e.literal(v.PAX_NAME),firstPaxName:e.string()},Ee),Li=A({...Pi,searchType:e.literal(v.PACKAGE_CODE),packageCode:e.string()},Ee),Ri=A({...Pi,searchType:e.literal(v.OTHER),fileStatus:e.optional(Mi),startDate:e.optional(C),createdDate:e.optional(C),lastModificationDate:e.optional(C),insurance:e.optional(Ni),isSearchForB2C:e.optional(H)},Ee),zi=E(e.union([Fi,Ii,Li,Ri]),Bn),Bi=k(`BookingFileList`,D(`BookingFileDetail`,cr));e.object({RqHeader:It,MasterRecordDetail:U});const Vi=Gt(e.object({RsStatus:w,MasterRecordDetail:e.optional(U)}),`masterRecordDetail`),q={SEARCH_REQUEST:`SearchMasterRecordRQ`,SEARCH_RESPONSE:`SearchMasterRecordRS`,UPSERT_REQUEST:`ManageMasterRecordRQ`,UPSERT_RESPONSE:`ManageMasterRecordRS`,BOOKING_REQUEST:`BookFileRQ`,BOOKING_RESPONSE:`BookingFileRS`,MOD_FILE_SERVICES_REQUEST:`ModFileServicesRQ`,MOD_FILE_HEADER_REQUEST:`ModFileHeaderRQ`,MOD_FILE_HEADER_RESPONSE:`ModFileHeaderRS`,CANCEL_FILE_REQUEST:`CancelFileRQ`,CANCEL_FILE_RESPONSE:`CancelFileRS`,SET_STATUS_REQUEST:`SetStatusRQ`,SET_STATUS_RESPONSE:`SetStatusRS`,SET_STATUS_SERVICE_REQUEST:`SetStatusServiceRQ`,SET_STATUS_SERVICE_RESPONSE:`SetStatusServiceRS`,FILE_PAYMENT_LIST_REQUEST:`FilePaymentListRQ`,FILE_PAYMENT_LIST_RESPONSE:`FilePaymentListRS`,AVES_SEARCH_REQUEST:`AvesSearchRQ`,SEARCH_PACKAGE_RESPONSE:`SearchPackageRS`,SEARCH_SERVICES_RESPONSE:`SearchServicesRS`,PACKAGE_DETAIL_REQUEST:`PackageDetailRQ`,PACKAGE_DETAIL_RESPONSE:`PackageDetailRS`,COMMIT_PACKAGE_REQUEST:`CommitPackRQ`,COMMIT_PACKAGE_RESPONSE:`CommitPackRS`,SEARCH_BOOKING_FILE_REQUEST:`SearchFileRQ`,SEARCH_BOOKING_FILE_RESPONSE:`SearchFileRS`};function Hi(e,t){return{[e]:t}}const J={search:`/interop/masterRecords/v2/rest/Search`,upsert:`/interop/masterRecords/v2/rest/InsertOrUpdate`,createBooking:`/interop/booking/v2/rest/CreateBookingFile`,modBookingServices:`/interop/booking/v2/rest/ModBookingFileServices`,modBookingHeader:`/interop/booking/v2/rest/ModBookingFileHeader`,cancelBooking:`/interop/booking/v2/rest/CancelBookingFile`,setBookingStatus:`/interop/booking/v2/rest/SetBookingFileStatus`,setBookingServiceStatus:`/interop/booking/v2/rest/SetBookingFileServiceStatus`,insertFilePaymentList:`/interop/booking/v2/rest/InsertFilePaymentList`,searchAvesPackages:`/interop/booking/v2/rest/SearchAvesPackages`,searchTopServices:`/interop/booking/v2/rest/SearchTopServices`,getPackageDetail:`/interop/booking/v2/rest/GetPackageDetail`,commitPackage:`/interop/booking/v2/rest/CommitPackage`,searchBookingFile:`/interop/booking/v2/rest/SearchBookingFile`};function Y(e){return e}const X={search:`search`,upsert:`upsert`,create:`create`,updateServices:`updateServices`,updateHeader:`updateHeader`,cancel:`cancel`,setStatus:`setStatus`,setServiceStatus:`setServiceStatus`,addPayments:`addPayments`,searchBookings:`searchBookings`,searchPackages:`searchPackages`,searchServices:`searchServices`,get:`get`,commit:`commit`},Ui=h(X),Wi={[X.search]:Y({endpoint:J.search,requestRoot:q.SEARCH_REQUEST,responseRoot:q.SEARCH_RESPONSE,apiSchema:Ai,responseSchema:ji}),[X.upsert]:Y({endpoint:J.upsert,requestRoot:q.UPSERT_REQUEST,responseRoot:q.UPSERT_RESPONSE,apiSchema:br,responseSchema:Vi,bodyKey:Fe.MasterRecordDetail}),[X.create]:Y({endpoint:J.createBooking,requestRoot:q.BOOKING_REQUEST,responseRoot:q.BOOKING_RESPONSE,apiSchema:Vr,responseSchema:Hr}),[X.updateServices]:Y({endpoint:J.modBookingServices,requestRoot:q.MOD_FILE_SERVICES_REQUEST,responseRoot:q.BOOKING_RESPONSE,apiSchema:qr,responseSchema:Wr}),[X.updateHeader]:Y({endpoint:J.modBookingHeader,requestRoot:q.MOD_FILE_HEADER_REQUEST,responseRoot:q.MOD_FILE_HEADER_RESPONSE,apiSchema:Jr,responseSchema:Ur}),[X.cancel]:Y({endpoint:J.cancelBooking,requestRoot:q.CANCEL_FILE_REQUEST,responseRoot:q.CANCEL_FILE_RESPONSE,apiSchema:Yr,responseSchema:Ur}),[X.setStatus]:Y({endpoint:J.setBookingStatus,requestRoot:q.SET_STATUS_REQUEST,responseRoot:q.SET_STATUS_RESPONSE,apiSchema:Xr,responseSchema:Wr}),[X.setServiceStatus]:Y({endpoint:J.setBookingServiceStatus,requestRoot:q.SET_STATUS_SERVICE_REQUEST,responseRoot:q.SET_STATUS_SERVICE_RESPONSE,apiSchema:Zr,responseSchema:Wr}),[X.addPayments]:Y({endpoint:J.insertFilePaymentList,requestRoot:q.FILE_PAYMENT_LIST_REQUEST,responseRoot:q.FILE_PAYMENT_LIST_RESPONSE,apiSchema:$r,responseSchema:Ur}),[X.searchBookings]:Y({endpoint:J.searchBookingFile,requestRoot:q.SEARCH_BOOKING_FILE_REQUEST,responseRoot:q.SEARCH_BOOKING_FILE_RESPONSE,apiSchema:zi,responseSchema:Bi}),[X.searchPackages]:Y({endpoint:J.searchAvesPackages,requestRoot:q.AVES_SEARCH_REQUEST,responseRoot:q.SEARCH_PACKAGE_RESPONSE,apiSchema:fi,responseSchema:pi}),[X.searchServices]:Y({endpoint:J.searchTopServices,requestRoot:q.AVES_SEARCH_REQUEST,responseRoot:q.SEARCH_SERVICES_RESPONSE,apiSchema:fi,responseSchema:mi}),[X.get]:Y({endpoint:J.getPackageDetail,requestRoot:q.PACKAGE_DETAIL_REQUEST,responseRoot:q.PACKAGE_DETAIL_RESPONSE,apiSchema:gi,responseSchema:_i}),[X.commit]:Y({endpoint:J.commitPackage,requestRoot:q.COMMIT_PACKAGE_REQUEST,responseRoot:q.COMMIT_PACKAGE_RESPONSE,apiSchema:vi,responseSchema:yi})};var Gi=class{transport;constructor(e){this.transport=e}async create(e){return p(await this.transport.invokeOp(X.create,e))}async updateServices(e){return p(await this.transport.invokeOp(X.updateServices,e))}async updateHeader(e){return p(await this.transport.invokeOp(X.updateHeader,e))}async cancel(e){return p(await this.transport.invokeOp(X.cancel,e))}async setStatus(e){return p(await this.transport.invokeOp(X.setStatus,e))}async setServiceStatus(e){return p(await this.transport.invokeOp(X.setServiceStatus,e))}async addPayments(e){return p(await this.transport.invokeOp(X.addPayments,e))}async search(e){return p(await this.transport.invokeOp(X.searchBookings,e))}};function Ki(e){return{success:!0,data:e}}function Z(e){return{success:!1,error:e}}var qi=class{transport;constructor(e){this.transport=e}async search(e){let t=await this.transport.invokeOp(X.search,e);return t.success?Ki(he(t.data.masterRecordList??[])):t}async upsert(e){return p(await this.transport.invokeOp(X.upsert,e))}},Ji=class{transport;constructor(e){this.transport=e}#e(e,t){return{...this.transport.languageCode&&{languageCode:this.transport.languageCode},...e,avesSearchType:e.avesSearchType??e.searchType??t}}async search(e){return p(await this.transport.invokeOp(X.searchPackages,this.#e(e,y.PACKAGE)))}async searchServices(e){return p(await this.transport.invokeOp(X.searchServices,this.#e(e,y.SERVICE)))}async get(e){return p(await this.transport.invokeOp(X.get,e))}async commit(e){return p(await this.transport.invokeOp(X.commit,e))}};const Yi={VALIDATION:`validation`,API:`api`,UNKNOWN:`unknown`};var Q=class extends Error{kind;status;code;constructor(e,t,n,r){super(t),this.kind=e,this.status=n,this.code=r,this.name=`AvesError`}};function $(e){return new Q(Yi.VALIDATION,e)}function Xi(e,t,n){return new Q(Yi.API,e,t,n)}function Zi(e){return new Q(Yi.UNKNOWN,e)}function Qi(e,n){return e instanceof Q?e:e instanceof t?$(`Validation error: ${$i(e.issues)}`):e instanceof Error?Zi(e.message):Zi(n)}function $i(e){return e.map(ea).join(`; `)}function ea(e){let t=ta(e.path),n=e.message??`Invalid value`;return t?`${t}: ${n}`:n}function ta(e){if(!e||e.length===0)return;let t=e.map(na).filter(e=>e!==void 0);return t.length>0?t.join(`.`):void 0}function na(e){if(typeof e==`string`||typeof e==`number`)return String(e);if(typeof e==`object`&&e&&`key`in e)return String(e.key)}function ra(e){return e instanceof Error&&e.name===`AbortError`}const ia=e=>e<200||e>299,aa={ignoreAttributes:!1,attributeNamePrefix:`@`,parseAttributeValue:!1,trimValues:!0,ignoreNameSpace:!0,removeNSPrefix:!0,parseTagValue:!1},oa={ignoreAttributes:!1,attributeNamePrefix:`@`,suppressEmptyNode:!0},sa=new a(aa),ca=new i(oa);function la(e){try{return ca.build(e)}catch(e){throw $(`Failed to convert JSON to XML: ${e instanceof Error?e.message:`Unknown error`}`)}}function ua(e){try{return sa.parse(e)}catch(e){throw $(`Failed to convert XML to JSON: ${e instanceof Error?e.message:`Unknown error`}`)}}function da(e,t,n){let r=e.bodyKey?{[e.bodyKey]:t}:t;return Hi(e.requestRoot,{RqHeader:n,...r})}function fa(e){return typeof e==`string`?e:e instanceof Uint8Array||Buffer.isBuffer(e)?Buffer.from(e).toString(`utf8`):String(e)}async function pa(e,t){let n=``;for await(let r of e){if(n.length>=t)continue;let e=fa(r),i=t-n.length;n+=e.length<=i?e:e.slice(0,i)}return n}function ma(e){let t=new AbortController;if(!e||e<=0)return{signal:t.signal};let n=setTimeout(()=>t.abort(),e);return{signal:t.signal,clear:()=>clearTimeout(n)}}function ha(e,t){if(!t.startsWith(`/`))throw $(`Invalid endpoint: endpoint must start with '/' but got '${t}'`);let n;try{n=new URL(e)}catch(e){throw $(`Invalid baseURL: ${e instanceof Error?e.message:`Invalid URL format`}`)}if(n.protocol!==`http:`&&n.protocol!==`https:`)throw $(`Invalid protocol: baseURL must use http:// or https:// but got '${n.protocol}'`);let{pathname:r}=n;if(r===`/`||r===``)return new URL(t,n).href;let i=(r.endsWith(`/`)?r.slice(0,-1):r)+t;return new URL(i,n).href}const ga={"Content-Type":`application/xml`};var _a=class{options;urlByEndpoint=new Map;constructor(e){this.options=e}async postXml(e,t){let{signal:n,clear:r}=ma(this.options.timeoutMs??3e4);try{let r=await o(this.resolveUrl(e),{method:`POST`,headers:ga,body:t,signal:n}),i=ia(r.statusCode),a=i?await pa(r.body,4096):await r.body.text();return i?Z(Xi(a,`ERROR`,r.statusCode)):Ki({statusCode:r.statusCode,body:a})}catch(e){return ra(e)?Z(Xi(`Request timed out`,`TIMEOUT`)):Z(Qi(e,`Unknown error occurred`))}finally{r?.()}}resolveUrl(e){let t=this.urlByEndpoint.get(e);if(t)return t;let n=ha(this.options.baseURL,e);return this.urlByEndpoint.set(e,n),n}};function va(e,t,n){let i=ua(e)[t];if(!i)return Z($(`Invalid response structure: missing root element '${t}'`));let a=r(n,i);return a.success?ya(a.output):Z($(`Invalid response format: ${$i(a.issues)}`))}function ya(e){let{rsStatus:t}=e;return t.status===`OK`?Ki(e):Z(Xi(t.errorDescription??``,t.status,t.errorCode))}function ba(e){return{"@HostID":e.hostID,"@Xtoken":e.xtoken,"@Interface":`WEB`,"@UserName":`WEB`,...e.languageCode&&{"@LanguageCode":e.languageCode}}}var xa=class{options;http;rqHeader;constructor(e){this.options=e,this.http=new _a({baseURL:e.baseURL,timeoutMs:e.timeoutMs}),this.rqHeader=Object.freeze(ba(e))}get languageCode(){return this.options.languageCode}createRqHeader(){return this.rqHeader}async invokeOp(e,t){let r=Wi[e];try{let e=da(r,n(r.apiSchema,t),this.rqHeader),i=await this.http.postXml(r.endpoint,la(e));return i.success?va(i.data.body,r.responseRoot,r.responseSchema):i}catch(t){return Z(Qi(t,`Validation error occurred during ${e}`))}}},Sa=class{transport;master;booking;packages;constructor(e,t={}){this.transport=t.transport??new xa(e),this.master=t.master??new qi(this.transport),this.booking=t.booking??new Gi(this.transport),this.packages=t.packages??new Ji(this.transport)}};export{Sa as AvesClient,Q as AvesError,X as AvesOp,Ui as AvesOpSchema,y as AvesSearchType,At as AvesSearchTypeSchema,$e as AvesServiceType,et as AvesServiceTypeSchema,xa as AvesTransport,rt as BookedServiceStatus,it as BookedServiceStatusSchema,Gi as BookingClient,Je as BookingFileStatus,Ye as BookingFileStatusSchema,_ as BookingFileStatusWire,Qe as BookingFileStatusWireSchema,dt as CancelOperationType,ft as CancelOperationTypeSchema,Ke as CarrierType,qe as CarrierTypeSchema,Ct as CostPriceType,wt as CostPriceTypeSchema,st as CustomerPaymentType,ct as CustomerPaymentTypeSchema,Nt as DestinationType,Pt as DestinationTypeSchema,yt as DocumentType,bt as DocumentTypeSchema,_t as FilePaymentOperationType,vt as FilePaymentOperationTypeSchema,je as Gender,Me as GenderSchema,Tt as GroupingPaxPolicy,Et as GroupingPaxPolicySchema,He as InsertCriteria,Ue as InsertCriteriaSchema,xt as MakeDocumentTo,St as MakeDocumentToSchema,We as MasterPaymentType,Ge as MasterPaymentTypeSchema,qi as MasterRecordsClient,Fe as OpBodyKey,Ie as OpBodyKeySchema,ht as OptionedExpirePolicy,gt as OptionedExpirePolicySchema,Ji as PackageCatalogClient,lt as PassengerCategory,ut as PassengerCategorySchema,jt as PaxQtyCriteria,Mt as PaxQtyCriteriaSchema,at as PaymentType,ot as PaymentTypeSchema,Be as RecordStatus,Ve as RecordStatusSchema,Re as RecordType,ze as RecordTypeSchema,Ne as RsStatusValue,Pe as RsStatusValueSchema,v as SearchBookingFileType,kt as SearchBookingFileTypeSchema,g as SearchMasterType,Le as SearchMasterTypeSchema,pt as ServiceRefType,mt as ServiceRefTypeSchema,Xe as SetFileStatusValue,Ze as SetFileStatusValueSchema,tt as ToServiceType,nt as ToServiceTypeSchema,Dt as TypeDownloadFile,Ot as TypeDownloadFileSchema};
1
+ import{Cause as e,Context as t,Data as n,Duration as r,Effect as i,Exit as a,Layer as o,ManagedRuntime as ee,Option as te,ParseResult as ne,Predicate as re,Schema as s,SchemaAST as ie}from"effect";import{FetchHttpClient as ae,HttpBody as oe,HttpClient as se,HttpClientRequest as ce}from"@effect/platform";import le from"fast-xml-builder";import{XMLParser as ue}from"fast-xml-parser";function c(e,t,n){return n?o.succeed(e,n):t}function de(e,t,n){return o.effect(e,i.map(t,n))}var l=class extends t.Tag(`aves/Transport`)(){};function fe(e){return ne.TreeFormatter.formatErrorSync(e)}function pe(e){return typeof e==`object`&&!!e&&`_tag`in e&&e._tag===`ParseError`}const me={VALIDATION:`validation`,API:`api`,UNKNOWN:`unknown`};var he=class extends n.TaggedError(`AvesValidationError`){kind=me.VALIDATION},ge=class extends n.TaggedError(`AvesApiError`){kind=me.API},_e=class extends n.TaggedError(`AvesUnknownError`){kind=me.UNKNOWN};const ve=e=>re.isTagged(e,`AvesValidationError`)||re.isTagged(e,`AvesApiError`)||re.isTagged(e,`AvesUnknownError`);function u(e){return new he({message:e})}function d(e,t,n){return new ge({message:e,status:t,code:n})}function ye(e){return new _e({message:e})}function be(e,t){return ve(e)?e:pe(e)?u(`Validation error: ${fe(e)}`):e instanceof Error?e.name===`ParseError`?u(`Validation error: ${e.message}`):ye(e.message):ye(t)}const xe=e=>e<200||e>299;function Se(e){return{success:!0,data:e}}function Ce(e){return{success:!1,error:e}}async function we(e){let t=await i.runPromiseExit(e);return a.isSuccess(t)?Se(t.value):Ce(Te(t.cause))}function Te(t){let n=e.failureOption(t);if(te.isSome(n))return n.value;if(e.isInterruptedOnly(t))return d(`Request timed out`,`TIMEOUT`);let r=e.dieOption(t);return te.isSome(r)?be(r.value,`Unknown error occurred`):ye(e.pretty(t))}function f(e){let t={};for(let n of Object.keys(e)){let r=e[n];t[n]=((...e)=>we(r(...e)))}return t}const Ee={rph:`RPH`,toServiceType:`TOServiceType`,text:`#text`},De=Object.fromEntries(Object.entries(Ee).map(([e,t])=>[t,e]));function Oe(e){return typeof e!=`object`||!e?!1:e instanceof Date||e instanceof RegExp||e instanceof Map||e instanceof Set||e instanceof Error||e instanceof URL||ArrayBuffer.isView(e)||typeof Buffer<`u`&&Buffer.isBuffer(e)}function ke(e){return Ee[e]??e.charAt(0).toUpperCase()+e.slice(1)}function Ae(e){return De[e]??e.charAt(0).toLowerCase()+e.slice(1)}function je(e,t){let n=t?.textContent===e?`#text`:t?.rename?.[e]??ke(e);return n===`#text`||!t?.attrs?.includes(e)?n:t.preserveCamel?.includes(e)?`@${e}`:`@${n}`}const Me=new WeakMap,Ne=new WeakMap;function Pe(e){let t=Me.get(e);if(t)return t;let{listWrap:n,detailKey:r,...i}=e;return Me.set(e,i),i}function Fe(e,t){if(!t?.listWrap)return t;let n=Ne.get(t);n||(n=new Map,Ne.set(t,n));let r=n.get(e);if(r)return r;let i={children:{[t.detailKey??(e.endsWith(`List`)?`${e.slice(0,-4)}Detail`:`${e}Detail`)]:Pe(t)}};return n.set(e,i),i}function Ie(e){return Le(e)}function Le(e){if(typeof e!=`object`||!e||Oe(e))return e;if(Array.isArray(e)){for(let t=0;t<e.length;t++)e[t]=Le(e[t]);return e}let t=e;for(let e of Object.keys(t)){let n=Le(t[e]),r=Ae(e.startsWith(`@`)?e.slice(1):e);r!==e&&delete t[e],t[r]=n}return t}const Re={rsStatus:`response`,customerRecordCode:`customerCode`,bookingFileCode:`bookingCode`,bookingFileRefCode:`bookingReference`,bookingFileStatus:`status`,bookingFileDescription:`description`,bookingFileStartDate:`startDate`,bookingFileReferenceName:`referenceName`,bookingFileServiceStatus:`serviceStatus`,bookingFileServiceStatusDate:`serviceStatusDate`,bookingServiceRef:`serviceReference`,newCustomerRecordCode:`newCustomerCode`,customerDetail:`customer`,bookingFileDocument:`documents`,bookingFinancialInfo:`financial`,financialDetail:`financial`,idDocumentDetail:`identityDocument`,idDocInfo:`identityDocument`,accountPolicies:`policies`,dynamicFields:`customFields`,supplierRefMasterRecords:`supplierReference`,selectedPackageDetail:`package`,selectedPackageList:`packages`,selectedServiceList:`services`,extraQuoteServiceList:`extraServices`,passengerList:`passengers`,noteList:`notes`,deadlineList:`deadlines`,financialDeadlineList:`financialDeadlines`,paymentList:`payments`,filePaymentList:`payments`,cancellableBookedServiceList:`cancellableServices`,bookedServiceList:`services`,bookedServices:`services`,serviceList:`services`,bookingFileList:`bookings`,amountsDetail:`amounts`,bookedFileAmounts:`totals`,subServiceList:`subServices`,featureList:`features`,packageList:`packages`,pCode:`packageCode`,sCode:`serviceCode`,ssCode:`subServiceCode`,rph:`passengerRef`,roomRph:`roomRef`,avesSession:`session`,paxAssociated:`passengerRefs`,paxQty:`passengerCount`,paxQtyCriteria:`passengerCountRule`,qty:`quantity`,pax:`passengerCount`,eMail:`email`,sex:`gender`,nType:`noteType`,avesServiceType:`serviceType`,toServiceType:`targetType`,packageParams:`packageOptions`,topServiceParams:`serviceOptions`,servOrPackCode:`serviceOrPackageCode`,servOrPackDesc:`serviceOrPackageDescription`,getDocumentation:`includeDocumentation`,getServicesFromPackage:`includeServices`,mergeBoardAndAccomodation:`mergeBoardAndAccommodation`,discartNotAvailables:`discardUnavailable`,discartNotAvailablesMinSales:`discardUnavailableMinSales`,discartNotAvailablesDaysInOut:`discardUnavailableDaysInOut`,getAllDeptDate:`allDepartureDates`,getAllAccomodation:`allAccommodation`,compatibleAccomodation:`compatibleAccommodation`,alternativeAccomodation:`alternativeAccommodation`,fileStatus:`status`},ze=new Set([`__proto__`,`prototype`,`constructor`]),p={};for(let[e,t]of Object.entries(Re))p[t]||(p[t]=[]),p[t].push(e);const Be=new WeakMap;function m(e){return typeof e==`string`&&ze.has(e)}function h(e,t){if(typeof t!=`string`||Reflect.has(e,t))return t;let n=p[t];if(!n)return t;for(let t of n)if(Reflect.has(e,t))return t;return n[0]??t}function g(e){return typeof e!=`object`||!e||Oe(e)?e:Be.get(e)||(Array.isArray(e)?Ve(e):He(e))}function Ve(e){let t=new Proxy(e,{get(e,t,n){if(t===`length`)return e.length;if(typeof t==`string`&&/^\d+$/.test(t)){let n=Number(t);return n<0||n>=e.length?void 0:g(e[n])}return Reflect.get(e,t,n)},set(e,t,n,r){return!m(t)&&Reflect.set(e,t,n,r)},defineProperty(e,t,n){return!m(t)&&Reflect.defineProperty(e,t,n)},deleteProperty(e,t){return!m(t)&&Reflect.deleteProperty(e,t)},setPrototypeOf(){return!1}});return Be.set(e,t),t}function He(e){let t=new Proxy(e,{get(e,t,n){let r=h(e,t);return g(Reflect.get(e,r,n))},set(e,t,n,r){return!m(t)&&Reflect.set(e,h(e,t),n,r)},has(e,t){return typeof t==`string`&&!Reflect.has(e,t)&&p[t]?.some(t=>Reflect.has(e,t))?!0:Reflect.has(e,h(e,t))},ownKeys(e){let t=Reflect.ownKeys(e),n=new Set(t),r=[];for(let e of t){if(typeof e!=`string`)continue;let t=Re[e];t&&!n.has(t)&&(n.add(t),r.push(t))}return[...t,...r]},getOwnPropertyDescriptor(e,t){let n=h(e,t),r=Reflect.getOwnPropertyDescriptor(e,n);if(r)return n===t?`value`in r?{...r,value:g(r.value)}:r:{configurable:!0,enumerable:!0,writable:!0,value:g(`value`in r?r.value:Reflect.get(e,n))}},defineProperty(e,t,n){return!m(t)&&Reflect.defineProperty(e,h(e,t),n)},deleteProperty(e,t){return!m(t)&&Reflect.deleteProperty(e,h(e,t))},getPrototypeOf(e){return Reflect.getPrototypeOf(e)},setPrototypeOf(){return!1}});return Be.set(e,t),t}function Ue(e){return g(e)}function _(e){return i.map(e,Ue)}function v(e){return(...t)=>_(e(...t))}function We(e){let{ops:t}=e;return{create:v(t.create),updateServices:v(t.updateServices),updateHeader:v(t.updateHeader),cancel:v(t.cancel),setStatus:v(t.setStatus),setServiceStatus:v(t.setServiceStatus),addPayments:v(t.addPayments),search:v(t.searchBookings),exportData:v(t.exportData)}}function Ge(e){return f(We(e))}var Ke=class extends t.Tag(`aves/Booking`)(){};const qe=de(Ke,l,We),Je=/^\d+(\.\d+)?$/;function Ye(e){if(e===void 0)return;let t=typeof e==`string`&&Je.test(e.trim())?Number(e):e;if(typeof t==`number`&&Number.isFinite(t)&&t>0)return t;throw u(`Invalid timeoutMs: expected a positive number of milliseconds, received ${typeof e} ${String(e)}`)}var Xe=class extends t.Tag(`aves/Config`)(){};const Ze=e=>o.succeed(Xe,{...e,timeoutMs:Ye(e.timeoutMs)}),Qe=d(`Request timed out`,`TIMEOUT`),$e=e=>ve(e)?e:d(e.message,`ERROR`),et=e=>e.text.pipe(i.mapError($e),i.flatMap(t=>xe(e.status)?i.fail(d(t.slice(0,4096)||`AVES responded with HTTP ${e.status}`,`ERROR`,e.status)):i.succeed(t)));function tt(e,t){let n=r.millis(e.timeoutMs??3e4),a=t.pipe(se.mapRequest(ce.prependUrl(e.baseURL)),se.transformResponse(e=>e.pipe(i.timeoutFail({duration:n,onTimeout:()=>Qe}),i.mapError($e))));return{post:(e,t)=>a.post(e,{body:oe.text(t,`application/xml`)}).pipe(i.andThen(et))}}const nt=ae.layer;function rt(e){return e?o.succeed(se.HttpClient,e):nt}var it=class extends t.Tag(`aves/Http`)(){};const at=o.effect(it,i.gen(function*(){let{baseURL:e,timeoutMs:t}=yield*Xe,n=yield*se.HttpClient;return tt({baseURL:e,timeoutMs:t},n)}));function ot(e){let{ops:t}=e;return{search:e=>_(t.search(e).pipe(i.map(e=>e.masterRecordList??[]))),upsert:e=>_(t.upsert(e))}}function st(e){return f(ot(e))}var ct=class extends t.Tag(`aves/Master`)(){};const lt=de(ct,l,ot),y={customerCode:`customerRecordCode`,bookingCode:`bookingFileCode`,bookingReference:`bookingFileRefCode`},ut={noteType:`nType`},dt={passengerRef:`rph`,roomRef:`roomRph`,gender:`sex`,email:`eMail`,identityDocument:`idDocInfo`},ft={serviceCode:`sCode`,subServiceCode:`ssCode`,quantity:`qty`,passengerCount:`pax`,session:`avesSession`,passengerRefs:`paxAssociated`,serviceType:`avesServiceType`,targetType:`toServiceType`,notes:`noteList`},pt={packageCode:`pCode`,includeServices:`getServicesFromPackage`},mt={...y,customer:`customerDetail`,status:`bookingFileStatus`,description:`bookingFileDescription`,referenceName:`bookingFileReferenceName`,financial:`bookingFinancialInfo`,package:`selectedPackageDetail`,packages:`selectedPackageList`,services:`selectedServiceList`,extraServices:`extraQuoteServiceList`,passengers:`passengerList`,payments:`paymentList`,documents:`bookingFileDocument`,deadlines:`deadlineList`,financialDeadlines:`financialDeadlineList`,notes:`noteList`},ht={...y,package:`selectedPackageDetail`,packages:`selectedPackageList`,services:`selectedServiceList`,passengers:`passengerList`,deadlines:`deadlineList`,cancellableServices:`cancellableBookedServiceList`},gt={...y,startDate:`bookingFileStartDate`,newCustomerCode:`newCustomerRecordCode`,referenceName:`bookingFileReferenceName`,passengers:`passengerList`,financial:`bookingFinancialInfo`,financialDeadlines:`financialDeadlineList`},_t={...y,status:`fileStatus`,documents:`bookingFileDocument`},vt={...y,serviceReference:`bookingServiceRef`,serviceStatus:`bookingFileServiceStatus`,serviceStatusDate:`bookingFileServiceStatusDate`},yt={...y,payments:`filePaymentList`},bt={...y,status:`fileStatus`},xt={...y,statuses:`statusLists`,features:`featureCodeList`,packageCodes:`packageCodeList`,supplierCode:`supplierRecordCode`,passengerName:`firstPassengerName`,limit:`limitRange`},St={financial:`financialDetail`,identityDocument:`idDocumentDetail`,policies:`accountPolicies`,customFields:`dynamicFields`,supplierReference:`supplierRefMasterRecords`},Ct={...y,searchType:`avesSearchType`,passengers:`passengerList`,packageOptions:`packageParams`,serviceOptions:`topServiceParams`,serviceOrPackageCode:`servOrPackCode`,serviceOrPackageDescription:`servOrPackDesc`,passengerCount:`paxQty`,passengerCountRule:`paxQtyCriteria`,features:`featureList`,includeDocumentation:`getDocumentation`,mergeBoardAndAccommodation:`mergeBoardAndAccomodation`,discardUnavailable:`discartNotAvailables`,discardUnavailableMinSales:`discartNotAvailablesMinSales`,discardUnavailableDaysInOut:`discartNotAvailablesDaysInOut`},wt={allDepartureDates:`getAllDeptDate`,allAccommodation:`getAllAccomodation`,compatibleAccommodation:`compatibleAccomodation`,alternativeAccommodation:`alternativeAccomodation`},Tt={...y,services:`selectedServiceList`,passengers:`passengerList`};function b(e){let t=Object.values(e);return s.Literal(...t)}const Et={M:`M`,F:`F`},Dt=b(Et),Ot={OK:`OK`,ERROR:`ERROR`,WARNING:`WARNING`,TIMEOUT:`TIMEOUT`},kt=b(Ot),At={MasterRecordDetail:`MasterRecordDetail`},jt=b(At),x={CODE:`CODE`,NAME:`NAME`,VATCODE:`VATCODE`,ZONE:`ZONE`,CATEGORY:`CATEGORY`,EMAIL:`EMAIL`,LASTMODDATE:`LASTMODDATE`,SEARCH_FIELD:`SEARCH_FIELD`,EXTERNAL_REF_CODE:`EXTERNAL_REF_CODE`},Mt=b(x),Nt={CUSTOMER:`CUSTOMER`,SUPPLIER:`SUPPLIER`,VOUCHER:`VOUCHER`,SUPPLIER_VOUCHER:`SUPPLIER_VOUCHER`,GENERAL:`GENERAL`},Pt=b(Nt),Ft={CUSTOMER:`CUSTOMER`,SUPPLIER:`SUPPLIER`,VOUCHER:`VOUCHER`,SUPPLIER_VOUCHER:`SUPPLIER_VOUCHER`,GENERAL:`GENERAL`,NOT_SET:`NOT_SET`},It=b(Ft),Lt={ENABLED:`ENABLED`,DISABLED:`DISABLED`,WARNING:`WARNING`,BLACKLISTED:`BLACKLISTED`},Rt=b(Lt),zt={S:`S`,N:`N`,T:`T`,M:`M`},Bt=b(zt),Vt={CASH:`CASH`,BANK:`BANK`,RID:`RID`,RIBA:`RIBA`,SPECIFIC_CODE:`SPECIFIC_CODE`},Ht=b(Vt),Ut={NOT_SET:`NOT_SET`,FLIGHT:`FLIGHT`,SHIP:`SHIP`,TRAIN:`TRAIN`,RENTCAR:`RENTCAR`,BUS:`BUS`,DP_HOTEL:`DP_HOTEL`,TO_HOTEL:`TO_HOTEL`,TO_TOUR:`TO_TOUR`,TO_HOTEL_AND_TOUR:`TO_HOTEL_AND_TOUR`,DP_AUTO:`DP_AUTO`,DP_GDS_NAVI:`DP_GDS_NAVI`,DP_GDS_VOLI:`DP_GDS_VOLI`,TOUR_OPERATOR:`TOUR_OPERATOR`,TICKETING_EV:`TICKETING_EV`,OTHER:`OTHER`},Wt=b(Ut),Gt={QUOTATION:`QUOTATION`,WORK_IN_PROGRESS:`WORK_IN_PROGRESS`,CONFIRMED:`CONFIRMED`,OPTIONED:`OPTIONED`,CANCELED:`CANCELED`},Kt=b(Gt),qt={...Gt,NULLIFIED:`NULLIFIED`},Jt=b(qt),S={QUOTATION:`QUOTATION`,WORK_IN_PROGRESS:`WORK_IN_PROGRESS`,CONFIRM:`CONFIRM`,CONFIRMED:`CONFIRMED`,OPTION:`OPTION`,OPTIONED:`OPTIONED`,REQUEST:`REQUEST`,REQUESTED:`REQUESTED`,NULLIFIED:`NULLIFIED`,CANCELED:`CANCELED`},Yt=b(S),Xt={TOP:`TOP`,TOP_SS:`TOP_SS`,ADV:`ADV`,GRP:`GRP`,OTHER:`OTHER`},Zt=b(Xt),Qt={ACCOMODATION:`ACCOMODATION`,TRANSPORT:`TRANSPORT`,CHARTER:`CHARTER`,TRANSFER:`TRANSFER`,PULLMAN:`PULLMAN`,FERRY:`FERRY`,CRUISE:`CRUISE`,INSURANCE:`INSURANCE`,EXTRAFEE:`EXTRAFEE`,PENALTY:`PENALTY`,PROMO:`PROMO`,OTHER:`OTHER`,NOT_SET:`NOT_SET`,RESIDENCE:`RESIDENCE`,TOUR:`TOUR`},$t=b(Qt),en={ACCOMODATION:`ACCOMODATION`,BOARD_BASIS:`BOARD_BASIS`,SUPPLEMENT:`SUPPLEMENT`,REDUCTION:`REDUCTION`,PRINCIPAL:`PRINCIPAL`,GOING_TO:`GOING_TO`,RETURN_BY:`RETURN_BY`,NOT_SET:`NOT_SET`},tn=b(en),nn={IN_PACKAGE:`P`,SINGLE_SERVICE:`S`,NOT_SPECIFIED:` `},rn=b(nn),an={ONE_ROW:`ONE_ROW`,TWO_ROW:`TWO_ROW`,VOUCHER_AND_ONE_ROW:`VOUCHER_AND_ONE_ROW`,VOUCHER_AND_TWO_ROW:`VOUCHER_AND_TWO_ROW`,VOUCHER_AND_ACCOMODATION_AND_TREATMENT:`VOUCHER_AND_ACCOMODATION_AND_TREATMENT`,VOUCHER_AND_ONE_ROW_AND_ACCOMODATION_AND_TREATMENT:`VOUCHER_AND_ONE_ROW_AND_ACCOMODATION_AND_TREATMENT`,VOUCHER_AND_TWO_ROW_AND_ACCOMODATION_AND_TREATMENT:`VOUCHER_AND_TWO_ROW_AND_ACCOMODATION_AND_TREATMENT`,VOUCHER_AND_ADRESSE_AND_ONE_ROW:`VOUCHER_AND_ADRESSE_AND_ONE_ROW`,VOUCHER_AND_ADRESSE_AND_ONE_ROW_AND_ACCOMODATION_AND_TREATMENT:`VOUCHER_AND_ADRESSE_AND_ONE_ROW_AND_ACCOMODATION_AND_TREATMENT`,VOUCHER_AND_ADRESSE_AND_TWO_ROW_AND_ACCOMODATION_AND_TREATMENT:`VOUCHER_AND_ADRESSE_AND_TWO_ROW_AND_ACCOMODATION_AND_TREATMENT`,TOSERVICE_AND_ONE_ROW:`TOSERVICE_AND_ONE_ROW`,TOSERVICE_AND_TWO_ROW:`TOSERVICE_AND_TWO_ROW`,TOSERVICE_AND_ONE_ROW_AND_ACCOMODATION_AND_TREATMENT:`TOSERVICE_AND_ONE_ROW_AND_ACCOMODATION_AND_TREATMENT`,TOSERVICE_AND_TWO_ROW_AND_ACCOMODATION_AND_TREATMENT:`TOSERVICE_AND_TWO_ROW_AND_ACCOMODATION_AND_TREATMENT`,TOSERVICE_AND_ACCOMODATION_AND_TREATMENT:`TOSERVICE_AND_ACCOMODATION_AND_TREATMENT`,NO:`NO`},on=b(an),sn={ACCOUNT_STATEMENT:`ACCOUNT_STATEMENT`,PROFORMA_INVOICE:`PROFORMA_INVOICE`,COMMERCIAL_INVOICE:`COMMERCIAL_INVOICE`},cn=b(sn),ln={ToDo:`ToDo`,Done:`Done`},un=b(ln),dn={COMMISION:`COMMISION`,DISCOUNT:`DISCOUNT`,FROM_COMMISSION_TO_DISCOUNT:`FROM_COMMISSION_TO_DISCOUNT`,FROM_DISCOUNT_TO_COMMISSION:`FROM_DISCOUNT_TO_COMMISSION`,NO_COMMISSION:`NO_COMMISSION`},fn=b(dn),pn={COMMISION:`COMMISION`,DISCOUNT:`DISCOUNT`,NO_COMMISSION:`NO_COMMISSION`},mn=b(pn),hn={REQUEST:`REQUEST`,ALLOTMENT_REQUEST:`ALLOTMENT_REQUEST`,CONFIRMED_REQUEST:`CONFIRMED_REQUEST`,CONFIRMED_EXTRA_ALLOTMENT:`CONFIRMED_EXTRA_ALLOTMENT`,WAITLISTED:`WAITLISTED`,ALLOTMENT:`ALLOTMENT`,REFUSED:`REFUSED`,NULLIFIED:`NULLIFIED`,CANCELED:`CANCELED`,MESSAGE:`MESSAGE`},gn=b(hn),_n={C:`C`,B:`B`,D:`D`,T:`T`,P:`P`,R:`R`,A:`A`,H:`H`,I:`I`,J:`J`,K:`K`,L:`L`,M:`M`,N:`N`,O:`O`,Q:`Q`,S:`S`,U:`U`,V:`V`},vn=b(_n),yn={CASH:`CASH`,BANK:`BANK`,RID:`RID`,RIBA:`RIBA`,SPECIFIC_CODE:`SPECIFIC_CODE`,NOT_SET:`NOT_SET`},bn=b(yn),xn={AD:`AD`,CH:`CH`,IN:`IN`,OV:`OV`},Sn=b(xn),Cn={NULLIFY:`NULLIFY`,DELETE:`DELETE`},wn=b(Cn),Tn={RPH:`RPH`,FILE:`FILE`},En=b(Tn),Dn={NOT_SET:`NOT_SET`,CONSIDER_HOLIDAY:`CONSIDER_HOLIDAY`,CONSIDER_HOLIDAY_AND_SATURDAY:`CONSIDER_HOLIDAY_AND_SATURDAY`},On=b(Dn),kn={AbsoluteAmountsInsertion:`AbsoluteAmountsInsertion`,FinalAmountToAchieve:`FinalAmountToAchieve`,FinalAmountToAchieveWithoutControls:`FinalAmountToAchieveWithoutControls`},An=b(kn),jn={VISA_REQUEST:`VISA_REQUEST`,TRAVEL_INFORMATION:`TRAVEL_INFORMATION`,VOUCHER:`VOUCHER`,BOOKING_CONTRACT:`BOOKING_CONTRACT`,BOOKING_CONFIRMATION:`BOOKING_CONFIRMATION`,SUPPLIER_SERVICE_LIST:`SUPPLIER_SERVICE_LIST`,INVOICE:`INVOICE`,PROFORMA_INVOICE:`PROFORMA_INVOICE`,ADEGUAMENTO:`ADEGUAMENTO`,RESERVATION_FORM:`RESERVATION_FORM`,OPEN_XML:`OPEN_XML`,SALES_INVOICE:`SALES_INVOICE`,TICKETING_TMASTER:`TICKETING_TMASTER`,SUMMARY_FORM:`SUMMARY_FORM`},Mn=b(jn),Nn={BOOKING_CUSTOMER:`BOOKING_CUSTOMER`,FIRST_PASSENGER:`FIRST_PASSENGER`},Pn=b(Nn),Fn={PAX_QTY_DAY:`PAX_QTY_DAY`,PAX_QTY_NIGHT:`PAX_QTY_NIGHT`,PAX_QTY_WEEK:`PAX_QTY_WEEK`,PAX_QTY:`PAX_QTY`,PAX_DAY:`PAX_DAY`,PAX_NIGHT:`PAX_NIGHT`,PAX_WEEK:`PAX_WEEK`,PAX:`PAX`,QTY_DAY:`QTY_DAY`,QTY_NIGHT:`QTY_NIGHT`,QTY_WEE:`QTY_WEE`,QTY:`QTY`,DAY:`DAY`,NIGHT:`NIGHT`,WEEK:`WEEK`,FORFAIT:`FORFAIT`},In=b(Fn),Ln={GROUPED_PAX:`GROUPED_PAX`,NOT_GROUPED_PAX:`NOT_GROUPED_PAX`,ONE_PAX_ONLY:`ONE_PAX_ONLY`},Rn=b(Ln),zn={AVES2AVES:`AVES2AVES`,AVES2AVESVIA:`AVES2AVESVIA`,AVES2AVESITA:`AVES2AVESITA`},Bn=b(zn),C={FILE_CODE:`FILE_CODE`,PAX_NAME:`PAX_NAME`,PACKAGE_CODE:`PACKAGE_CODE`,OTHER:`OTHER`},Vn=b(C),Hn={LEGACY:`LEGACY`,SUPPLIER_BACKOFFICE:`SUPPLIER_BACKOFFICE`,CUSTOMER_BACKOFFICE:`CUSTOMER_BACKOFFICE`},Un=b(Hn),Wn={IN_UE:`IN_UE`,OUT_UE:`OUT_UE`,MIXED_UE:`MIXED_UE`,NOT_SET:`NOT_SET`},Gn=b(Wn),Kn={STA1:`STA1`,STA2:`STA2`,STA3:`STA3`,STA4:`STA4`,STA5:`STA5`,STA6:`STA6`,STA_SERVICE:`STA_SERVICE`,NOT_SET:`NOT_SET`},qn=b(Kn),Jn={SERVICE:`SERVICE`,PROGRAM:`PROGRAM`,PACKAGE:`PACKAGE`},Yn=b(Jn),Xn={GREATER_THAN:`GREATER_THAN`,GREATER_OR_EQUAL:`GREATER_OR_EQUAL`,EQUAL_TO:`EQUAL_TO`,LESS_OR_EQUAL:`LESS_OR_EQUAL`,LESS_THAN:`LESS_THAN`},Zn=b(Xn),Qn={CODE:`CODE`,SUB_LOCALITY:`SUB_LOCALITY`,LOCALITY:`LOCALITY`,SUB_SUB_ISLAND:`SUB_SUB_ISLAND`,SUB_ISLAND:`SUB_ISLAND`,ISLAND_COUNTY:`ISLAND_COUNTY`,SUB_ARCHIPELAGO:`SUB_ARCHIPELAGO`,ARCHIPELAGO:`ARCHIPELAGO`,REGION_STATE:`REGION_STATE`,SUB_SUB_NATION:`SUB_SUB_NATION`,SUB_NATION:`SUB_NATION`,NATION:`NATION`,SUB_SUB_CONTINENT:`SUB_SUB_CONTINENT`,SUB_CONTINENT:`SUB_CONTINENT`,CONTINENT:`CONTINENT`},$n=b(Qn),er=s.String.pipe(s.minLength(2),s.maxLength(2)),w=s.optional(er),T=s.Union(s.String,s.Number),tr=s.Union(s.String,s.Number,s.Boolean),E=s.Union(s.Literal(`true`),s.Literal(`false`),s.Boolean),D=s.Struct({minDate:s.String,maxDate:s.String}),nr=s.Struct({"@HostID":s.String.pipe(s.minLength(6),s.maxLength(6)),"@Xtoken":s.String,"@Interface":s.Literal(`WEB`),"@UserName":s.Literal(`WEB`),"@LanguageCode":w}),rr=s.optional(s.String),ir=s.optional(A(T,e=>Number(e))),O=A(s.Struct({"@Status":kt,ErrorCode:ir,ErrorDescription:s.optional(s.String),Warnings:rr}),e=>({status:e[`@Status`],errorCode:e.ErrorCode,errorDescription:e.ErrorDescription,warnings:e.Warnings})),ar=N(s.Struct({RsStatus:O})),or={financialDeadlineList:`deadlineDetail`};function sr(e,t){return t?.detailKey??or[e]??(e.endsWith(`List`)?`${e.slice(0,-4)}Detail`:`${e}Detail`)}function cr(e){return Array.isArray(e)?e.length?e.every(e=>typeof e==`string`)?e.map(e=>({pax:e})):e:``:e}function lr(e,t){if(typeof e!=`object`||!e||Oe(e))return e;if(Array.isArray(e))return e.map(e=>lr(e,t));let n={};for(let[r,i]of Object.entries(e)){let e=t?.children?.[r],a=r===`paxAssociated`?cr(i):i;if(e?.listWrap&&Array.isArray(a)){let i=je(sr(r,e)),o=a.map(t=>lr(t,Pe(e)));n[je(r,t)]=e.listWrap===`one`?o.map(e=>({[i]:e})):{[i]:o};continue}n[je(r,t)]=lr(a,Fe(r,e))}return n}function ur(e,t){return lr(e,t)}function dr(e){throw Error(`Encoding is not supported for this schema`)}function k(e){return e}function A(e,t){return s.transform(s.asSchema(e),s.declare(e=>!0),{strict:!1,decode:t,encode:dr})}function fr(e,t,n){let r=s.asSchema(e),i=s.asSchema(t);return k(s.transformOrFail(r,i,{strict:!1,decode:(e,t)=>ne.decodeUnknown(i)(n(e),t),encode:ne.succeed}))}function j(e,t){return A(k(s.asSchema(e)),e=>ur(e,t))}function pr(e){return s.ArrayEnsure(e)}function M(e,t){let n=s.optional(pr(t)),r={[e]:n};return A(k(s.asSchema(s.Struct(r))),t=>{let n=Reflect.get(t,e);return Array.isArray(n)?n:[]})}function N(e){return A(k(s.asSchema(e)),e=>Ie(e))}function mr(e,t){let n=s.optional(t);return N(k(s.asSchema(s.Struct({RsStatus:O,[e]:n}))))}function hr(e){return t=>{if(typeof t!=`object`||!t)return t;let n=t,r=n[e],{[e]:i,...a}=n;return!r||typeof r!=`object`||Array.isArray(r)?a:{...a,...r}}}function gr(e,t){return A(N(e),e=>hr(t)(e))}function _r(e,t){let n=s.Struct({value:e}),r=s.extend(n,s.Struct(t)),i=s.transform(e,r,{strict:!1,decode:(e,t)=>({value:t}),encode:(e,t)=>t.value});return k(s.asSchema(s.Union(i,r)))}function vr(e,t){return n=>{let r=Reflect.get(n,e),i=Reflect.get(n,t),a={...n};return Reflect.deleteProperty(a,e),Reflect.set(a,t,i??(Array.isArray(r)?r[0]:void 0)),a}}function yr(e){let{customerRecordCode:t,customerDetail:n,...r}=e;return{...r,customerDetail:{...n,recordCode:n?.recordCode??t}}}function br(e){return t=>{let n={...t};for(let[t,r]of Object.entries(e)){let e=n[t];delete n[t],n[r]===void 0&&e!==void 0&&(n[r]=e)}return n}}function xr(e){if(!s.isPropertySignature(e))return!1;let t=e.ast;return t._tag===`PropertySignatureDeclaration`?t.isOptional:t._tag===`PropertySignatureTransformation`&&t.from.isOptional}function Sr(e){return xr(e)?e:s.isPropertySignature(e)&&`from`in e?s.optional(s.asSchema(e.from)):s.optional(s.asSchema(e))}function Cr(e,t){let n={};for(let r of t)n[r]=e[r];return n}function wr(e,t){let n=new Set(t),r={};for(let t of Object.keys(e))n.has(t)||(r[t]=e[t]);return r}function Tr(e,t){let n={};for(let r of Object.keys(t)){let i=t[r];if(!Object.hasOwn(e,i))continue;let a=e[i];a!==void 0&&(n[r]=Sr(a))}return n}function Er(e,t){let n=[],r=new Set;for(let i of Object.values(t)){if(!Object.hasOwn(e,i)||r.has(i))continue;let t=e[i];t===void 0||xr(t)||(r.add(i),n.push(i))}return n}function P(e,t){let n=k(s.asSchema(s.Struct(e))),r={};for(let[n,i]of Object.entries(t))Object.hasOwn(e,i)&&(r[n]=i);let i=Tr(e,t),a=Er(e,t),o=s.extend(s.Struct({...wr(e,a),...i}),s.partial(s.Struct(Cr(e,a))));return fr(k(s.asSchema(o)),n,br(r))}function Dr(e){return s.isSchema(e)&&ie.isTypeLiteral(e.ast)&&`fields`in e}function Or(e){return s.isSchema(e)&&ie.isTupleType(e.ast)&&e.ast.elements.length===0&&e.ast.rest.length===1&&`value`in e}function kr(e){if(e._tag!==`Union`)return e;let[t,...n]=e.types.filter(e=>e._tag!==`UndefinedKeyword`);return t&&n.length===0?t:e}function Ar(e){if(!ie.isTupleType(e)||e.elements.length>0)return;let[t,...n]=e.rest;return n.length===0?t?.type:void 0}function F(e){let t=kr(e);if(ie.isTypeLiteral(t)){let e={};for(let n of t.propertySignatures){if(typeof n.name!=`string`)continue;let t=F(n.type);e[n.name]=n.isOptional?s.optional(t):t}return k(s.asSchema(s.Struct(e)))}let n=Ar(t);return k(n?s.asSchema(s.Array(F(n))):s.asSchema(s.make(t)))}function jr(e){if(!s.isPropertySignature(e))return s.isSchema(e)?k(s.asSchema(e)):F(e.ast);let t=e.ast;return t._tag===`PropertySignatureDeclaration`?F(t.type):t._tag===`PropertySignatureTransformation`?F(t.from.type):F(t)}function Mr(e,t){if(xr(e)){let n=Mr(jr(e),t),r=s.isPropertySignature(n)?jr(n):s.asSchema(n);return s.optional(r)}if(Or(e)){let n=Mr(e.value,t);return pr(s.isPropertySignature(n)?jr(n):s.asSchema(n))}return Dr(e)?Nr(e,t):e}function Nr(e,t,n){let r={};for(let[n,i]of Object.entries(e.fields)){let e=t.children?.[n]??{},a=s.isSchema(i)&&i.ast._tag===`Transformation`?s.encodedSchema(i):i;r[je(n,t)]=Mr(a,e)}return k(s.asSchema(s.Struct({...r,...n??{}})))}function Pr(e,t={},n){return Nr(e,t,n)}function I(e,t){let n={...e};for(let[e,r]of Object.entries(t)){let t;for(let e of r)if(n[e]!==void 0&&n[e]!==null){t=n[e];break}for(let t of r)t!==e&&delete n[t];t===void 0?delete n[e]:n[e]=t}return n}function Fr(e,t){return{api:j(k(s.asSchema(e)),t),validation:Pr(e,t)}}function L(e){return e}function R(...e){return L({attrs:e})}function Ir(...e){return L({attrs:e,preserveCamel:e})}function Lr(e,t){return L({attrs:e,preserveCamel:t})}function z(e){return L({children:e})}function Rr(e,t){return L({attrs:e,children:t})}function B(e,t,n){return L(n?{...e,listWrap:t,detailKey:n}:{...e,listWrap:t})}function V(e,...t){return B(R(...t),e)}function zr(e){return{one:B(e,`one`),many:B(e,`many`)}}R(`hostID`,`xtoken`,`interface`,`userName`,`status`,`languageCode`);const Br=R(`currencyCode`,`creditLimit`,`c_PaymentType`,`c_SpecPaymentTypeCode`,`s_PaymentType`,`s_SpecPaymentTypeCode`,`enableElectronicInvoicing`,`electronicInvoicingType`),Vr=R(`idType`,`idCode`,`idIssueLocation`,`idIssueCounty`,`idIssueDate`,`idExpireDate`),Hr=R(`acceptProfilingPolicies`,`acceptPrivacyPolicies`,`acceptNewsletterPolicies`),Ur=R(`key`,`value`),Wr=R(`supplierRefCode`,`companyMainBusinessType`,`carrierType`),Gr=Rr([`recordCode`,`insertCriteria`],{financialDetail:Br,idDocumentDetail:Vr,accountPolicies:Hr,dynamicFields:Ur,supplierRefMasterRecords:Wr}),H=R(`minDate`,`maxDate`),Kr=z({lastModificationDate:H}),qr=Ir(`sCode1`,`sCode2`,`sCode3`,`sCode4`,`sCode5`,`sCode6`),Jr=R(`code`,`iataCode`,`nationCode`,`type`),Yr=R(`nType`,`title`),Xr=B(Yr,`many`),Zr=Rr([`rph`,`roomRph`,`billingHolder`],{notes:B(Yr,`many`,`noteDetail`),idDocInfo:Vr}),Qr=R(`currencyCode`,`exchangeRate`,`cost`,`costTax`,`costType`,`vatCostCurrencyCode`,`price`,`priceTax`,`priceType`),$r=Lr([`pCode`,`startDate`,`endDate`,`getServicesFromPackage`],[`pCode`]),ei=zr(L({...Lr([`sCode`,`ssCode`],[`sCode`,`ssCode`]),children:{serviceFare:Qr,avesServiceInfo:z({serviceFare:Qr}),noteList:Xr}})),U=zr(Zr);U.one,U.many;const ti=B($r,`many`),ni=V(`many`,`deadlineCode`,`description`,`expireDate`),ri=V(`many`,`reschedulingCode`,`description`,`expireDate`),ii=B(R(`reschedulingCode`,`expireDate`,`totalAmount`),`many`,`deadlineDetail`),ai=B(L({...R(`paymentDate`,`paymentNote`,`amount`,`paymentUser`,`paymentType`),rename:{paymentNote:`PaumentNote`}}),`many`),oi=V(`many`,`paymentDate`,`paymentNote`,`payerMasterCode`,`payerName`,`amount`,`paymentType`),si=V(`many`,`cancelOperationType`,`serviceRefType`,`serviceRefValue`),ci=Rr([`printDoc`,`sendDocViaEmail`],{infoDocumentsToPrint:z({documentCustomizablePrintParameters:R(`makeDocumentTo`,`fillInCode`)})}),li=R(`value`,`expiredDate`),ui=R(`recordCode`),di=R(`customer_PaymentType`,`customer_SpecPaymentTypeCode`),fi=R(`getAllDeptDate`,`getFlightPlan`,`getAllAccomodation`,`getRealAvailability`),pi=R(`compatibleAccomodation`,`alternativeAccomodation`),mi=V(`many`,`code`,`name`),hi=R(`value`,`expiredDate`,`optionedFileExpireDatePolicy`),gi=R(`apply`,`specificCode`),_i={customerDetail:ui,bookingFileStatus:li,statisticCodes:qr,destination:Jr,bookingFileDocument:ci,bookingFinancialInfo:di,selectedPackageDetail:$r,selectedPackageList:ti,financialDeadlineList:ii,paymentList:ai,cancellableBookedServiceList:si,noteList:Xr},vi=z({..._i,deadlineList:ni,selectedServiceList:ei.one,extraQuoteServiceList:ei.one,passengerList:U.one}),yi=z({..._i,deadlineList:ri,selectedServiceList:ei.many,extraQuoteServiceList:ei.many,passengerList:U.many}),bi=Rr([`paymentUser`],{filePaymentList:oi}),xi=z({fileStatus:R(`value`,`expireDate`),startDate:H,createdDate:H,lastModificationDate:H,insurance:R(`code`,`number`)}),Si=B(L({}),`many`,`code`),Ci=z({startDate:H,endDate:H,createdDate:H,lastModificationDate:H,lastModificationDateTime:H,statusLists:B(L({}),`many`,`status`),featureCodeList:Si,packageCodeList:Si,limitRange:R(`skip`,`take`)}),wi=z({statisticCodes:qr,selectedServiceList:B(R(`serviceCode`,`packageRow`),`many`),passengerList:U.many}),Ti=z({passengerList:U.many}),Ei=z({destination:Jr,statisticCodes:qr,packageParams:fi,topServiceParams:pi,featureList:mi}),Di=z({fileStatus:hi,penalty:gi,bookingFileDocument:ci}),Oi=L({}),ki={[S.CONFIRM]:`CONFIRMED`,[S.OPTION]:`OPTIONED`,[S.REQUESTED]:`REQUEST`};function Ai(e){return e in ki?ki[e]:e}const ji=A(s.Struct({"@Value":Yt,"@ExpiredDate":s.optional(s.String),"@ExpireDate":s.optional(s.String)}),e=>({...I(e,{"@ExpiredDate":[`@ExpiredDate`,`@ExpireDate`]}),"@Value":Ai(e[`@Value`])})),Mi=M(`PricePerPaxDetail`,s.Struct({"@PaxRef":s.String,"@Price":T})),Ni=s.Struct({"@CommissionCode":s.optional(s.String),"@CommissionPercentage":s.optional(T),"@CommissionAmount":s.optional(T),"@PriceListCode":s.optional(s.String),"@CostListCode":s.optional(s.String),"@ServiceTotalPrice":s.optional(T),PaxPriceList:s.optional(Mi)}),Pi=s.Struct({"@Code":s.optional(s.String),"@Name":s.optional(s.String),"@Email":s.optional(s.String),"@LanguageCode":s.optional(s.String)}),Fi=s.Struct({"@Code":s.optional(s.String),"@Description":s.optional(s.String)}),Ii=M(`BookedServiceDetail`,A(s.Struct({"@RPH":s.String,"@ServiceCode":s.optional(s.String),"@FromExternalProvider":s.optional(T),"@isFromExternalProvider":s.optional(T),AvesServiceType:s.optional(Zt),TOServiceType:s.optional($t),FirstDescription:s.optional(s.String),SecondDescription:s.optional(s.String),ThirdDescription:s.optional(s.String),FourthDescription:s.optional(s.String),ServiceStatus:s.optional(gn),StartDate:s.optional(s.String),EndDate:s.optional(s.String),Qty:s.optional(T),Pax:s.optional(T),PeriodType:s.optional(s.String),PaxMultiplier:s.optional(s.String),ExternalProviderCode:s.optional(s.String),WebStatisticCode:s.optional(s.String),WebStatisticDescription:s.optional(s.String),WebStatistic:s.optional(Fi),SupplierInfo:s.optional(Pi),ServiceTotalAmountDetail:s.optional(Ni)}),e=>I(e,{"@FromExternalProvider":[`@FromExternalProvider`,`@isFromExternalProvider`]}))),Li=s.Struct({"@CurrencyCode":s.optional(s.String),"@TotalAmountBeforeDiscount":s.optional(T),"@TotalAmountAfterDiscount":s.optional(T),"@TotalDiscount":s.optional(T),"@TotalAmountWithoutVat":s.optional(T),"@DueAmount":s.optional(T),"@PaiedAmount":s.optional(T),"@Balance":s.optional(T)}),Ri=M(`PassengerDetail`,s.Struct({"@RPH":s.String,"@RoomRPH":s.optional(s.String),"@BillingHolder":s.optional(T),Name:s.optional(s.String),CategoryCode:s.optional(s.String),Sex:s.optional(s.String),BirthDate:s.optional(s.String),BirthPlace:s.optional(s.String),NationCode:s.optional(s.String),CitizenshipCode:s.optional(s.String),FiscalCode:s.optional(s.String),PhoneNumber:s.optional(s.String),EMail:s.optional(s.String),MasterRecordCode:s.optional(s.String)})),zi=M(`DeadlineDetail`,A(s.Struct({"@ReschedulingCode":s.optional(s.String),"@ExpireDate":s.optional(s.String),"@TotalAmount":s.optional(T),ReschedulingCode:s.optional(s.String),ExpireDate:s.optional(s.String),TotalAmount:s.optional(T)}),e=>I(e,{"@ReschedulingCode":[`@ReschedulingCode`,`ReschedulingCode`],"@ExpireDate":[`@ExpireDate`,`ExpireDate`],"@TotalAmount":[`@TotalAmount`,`TotalAmount`]}))),Bi=M(`StoredDocumentDetail`,s.Struct({DocumentRefCode:s.optional(s.String),DocumentType:s.optional(s.String),DocumentName:s.optional(s.String),ArchiviationDescription:s.optional(s.String)})),Vi=M(`PrintableDocumentDetail`,s.Struct({DocumentType:s.optional(s.String),DocumentName:s.optional(s.String),Enabled:s.optional(T)})),Hi=A(s.Struct({"@BookingFileCode":s.optional(s.String),BookingFileCode:s.optional(s.String),CustomerRecordCode:s.optional(s.String),CustomerName:s.optional(s.String),CustomerEmail:s.optional(s.String),TravelAgencyName:s.optional(s.String),TravelAgencyEmail:s.optional(s.String),BookingFileStatus:s.optional(ji),Description:s.optional(s.String),Nation:s.optional(s.String),Destination:s.optional(s.String),CreationDate:s.optional(s.String),FirstConfirmationDate:s.optional(s.String),StartDate:s.optional(s.String),EndDate:s.optional(s.String),PackageCode:s.optional(s.String),BookedServiceList:s.optional(Ii),TotalAmountDetail:s.optional(Li),PaxNumber:s.optional(T),PassengerList:s.optional(Ri),Reference:s.optional(s.String),ClerkName:s.optional(s.String),StoredDocumentsList:s.optional(Bi),PrintableDocumentsList:s.optional(Vi),FinancialDeadlineList:s.optional(zi)}),e=>I(e,{"@BookingFileCode":[`@BookingFileCode`,`BookingFileCode`]})),Ui=s.Struct({currencyCode:s.optional(s.String),creditLimit:s.optional(s.String),c_PaymentType:s.optional(Ht),c_SpecPaymentTypeCode:s.optional(s.String),s_PaymentType:s.optional(Ht),s_SpecPaymentTypeCode:s.optional(s.String),enableElectronicInvoicing:s.optional(E),electronicInvoicingType:s.optional(s.String)}),Wi=Fr(Ui,Br);Wi.api,Wi.validation;const Gi=s.Struct({idType:s.optional(s.String),idCode:s.optional(s.String),idIssueLocation:s.optional(s.String),idIssueCounty:s.optional(s.String),idIssueDate:s.optional(s.String),idExpireDate:s.optional(s.String)}),Ki=Fr(Gi,Vr);Ki.api,Ki.validation;const qi=s.Struct({key:s.String,value:s.String});Pr(qi,Ur);const Ji=s.Struct({supplierRefCode:s.optional(s.String),companyMainBusinessType:s.optional(s.String),carrierType:s.optional(Wt)}),Yi=Fr(Ji,Wr);Yi.api,Yi.validation;const Xi=s.Union(s.Literal(0),s.Literal(1)),Zi=s.Struct({acceptProfilingPolicies:s.optional(Xi),acceptPrivacyPolicies:s.optional(Xi),acceptNewsletterPolicies:s.optional(Xi)}),Qi=Fr(Zi,Hr);Qi.api,Qi.validation;const $i={recordCode:s.optional(s.String.pipe(s.minLength(6),s.maxLength(6))),insertCriteria:s.optional(Bt),createdDate:s.optional(s.String),recordType:s.optionalWith(Pt,{default:()=>Nt.CUSTOMER}),recordStatus:s.optionalWith(Rt,{default:()=>Lt.ENABLED}),moniker:s.optional(s.String),name:s.optional(s.String),extraInfo:s.optional(s.String),languageCode:er,address:s.optional(s.String),zipCode:s.optional(s.String),cityName:s.optional(s.String),countyCode:s.optional(s.String),stateCode:s.optional(s.String),categoryCode:s.optional(s.String),firstPhoneNumber:s.optional(s.String),mobilePhoneNumber:s.optional(s.String),email:s.optional(s.String),gender:s.optional(Dt),birthDate:s.optional(s.String),birthCity:s.optional(s.String),birthCounty:s.optional(s.String),fiscalCode:s.optional(s.String),vatCode:s.optional(s.String),thirdPartRecordCode:s.optional(s.String),idDocumentDetail:s.optional(Gi),accountPolicies:s.optional(Zi),financialDetail:s.optional(Ui),dynamicFields:s.optional(s.Array(qi)),supplierRefMasterRecords:s.optional(Ji)},ea=j(P($i,St),Gr),W=s.asSchema(s.partial(Pr(s.Struct($i),Gr,{RecordType:s.optional(It),ModifiedDate:s.optional(s.String),ModifitedDate:s.optional(s.String),LoginType:s.optional(s.String),PromoterCode:s.optional(s.String),EncryptedPassword:s.optional(E),NewsletterDisabled:s.optional(E),AreaCode:s.optional(s.String),LastDateContact:s.optional(s.String),UseSupplierDataOnTravelDoc:s.optional(E),BookingEnabled:s.optional(E),PrivacyPolicyAccepted:s.optional(E)})));N(W);const ta=s.Struct({skip:s.Number.pipe(s.int(),s.greaterThanOrEqualTo(0)),take:s.Number.pipe(s.int(),s.greaterThanOrEqualTo(1),s.lessThanOrEqualTo(1e3))}),na=j(P({bookingFileCode:s.optional(s.String),startDate:s.optional(D),endDate:s.optional(D),createdDate:s.optional(D),lastModificationDate:s.optional(D),lastModificationDateTime:s.optional(D),supplierRecordCode:s.optional(s.String),supplierVatCode:s.optional(s.String),supplierReference:s.optional(s.String),statusLists:s.optional(s.Array(Kt)),featureCodeList:s.optional(s.Array(s.String)),packageCodeList:s.optional(s.Array(s.String)),exportType:s.optional(Un),markBookedServiceExported:s.optional(E),customerRecordCode:s.optional(s.String),customerReference:s.optional(s.String),customerPromoterCode:s.optional(s.String),firstPassengerName:s.optional(s.String),user:s.optional(s.String),limitRange:s.optional(ta)},xt),Ci),ra=M(`NoteDetail`,s.Struct({"@nType":s.optional(s.String),"@Title":s.optional(s.String),"#text":s.optional(T)})),ia=s.Struct({"@sCode1":s.optional(s.String),"@sCode2":s.optional(s.String),"@sCode3":s.optional(s.String),"@sCode4":s.optional(s.String),"@sCode5":s.optional(s.String),"@sCode6":s.optional(s.String)}),aa=A(s.Struct({"@CUP":s.optional(s.String),"@CupCode":s.optional(s.String),"@CIG":s.optional(s.String),"@CigCode":s.optional(s.String),"@SupplyReferenceType":s.optional(s.String),"@DocumentNumber":s.optional(T),"@DocumentDate":s.optional(s.String)}),e=>I(e,{"@CupCode":[`@CupCode`,`@CUP`],"@CigCode":[`@CigCode`,`@CIG`]})),oa=M(`PaymentDetail`,A(s.Struct({"@PaymentDate":s.optional(s.String),"@PaymentNote":s.optional(s.String),"@PaumentNote":s.optional(s.String),"@Amount":s.optional(T),"@PaymentType":s.optional(s.String),"@PaymentUser":s.optional(s.String)}),e=>I(e,{"@PaymentNote":[`@PaymentNote`,`@PaumentNote`]}))),sa=s.Struct({"@ReceiptsWithTax":s.optional(T),"@ReceiptWithTaxAndVat":s.optional(T),"@ReceiptTax":s.optional(T),"@CostWithTax":s.optional(T),"@CostWithTaxAndVat":s.optional(T),"@CostTax":s.optional(T),"@DiscountEarned":s.optional(T),"@DiscountPaid":s.optional(T),"@CommissionIncome":s.optional(T),"@CommissionIncomeWithVat":s.optional(T),"@CommissionOwed":s.optional(T),"@CommissionOwedWithVat":s.optional(T),"@InvoicingCostAmount":s.optional(T),"@InvoicedCostAmount":s.optional(T),"@InvoicingPriceAmount":s.optional(T),"@InvoicedPriceAmount":s.optional(T),"@DueToSupplier":s.optional(T),"@Paid":s.optional(T),"@PaidWithCreditCard":s.optional(T),"@DueByCustomer":s.optional(T),"@Cashed":s.optional(T)}),ca=s.Struct({"@Code":s.optional(s.String),"@Description":s.optional(s.String),"@ExpireDate":s.optional(s.String),"@Status":s.optional(un),"@User":s.optional(s.String),"@Notes":s.optional(s.String),"@MasterDataSetExtraInfo":s.optional(s.String)}),la=M(`DeadlineData`,s.Struct({KeyValue:s.optional(T),DeadlineDetail:s.optional(ca)})),ua={"@Percentage":s.optional(T),"@IsVatExcluded":s.optional(E),"@VatCode":s.optional(s.String),"@ServiceAmountVatCode":s.optional(s.String),"@ApplyToVatExcludedService":s.optional(E),Amount:s.optional(T)},da=s.Struct({...ua,"@Type":s.optional(fn),CommissionIncomeDetail:s.optional(s.Struct({...ua,"@Type":s.optional(fn)}))}),fa=s.Struct({...ua,"@Type":s.optional(mn),CommissionOwedDetail:s.optional(s.Struct({...ua,"@Type":s.optional(mn)}))}),pa=M(`BookedServiceData`,A(s.Struct({"@RPH":s.String,"@ServiceCode":s.optional(s.String),AvesServiceType:s.optional(Zt),TOServiceType:s.optional($t),TOSubServiceType:s.optional(tn),ToSubServiceType:s.optional(tn),FirstDescription:s.optional(s.String),SecondDescription:s.optional(s.String),StartDate:s.optional(s.String),EndDate:s.optional(s.String),CreationDate:s.optional(s.String),SellingType:s.optional(rn),Printable:s.optional(on),Qty:s.optional(T),Pax:s.optional(T),ServiceStatus:s.optional(gn),StatusDateTime:s.optional(s.String),CausalAccountingCode:s.optional(s.String),RegimeType:s.optional(s.String),AgentCode:s.optional(s.String),BillingSubjectCode:s.optional(s.String),CollectionSubjectCode:s.optional(s.String),VoucherRegistryCode:s.optional(s.String),ServiceStatisticCode:s.optional(s.String),Referent:s.optional(s.String),Reference:s.optional(s.String),ReceiptOffertCode:s.optional(s.String),Exported:s.optional(E),ReceiptVatCode:s.optional(s.String),CostVatCode:s.optional(s.String),CommissionOwedVatCode:s.optional(s.String),CustomerPayAt:s.optional(s.String),PaidByCreditCardCompany:s.optional(s.String),LinkedServiceForCancellation:s.optional(s.String),AccommodationReference:s.optional(s.String),PolicySerial:s.optional(s.String),PolicyNumber:s.optional(T),FullTotalVolumeCost:s.optional(T),EstimatedTotalVolumeCost:s.optional(T),FinalTotalVolumeCost:s.optional(T),ReceiptsCurrencyCode:s.optional(s.String),CostsCurrencyCode:s.optional(s.String),AmountsDetail:s.optional(sa),AmountDetail:s.optional(sa),DeadlineList:s.optional(la),CommissionIncomeDetails:s.optional(da),CommissionOwedDetails:s.optional(fa),NoteList:s.optional(ra)}),e=>I(e,{ToSubServiceType:[`ToSubServiceType`,`TOSubServiceType`],AmountsDetail:[`AmountsDetail`,`AmountDetail`]}))),ma=s.Struct({"@CustomerTotalAmount":s.optional(T),"@CustomerTotalAmountWithVat":s.optional(T),"@CustomerDueAmount":s.optional(T),"@CustomerCommission":s.optional(T),"@CustomerCommissionWithVat":s.optional(T),"@CustomerDiscount":s.optional(T),"@CustomerBalanceAmount":s.optional(T),"@SupplierTotalAmount":s.optional(T),"@SupplierTotalAmountWithVat":s.optional(T),"@SupplierDueAmount":s.optional(T),"@SupplierCommission":s.optional(T),"@SupplierCommissionWithVat":s.optional(T),"@SupplierBalanceAmount":s.optional(T),"@TotalGainAmount":s.optional(T),"@TotalGainPercentage":s.optional(T)}),ha=M(`ProcessedPrintDetail`,s.Struct({"@PrintType":s.optional(cn),"@PrintProtocol":s.optional(T),"@PrintDate":s.optional(s.String)})),ga={"@ExpiryDate":s.optional(s.String),"@Amount":s.optional(T),"@CashedDate":s.optional(s.String),"@CashedAmount":s.optional(T)},_a=s.Struct({"@Code":s.optional(s.String),Instalments:s.optional(M(`Instalment`,s.Struct(ga)))}),va=s.Struct({"@Code":s.optional(s.String),"@SupplierMasterCode":s.optional(s.String),"@PaymentRefMasterCode":s.optional(s.String),"@CurrencyCode":s.optional(s.String),SupplierInstalments:s.optional(M(`SupplierInstalment`,s.Struct(ga)))}),ya=A(s.Struct({"@BookingFileCode":s.optional(s.String),BookingFileCode:s.optional(s.String),Description:s.optional(s.String),BookingFileStatus:s.optional(ji),LastModificationDate:s.optional(s.String),CreationDate:s.optional(s.String),StartDate:s.optional(s.String),EndDate:s.optional(s.String),CustomerRecordCode:s.optional(s.String),FirstConfemationDate:s.optional(s.String),FirstConfirmationDate:s.optional(s.String),BillingSubjectCode:s.optional(s.String),CollectionSubjectCode:s.optional(s.String),PaxNumber:s.optional(T),User:s.optional(s.String),TravelAgencyCode:s.optional(s.String),Applicant:s.optional(s.String),Reference:s.optional(s.String),CustomerPromoterCode:s.optional(s.String),PackageCode:s.optional(s.String),Nation:s.optional(s.String),Destination:s.optional(s.String),StatisticCodes:s.optional(ia),CurrencyCode:s.optional(s.String),EInvoicingDetail:s.optional(aa),CustomerProcessedPrintList:s.optional(ha),PassengerList:s.optional(Ri),BookedServices:s.optional(pa),PaymentList:s.optional(oa),NoteList:s.optional(ra),InstalmentPlanList:s.optional(M(`InstalmentPlan`,_a)),SupplierInstalmentPlanList:s.optional(M(`SupplierInstalmentPlan`,va)),DeadlineList:s.optional(la),BookedFileAmounts:s.optional(ma)}),e=>I(e,{"@BookingFileCode":[`@BookingFileCode`,`BookingFileCode`],FirstConfirmationDate:[`FirstConfirmationDate`,`FirstConfemationDate`]})),G={"@Code":s.optional(s.String),"@Description":s.optional(s.String)},ba=s.Struct(G),K=e=>M(e,ba),xa=s.Struct({...G,"@Rate":s.optional(T),"@ExtendedDescription":s.optional(s.String)}),Sa=s.Struct({"@Code":s.optional(s.String),"@Name":s.optional(s.String),"@IsoCode":s.optional(s.String),"@Territoriality":s.optional(Gn)}),Ca=s.Struct({"@Code":s.optional(s.String),"@Name":s.optional(s.String),"@BirthDate":s.optional(s.String),"@ExtendedDescription":s.optional(s.String),"@ReferenceAgencyCode":s.optional(s.String),"@Enabled":s.optional(E)}),wa=s.Struct({...G,"@ExtendedDescription":s.optional(s.String)}),Ta=s.Struct({...G,"@Type":s.optional(qn)}),Ea=s.Struct({...G,"@OfficeCode":s.optional(s.String),"@OfficeDescription":s.optional(s.String),"@SectorCode":s.optional(s.String),"@SectorDescription":s.optional(s.String)}),Da=W,Oa=s.Struct({CategoryList:s.optional(K(`CategoryDetail`)),NetworkList:s.optional(K(`NetworkDetail`)),LanguageList:s.optional(K(`LanguageDetail`)),DiscountList:s.optional(K(`DiscountDetail`)),ActivityList:s.optional(K(`ActivityDetail`)),ZoneList:s.optional(K(`ZoneDetail`)),BookingPayConditionList:s.optional(K(`BookingPayConditionDetail`))}),ka=A(s.Struct({MasterDataSet:s.optional(M(`MasterData`,Da)),CurrencyList:s.optional(K(`CurrencyDetail`)),VatList:s.optional(M(`VatDetail`,xa)),NationList:s.optional(M(`NationDetail`,Sa)),TravelAgentList:s.optional(M(`TravelAgentDetail`,Ca)),ProgramList:s.optional(M(`ProgramDetail`,wa)),StatisticList:s.optional(M(`StatisticDetail`,Ta)),PriceOffertList:s.optional(K(`PriceOffertDetail`)),UserList:s.optional(M(`UserDetail`,Ea)),UsersList:s.optional(M(`UserDetail`,Ea)),PassengerCategoryList:s.optional(K(`PassengerCategoryDetail`)),MasterDataSetExtraInfo:s.optional(Oa)}),e=>I(e,{UserList:[`UserList`,`UsersList`]})),Aa=N(s.Struct({RsStatus:O,BookingFileList:s.optional(M(`BookingFileData`,ya)),ExtraInfo:s.optional(ka)})),ja=_r(Kt,{expiredDate:s.optional(s.String)}),Ma=s.Struct({sCode1:s.optional(s.String.pipe(s.maxLength(4))),sCode2:s.optional(s.String.pipe(s.maxLength(4))),sCode3:s.optional(s.String.pipe(s.maxLength(4))),sCode4:s.optional(s.String.pipe(s.maxLength(4))),sCode5:s.optional(s.String.pipe(s.maxLength(4))),sCode6:s.optional(s.String.pipe(s.maxLength(4)))}),Na=s.Struct({code:s.optional(s.String),iataCode:s.optional(s.String),nationCode:s.optional(s.String),type:s.optional($n)}),Pa=s.Struct({recordCode:s.optional(s.String)}),Fa=s.Struct({makeDocumentTo:s.optional(Pn)}),Ia=s.Struct({fillInCode:s.optional(s.String)}),La=s.Union(Fa,Ia),Ra=s.Struct({documentType:Mn,documentCustomizablePrintParameters:s.optional(La)}),za=s.Struct({printDoc:s.optional(E),sendDocViaEmail:s.optional(E),infoDocumentsToPrint:s.optional(s.Array(Ra))}),Ba=s.Struct({reschedulingCode:s.optional(s.String),expireDate:s.optional(s.String),totalAmount:s.optional(s.String)}),Va=s.Struct({deadlineCode:s.optional(s.String),description:s.optional(s.String),expireDate:s.optional(s.String)}),Ha=s.Struct({paymentDate:s.optional(s.String),paymentNote:s.optional(s.String),amount:s.optional(s.String),paymentUser:s.optional(s.String),paymentType:s.optional(vn)}),Ua=P({nType:s.optional(s.String),title:s.optional(s.String),text:s.optional(s.String)},ut),Wa=s.Struct({currencyCode:s.optional(s.String),exchangeRate:s.optional(s.String),cost:s.optional(s.String),costTax:s.optional(s.String),costType:s.optional(In),vatCostCurrencyCode:s.optional(s.String),price:s.optional(s.String),priceTax:s.optional(s.String),priceType:s.optional(In)}),Ga=s.Struct({packageCode:s.optional(s.String),packageReference:s.optional(s.String),suballotmentCode:s.optional(s.String),priceListCode:s.optional(s.String),costListCode:s.optional(s.String),externalFileCode:s.optional(s.String),externalReference:s.optional(s.String),serviceStatus:s.optional(s.String),serviceStatisticCode:s.optional(s.String),serviceFare:s.optional(Wa)}),Ka=P({sCode:s.String,ssCode:s.optional(s.String),avesServiceType:Zt,toServiceType:s.optional($t),subServiceDesc:s.optional(s.String),startDate:s.String,endDate:s.String,qty:s.String,pax:s.String,paxAssociated:s.optional(s.Union(s.Array(s.String),s.Array(s.Struct({pax:s.String})))),avesSession:s.String,avesServiceInfo:s.optional(Ga),serviceFare:s.optional(Wa),bookedServiceRef:s.optional(s.String),supplierMasterCode:s.optional(s.String),voucherMasterCode:s.optional(s.String),hotelServiceInfo:s.optional(s.String),carRentalServiceInfo:s.optional(s.String),flightServiceInfo:s.optional(s.String),shipServiceInfo:s.optional(s.String),ticketServiceInfo:s.optional(s.String),commission:s.optional(s.String),noteList:s.optional(s.Array(Ua)),voucherInfo:s.optional(s.String),firstDescription:s.optional(s.String),secondDescription:s.optional(s.String)},ft),qa=P({pCode:s.String,startDate:s.String,endDate:s.String,getServicesFromPackage:s.optional(E)},pt),Ja={rph:s.String,roomRph:s.optional(s.String),billingHolder:s.optional(E),masterRecordCode:s.optional(s.String),name:s.String,sex:Dt,birthDate:s.optional(s.String),birthPlace:s.optional(s.String),nationCode:s.optional(s.String),citizenshipCode:s.optional(s.String),fiscalCode:s.optional(s.String),phoneNumber:s.optional(s.String),eMail:s.optional(s.String),notes:s.optional(s.Array(Ua)),flagStatus:s.optional(s.String),offerCode:s.optional(s.String),idDocInfo:s.optional(Gi)},Ya=P({...Ja,categoryCode:Sn},dt),Xa=P({...Ja,categoryCode:s.optional(Sn)},dt),Za=s.Struct({customer_PaymentType:s.optional(bn),customer_SpecPaymentTypeCode:s.optional(s.String)}),Qa=j(A(P({createDate:s.optional(s.String),bookingFileRefCode:s.optional(s.String),travelAgentCode:s.optional(s.String),clerkName:s.optional(s.String),customerDetail:s.optional(Pa),customerRecordCode:s.optional(s.String),currencyCode:s.optional(s.String),markupCode:s.optional(s.String),bookingFileStatus:ja,statisticCodes:s.optional(Ma),destination:s.optional(Na),bookingFileDescription:s.optional(s.String),startDate:s.String,endDate:s.String,earlyBookingDate:s.optional(s.String),cupCode:s.optional(s.String),cigCode:s.optional(s.String),customerPromoterCode:s.optional(s.String),billingReferenceCode:s.optional(s.String),paymentReferenceCode:s.optional(s.String),bookingFileDocument:s.optional(za),financialDeadlineList:s.optional(s.Array(Ba)),deadlineList:s.optional(s.Array(Va)),paymentList:s.optional(s.Array(Ha)),selectedPackageList:s.optional(s.Array(qa)),selectedServiceList:s.Array(Ka),extraQuotaRefCode:s.optional(s.String),extraQuoteServiceList:s.optional(s.Array(Ka)),getExtraQuoteFromSystem:s.optional(E),passengerList:s.Array(Ya),noteList:s.optional(s.Array(Ua)),bookingFinancialInfo:s.optional(Za),bookingFileCode:s.optional(s.String),groupingPaxPolicy:s.optional(Rn),groupBookingFile:s.optional(E),typeDownloadFile:s.optional(Bn),setBookingFileCodeFromStartDate:s.optional(E)},mt).pipe(s.filter(e=>!!(e.customerDetail||e.customerRecordCode),{message:()=>`customerDetail or customerRecordCode is required`})),yr),vi),$a=gr(s.Struct({RsStatus:O,BookingFileDetail:s.optional(Hi),PrintableDocumentsList:s.optional(Vi),TotalAmountDetailAfterCancellation:s.optional(Li),Base64DocContent:s.optional(s.String)}),`bookingFileDetail`),eo=ar,q={customerRecordCode:s.String,bookingFileCode:s.String},to=$a,no=s.Struct({reschedulingCode:s.String,description:s.optional(s.String),expireDate:s.optional(s.String)}),ro=s.Struct({cancelOperationType:wn,serviceRefType:En,serviceRefValue:s.String}),io=j(A(P({...q,currencyCode:s.optional(s.String),deadlineList:s.optional(s.Array(no)),selectedPackageDetail:s.optional(qa),selectedPackageList:s.optional(s.Array(qa).pipe(s.maxItems(1))),selectedServiceList:s.Array(Ka).pipe(s.minItems(1)),cancellableBookedServiceList:s.optional(s.Array(ro)),passengerList:s.optional(s.Array(Xa))},ht),vr(`selectedPackageList`,`selectedPackageDetail`)),yi),ao=j(P({...q,bookingFileStartDate:s.String,newCustomerRecordCode:s.optional(s.String),bookingFileReferenceName:s.optional(s.String),travelAgentCode:s.optional(s.String),billingReferenceCode:s.optional(s.String),paymentReferenceCode:s.optional(s.String),cupCode:s.optional(s.String),cigCode:s.optional(s.String),customerPromoterCode:s.optional(s.String),bookingNote:s.optional(s.String),passengerList:s.optional(s.Array(Xa)),statisticCodes:s.optional(Ma),bookingFinancialInfo:s.optional(Za),financialDeadlineList:s.optional(s.Array(s.Struct({reschedulingCode:s.String,expireDate:s.String,totalAmount:s.String})))},gt),yi),oo=j(P(q,y),Oi),so=j(P({...q,fileStatus:_r(Jt,{expiredDate:s.optional(s.String),optionedFileExpireDatePolicy:s.optional(On)}),backOfficeRequest:s.optional(E),bookingFileDocument:s.optional(za),penalty:s.optional(s.Struct({apply:s.optional(E),specificCode:s.optional(s.String)})),simulateCancelAndGetPenaltyAmount:s.optional(E)},_t),Di),co=j(P({...q,bookingServiceRef:s.String,bookingFileServiceStatus:s.Literal(`NULLIFIED`),bookingFileServiceStatusDate:s.optional(s.String)},vt),Oi),lo=s.Struct({paymentDate:s.String,paymentNote:s.optional(s.String),payerMasterCode:s.optional(s.String),payerName:s.optional(s.String),amount:s.String,paymentType:vn}),uo=j(P({bookingFileCode:s.optional(s.String),bookingFileRefCode:s.optional(s.String),paymentUser:s.optional(s.String),enableMultiplePayments:E,operationType:An,filePaymentList:s.Array(lo).pipe(s.minItems(1))},yt).pipe(s.filter(e=>!!(e.bookingFileCode||e.bookingFileRefCode),{message:()=>`bookingFileCode or bookingFileRefCode is required`})),bi),fo=M(`FeatureDetail`,s.Struct({"@Code":s.optional(s.String),"@Name":s.optional(s.String),ValueCode:s.optional(s.String),ValueName:s.optional(s.String)})),po=s.Struct({"@PackageCode":s.optional(s.String),"@PackageReference":s.optional(s.String),"@PackageServiceType":s.optional(s.String),"@ServiceCodeForPackageDetail":s.optional(s.String)}),mo=M(`SubServiceDetail`,s.Struct({"@ssCode":s.optional(s.String),FirstDescription:s.optional(s.String),SubServiceType:s.optional(s.String),SubServiceLevel:s.optional(tr),StartDate:s.optional(s.String),EndDate:s.optional(s.String)})),ho=M(`ServiceDetail`,s.Struct({"@sCode":s.optional(s.String),FirstDescription:s.optional(s.String),SecondDescription:s.optional(s.String),AvesServiceType:s.optional(s.String),TOServiceType:s.optional(s.String),StartDate:s.optional(s.String),EndDate:s.optional(s.String),RefPackageInfo:s.optional(po),SubServiceList:s.optional(mo)})),go=s.Struct({"@pCode":s.optional(s.String),FirstDescription:s.optional(s.String),SecondDescription:s.optional(s.String),FrequencyType:s.optional(s.String),ProgramType:s.optional(s.String),StartValidation:s.optional(s.String),EndValidation:s.optional(s.String),StartDate:s.optional(s.String),EndDate:s.optional(s.String),BasePrice:s.optional(tr),BasePax:s.optional(tr),CanCommitPack:s.optional(tr),FeatureList:s.optional(fo),ServiceList:s.optional(ho)}),_o=M(`PackageDetail`,go),vo=s.Struct({code:s.String,name:s.optional(s.String)}),yo=P({getAllDeptDate:s.optional(E),getFlightPlan:s.optional(E),getAllAccomodation:s.optional(E),getRealAvailability:s.optional(E),minStay:s.optional(T),maxStay:s.optional(T)},wt),bo=P({compatibleAccomodation:s.optional(E),alternativeAccomodation:s.optional(E)},wt),xo=P({customerRecordCode:s.String,languageCode:w,currencyCode:s.optional(s.String),startDate:s.String,endDate:s.String,earlyBookingDate:s.optional(s.String),passengerList:s.Array(Ya).pipe(s.minItems(1)),avesSearchType:s.optional(Yn),paxQty:s.optional(T),paxQtyCriteria:s.optional(Zn),discartNotAvailables:s.optional(E),discartNotAvailablesMinSales:s.optional(E),discartNotAvailablesDaysInOut:s.optional(E),discardPriceZero:s.optional(E),discardZeroPriceDays:s.optional(E),destination:s.optional(Na),objectTypeCode:s.optional(s.String),featureList:s.optional(s.Array(vo)),servOrPackCode:s.optional(s.String),servOrPackDesc:s.optional(s.String),priceListCode:s.optional(s.String),costListCode:s.optional(s.String),suballotmentCode:s.optional(s.String),markupCode:s.optional(s.String),statisticCodes:s.optional(Ma),mergeBoardAndAccomodation:s.optional(E),packageParams:s.optional(yo),topServiceParams:s.optional(bo),getDocumentation:s.optional(E)},Ct).pipe(s.filter(e=>e.languageCode!=null&&e.avesSearchType!=null,{message:()=>`languageCode and avesSearchType required`}));function So(e){let{customerRecordCode:t,languageCode:n,currencyCode:r,startDate:i,endDate:a,earlyBookingDate:o,passengerList:ee,paxQty:te,paxQtyCriteria:ne,avesSearchType:re,...s}=e;return{BaseSearch:ur({customerRecordCode:t,languageCode:n,currencyCode:r,startDate:i,endDate:a,earlyBookingDate:o,passengerList:ee},Ti),...ur({...s,avesSearchType:re,paxQty:te??ee.length,paxQtyCriteria:ne??Xn.GREATER_OR_EQUAL},Ei)}}const Co=A(xo,So),wo=mr(`PackageList`,_o),To=mr(`ServiceList`,ho),Eo=s.Struct({serviceCode:s.String,packageRow:s.String}),Do=j(P({customerRecordCode:s.String,languageCode:w,currencyCode:s.optional(s.String),packageCode:s.String,startDate:s.String,endDate:s.String,priceListCode:s.optional(s.String),costListCode:s.optional(s.String),markupCode:s.optional(s.String),statisticCodes:s.optional(Ma),selectedServiceList:s.Array(Eo).pipe(s.minItems(1)),passengerList:s.optional(s.Array(Ya))},Tt),wi),Oo=gr(s.Struct({RsStatus:O,PackageDetail:s.optional(go)}),`packageDetail`),ko=j(s.Struct({packageCode:s.String}),Oi),Ao=ar,jo=D,J=w,Mo=s.Struct({searchType:s.Literal(x.CODE),recordCode:s.String.pipe(s.minLength(5),s.maxLength(6)),languageCode:J}),No=s.Struct({searchType:s.Literal(x.NAME),name:s.String,city:s.optional(s.String),languageCode:J}),Po=s.Struct({searchType:s.Literal(x.VATCODE),vatCode:s.String,phoneNumber:s.optional(s.String),languageCode:J}),Fo=s.Struct({searchType:s.Literal(x.ZONE),zipCode:s.String,countyCode:s.String,city:s.optional(s.String),languageCode:J}),Io=s.Struct({searchType:s.Literal(x.CATEGORY),categoryCode:s.String,languageCode:J}),Lo=s.Struct({searchType:s.Literal(x.EMAIL),email:s.String,languageCode:J}),Ro=s.Struct({searchType:s.Literal(x.LASTMODDATE),lastModificationDate:jo,languageCode:J}),zo=s.Struct({searchType:s.Literal(x.SEARCH_FIELD),searchFieldValue:s.String,languageCode:J}),Bo=s.Struct({searchType:s.Literal(x.EXTERNAL_REF_CODE),searchFieldValue:s.String,languageCode:J}),Vo=j(s.Union(Mo,No,Po,Fo,Io,Lo,Ro,zo,Bo),Kr);A(s.Struct({RqHeader:nr,SearchMasterRecord:Vo}),e=>{let{SearchMasterRecord:t,RqHeader:n,...r}=e;return{RqHeader:n,...t,...r}});const Ho=mr(`MasterRecordList`,M(`MasterRecordDetail`,W)),Uo=_r(Yt,{expireDate:s.optional(s.String)}),Wo=s.Struct({code:s.optional(s.String),number:s.optional(s.String)}),Go={customerRecordCode:s.String,customerPromoterCode:s.optional(s.String),getSupplierInfo:s.optional(E),user:s.optional(s.String),officeCode:s.optional(s.String)},Ko=P({...Go,searchType:s.Literal(C.FILE_CODE),bookingFileCode:s.String},bt),qo=P({...Go,searchType:s.Literal(C.PAX_NAME),firstPaxName:s.String},bt),Jo=P({...Go,searchType:s.Literal(C.PACKAGE_CODE),packageCode:s.String},bt),Yo=P({...Go,searchType:s.Literal(C.OTHER),fileStatus:s.optional(Uo),startDate:s.optional(D),createdDate:s.optional(D),lastModificationDate:s.optional(D),insurance:s.optional(Wo),isSearchForB2C:s.optional(E)},bt),Xo=j(s.Union(Ko,qo,Jo,Yo),xi),Zo=mr(`BookingFileList`,M(`BookingFileDetail`,Hi));s.Struct({RqHeader:nr,MasterRecordDetail:W});const Qo=gr(s.Struct({RsStatus:O,MasterRecordDetail:s.optional(W)}),`masterRecordDetail`),Y={SEARCH_REQUEST:`SearchMasterRecordRQ`,SEARCH_RESPONSE:`SearchMasterRecordRS`,UPSERT_REQUEST:`ManageMasterRecordRQ`,UPSERT_RESPONSE:`ManageMasterRecordRS`,BOOKING_REQUEST:`BookFileRQ`,BOOKING_RESPONSE:`BookingFileRS`,MOD_FILE_SERVICES_REQUEST:`ModFileServicesRQ`,MOD_FILE_HEADER_REQUEST:`ModFileHeaderRQ`,MOD_FILE_HEADER_RESPONSE:`ModFileHeaderRS`,CANCEL_FILE_REQUEST:`CancelFileRQ`,CANCEL_FILE_RESPONSE:`CancelFileRS`,SET_STATUS_REQUEST:`SetStatusRQ`,SET_STATUS_RESPONSE:`SetStatusRS`,SET_STATUS_SERVICE_REQUEST:`SetStatusServiceRQ`,SET_STATUS_SERVICE_RESPONSE:`SetStatusServiceRS`,FILE_PAYMENT_LIST_REQUEST:`FilePaymentListRQ`,FILE_PAYMENT_LIST_RESPONSE:`FilePaymentListRS`,AVES_SEARCH_REQUEST:`AvesSearchRQ`,SEARCH_PACKAGE_RESPONSE:`SearchPackageRS`,SEARCH_SERVICES_RESPONSE:`SearchServicesRS`,PACKAGE_DETAIL_REQUEST:`PackageDetailRQ`,PACKAGE_DETAIL_RESPONSE:`PackageDetailRS`,COMMIT_PACKAGE_REQUEST:`CommitPackRQ`,COMMIT_PACKAGE_RESPONSE:`CommitPackRS`,SEARCH_BOOKING_FILE_REQUEST:`SearchFileRQ`,SEARCH_BOOKING_FILE_RESPONSE:`SearchFileRS`,EXPORT_BOOKING_DATA_REQUEST:`BookingDataExportRQ`,EXPORT_BOOKING_DATA_RESPONSE:`BookingDataExportRS`};function $o(e,t){return{[e]:t}}const X={search:`/interop/masterRecords/v2/rest/Search`,upsert:`/interop/masterRecords/v2/rest/InsertOrUpdate`,createBooking:`/interop/booking/v2/rest/CreateBookingFile`,modBookingServices:`/interop/booking/v2/rest/ModBookingFileServices`,modBookingHeader:`/interop/booking/v2/rest/ModBookingFileHeader`,cancelBooking:`/interop/booking/v2/rest/CancelBookingFile`,setBookingStatus:`/interop/booking/v2/rest/SetBookingFileStatus`,setBookingServiceStatus:`/interop/booking/v2/rest/SetBookingFileServiceStatus`,insertFilePaymentList:`/interop/booking/v2/rest/InsertFilePaymentList`,searchAvesPackages:`/interop/booking/v2/rest/SearchAvesPackages`,searchTopServices:`/interop/booking/v2/rest/SearchTopServices`,getPackageDetail:`/interop/booking/v2/rest/GetPackageDetail`,commitPackage:`/interop/booking/v2/rest/CommitPackage`,searchBookingFile:`/interop/booking/v2/rest/SearchBookingFile`,exportBookingData:`/interop/booking/v2/rest/ExportBookingData`};function Z(e){return e}const Q={search:`search`,upsert:`upsert`,create:`create`,updateServices:`updateServices`,updateHeader:`updateHeader`,cancel:`cancel`,setStatus:`setStatus`,setServiceStatus:`setServiceStatus`,addPayments:`addPayments`,searchBookings:`searchBookings`,exportData:`exportData`,searchPackages:`searchPackages`,searchServices:`searchServices`,get:`get`,commit:`commit`},es=b(Q),$={[Q.search]:Z({endpoint:X.search,requestRoot:Y.SEARCH_REQUEST,responseRoot:Y.SEARCH_RESPONSE,apiSchema:Vo,responseSchema:Ho}),[Q.upsert]:Z({endpoint:X.upsert,requestRoot:Y.UPSERT_REQUEST,responseRoot:Y.UPSERT_RESPONSE,apiSchema:ea,responseSchema:Qo,bodyKey:At.MasterRecordDetail}),[Q.create]:Z({endpoint:X.createBooking,requestRoot:Y.BOOKING_REQUEST,responseRoot:Y.BOOKING_RESPONSE,apiSchema:Qa,responseSchema:$a}),[Q.updateServices]:Z({endpoint:X.modBookingServices,requestRoot:Y.MOD_FILE_SERVICES_REQUEST,responseRoot:Y.BOOKING_RESPONSE,apiSchema:io,responseSchema:to}),[Q.updateHeader]:Z({endpoint:X.modBookingHeader,requestRoot:Y.MOD_FILE_HEADER_REQUEST,responseRoot:Y.MOD_FILE_HEADER_RESPONSE,apiSchema:ao,responseSchema:eo}),[Q.cancel]:Z({endpoint:X.cancelBooking,requestRoot:Y.CANCEL_FILE_REQUEST,responseRoot:Y.CANCEL_FILE_RESPONSE,apiSchema:oo,responseSchema:eo}),[Q.setStatus]:Z({endpoint:X.setBookingStatus,requestRoot:Y.SET_STATUS_REQUEST,responseRoot:Y.SET_STATUS_RESPONSE,apiSchema:so,responseSchema:to}),[Q.setServiceStatus]:Z({endpoint:X.setBookingServiceStatus,requestRoot:Y.SET_STATUS_SERVICE_REQUEST,responseRoot:Y.SET_STATUS_SERVICE_RESPONSE,apiSchema:co,responseSchema:to}),[Q.addPayments]:Z({endpoint:X.insertFilePaymentList,requestRoot:Y.FILE_PAYMENT_LIST_REQUEST,responseRoot:Y.FILE_PAYMENT_LIST_RESPONSE,apiSchema:uo,responseSchema:eo}),[Q.searchBookings]:Z({endpoint:X.searchBookingFile,requestRoot:Y.SEARCH_BOOKING_FILE_REQUEST,responseRoot:Y.SEARCH_BOOKING_FILE_RESPONSE,apiSchema:Xo,responseSchema:Zo}),[Q.exportData]:Z({endpoint:X.exportBookingData,requestRoot:Y.EXPORT_BOOKING_DATA_REQUEST,responseRoot:Y.EXPORT_BOOKING_DATA_RESPONSE,apiSchema:na,responseSchema:Aa}),[Q.searchPackages]:Z({endpoint:X.searchAvesPackages,requestRoot:Y.AVES_SEARCH_REQUEST,responseRoot:Y.SEARCH_PACKAGE_RESPONSE,apiSchema:Co,responseSchema:wo}),[Q.searchServices]:Z({endpoint:X.searchTopServices,requestRoot:Y.AVES_SEARCH_REQUEST,responseRoot:Y.SEARCH_SERVICES_RESPONSE,apiSchema:Co,responseSchema:To}),[Q.get]:Z({endpoint:X.getPackageDetail,requestRoot:Y.PACKAGE_DETAIL_REQUEST,responseRoot:Y.PACKAGE_DETAIL_RESPONSE,apiSchema:Do,responseSchema:Oo}),[Q.commit]:Z({endpoint:X.commitPackage,requestRoot:Y.COMMIT_PACKAGE_REQUEST,responseRoot:Y.COMMIT_PACKAGE_RESPONSE,apiSchema:ko,responseSchema:Ao})};function ts(e,t,n){return{...e&&{languageCode:e},...t,avesSearchType:t.avesSearchType??t.searchType??n}}function ns(e){let{ops:t,languageCode:n}=e;return{search:e=>_(t.searchPackages(ts(n,e,Jn.PACKAGE))),searchServices:e=>_(t.searchServices(ts(n,e,Jn.SERVICE))),get:v(t.get),commit:v(t.commit)}}function rs(e){return f(ns(e))}var is=class extends t.Tag(`aves/Packages`)(){};const as=de(is,l,ns);function os(e,t,n=`Validation error`){return s.decodeUnknown(e)(t).pipe(i.mapError(e=>u(`${n}: ${fe(e)}`)))}const ss={ignoreAttributes:!1,attributeNamePrefix:`@`,parseAttributeValue:!1,trimValues:!0,ignoreNameSpace:!0,removeNSPrefix:!0,parseTagValue:!1},cs={ignoreAttributes:!1,attributeNamePrefix:`@`,suppressEmptyNode:!0},ls=new ue(ss),us=new le(cs);function ds(e){try{return us.build(e)}catch(e){throw u(`Failed to convert JSON to XML: ${e instanceof Error?e.message:`Unknown error`}`)}}function fs(e){try{return ls.parse(e)}catch(e){throw u(`Failed to convert XML to JSON: ${e instanceof Error?e.message:`Unknown error`}`)}}function ps(e,t,n){let r=e.bodyKey?{[e.bodyKey]:t}:t;return $o(e.requestRoot,{RqHeader:n,...r})}function ms(e){return{"@HostID":e.hostID,"@Xtoken":e.xtoken,"@Interface":`WEB`,"@UserName":`WEB`,...e.languageCode&&{"@LanguageCode":e.languageCode}}}function hs(e){let{rsStatus:t}=e;return t.status===`OK`?i.succeed(e):i.fail(d(t.errorDescription||`AVES responded with status ${t.status}${t.errorCode===void 0?``:` (code ${t.errorCode})`}`,t.status,t.errorCode))}function gs(e,t,n){return i.gen(function*(){let r=fs(e)[t];return r?yield*hs(yield*os(n,r,`Invalid response format`)):yield*i.fail(u(`Invalid response structure: missing root element '${t}'`))})}function _s({options:e,http:t}){let n=Object.freeze(ms(e)),r=(e,r)=>i.gen(function*(){let i=ps(e,yield*os(e.apiSchema,r,`Validation error occurred during invoke`),n);return yield*gs(yield*t.post(e.endpoint,ds(i)),e.responseRoot,e.responseSchema)});return{languageCode:e.languageCode,createRqHeader:()=>n,ops:{search:e=>r($.search,e),upsert:e=>r($.upsert,e),create:e=>r($.create,e),updateServices:e=>r($.updateServices,e),updateHeader:e=>r($.updateHeader,e),cancel:e=>r($.cancel,e),setStatus:e=>r($.setStatus,e),setServiceStatus:e=>r($.setServiceStatus,e),addPayments:e=>r($.addPayments,e),searchBookings:e=>r($.searchBookings,e),exportData:e=>r($.exportData,e),searchPackages:e=>r($.searchPackages,e),searchServices:e=>r($.searchServices,e),get:e=>r($.get,e),commit:e=>r($.commit,e)},invoke:r}}const vs=o.effect(l,i.gen(function*(){return _s({options:yield*Xe,http:yield*it})}));function ys(e,t={}){let n=Ze(e),r=rt(t.httpClient),i=c(it,at.pipe(o.provide(n),o.provide(r)),t.http),a=c(l,vs.pipe(o.provide(i),o.provide(n)),t.transport);return o.mergeAll(c(Ke,qe,t.booking),c(ct,lt,t.master),c(is,as,t.packages)).pipe(o.provideMerge(a))}function bs(e){let t=Ze(e),n=rt(),r=at.pipe(o.provide(t),o.provide(n)),i=vs.pipe(o.provide(r),o.provide(t)),a=o.mergeAll(qe,lt,as).pipe(o.provide(i));return o.mergeAll(t,r,i,a)}function xs(e,t={}){let n=i.runSync(i.gen(function*(){return{master:yield*ct,booking:yield*Ke,packages:yield*is}}).pipe(i.provide(ys(e,t))));return{master:f(n.master),booking:f(n.booking),packages:f(n.packages)}}function Ss(e,t={}){return ee.make(ys(e,t))}var Cs=class{master;booking;packages;constructor(e,t={}){let n=xs(e,t);this.master=n.master,this.booking=n.booking,this.packages=n.packages}};export{ge as AvesApiError,Ke as AvesBooking,qe as AvesBookingLive,Cs as AvesClient,bs as AvesClientLive,Xe as AvesConfig,Ze as AvesConfigLive,it as AvesHttp,at as AvesHttpLive,ct as AvesMaster,lt as AvesMasterLive,Q as AvesOp,es as AvesOpSchema,is as AvesPackages,as as AvesPackagesLive,Jn as AvesSearchType,Yn as AvesSearchTypeSchema,Xt as AvesServiceType,Zt as AvesServiceTypeSchema,l as AvesTransport,vs as AvesTransportLive,_e as AvesUnknownError,he as AvesValidationError,hn as BookedServiceStatus,gn as BookedServiceStatusSchema,Gt as BookingFileStatus,Kt as BookingFileStatusSchema,S as BookingFileStatusWire,Yt as BookingFileStatusWireSchema,Cn as CancelOperationType,wn as CancelOperationTypeSchema,Ut as CarrierType,Wt as CarrierTypeSchema,dn as CommissionIncomeType,fn as CommissionIncomeTypeSchema,pn as CommissionOwedType,mn as CommissionOwedTypeSchema,Fn as CostPriceType,In as CostPriceTypeSchema,yn as CustomerPaymentType,bn as CustomerPaymentTypeSchema,ln as DeadlineStatus,un as DeadlineStatusSchema,Qn as DestinationType,$n as DestinationTypeSchema,jn as DocumentType,Mn as DocumentTypeSchema,Hn as ExportType,Un as ExportTypeSchema,kn as FilePaymentOperationType,An as FilePaymentOperationTypeSchema,Et as Gender,Dt as GenderSchema,Ln as GroupingPaxPolicy,Rn as GroupingPaxPolicySchema,zt as InsertCriteria,Bt as InsertCriteriaSchema,Nn as MakeDocumentTo,Pn as MakeDocumentToSchema,Vt as MasterPaymentType,Ht as MasterPaymentTypeSchema,At as OpBodyKey,jt as OpBodyKeySchema,Dn as OptionedExpirePolicy,On as OptionedExpirePolicySchema,xn as PassengerCategory,Sn as PassengerCategorySchema,Xn as PaxQtyCriteria,Zn as PaxQtyCriteriaSchema,_n as PaymentType,vn as PaymentTypeSchema,sn as PrintType,cn as PrintTypeSchema,an as Printable,on as PrintableSchema,Lt as RecordStatus,Rt as RecordStatusSchema,Nt as RecordType,Pt as RecordTypeSchema,Ft as RecordTypeWire,It as RecordTypeWireSchema,Ot as RsStatusValue,kt as RsStatusValueSchema,C as SearchBookingFileType,Vn as SearchBookingFileTypeSchema,x as SearchMasterType,Mt as SearchMasterTypeSchema,nn as SellingType,rn as SellingTypeSchema,Tn as ServiceRefType,En as ServiceRefTypeSchema,qt as SetFileStatusValue,Jt as SetFileStatusValueSchema,Kn as StatisticType,qn as StatisticTypeSchema,Wn as Territoriality,Gn as TerritorialitySchema,Qt as ToServiceType,$t as ToServiceTypeSchema,en as ToSubServiceType,tn as ToSubServiceTypeSchema,zn as TypeDownloadFile,Bn as TypeDownloadFileSchema,d as apiError,ys as avesClientLayer,xs as createAvesClient,Ce as err,nt as fetchHttpLayer,rt as httpClientLayer,ve as isAvesError,tt as makeAvesHttp,Ss as makeAvesRuntime,_s as makeAvesTransport,Ge as makeBookingClient,We as makeBookingService,st as makeMasterRecordsClient,ot as makeMasterRecordsService,rs as makePackageCatalogClient,ns as makePackageCatalogService,Se as ok,ye as unknownError,u as validationError};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aves-sdk",
3
- "version": "4.0.1",
3
+ "version": "5.0.1",
4
4
  "description": "TypeScript SDK for AVES XML REST",
5
5
  "homepage": "https://github.com/simoneguglielmi/aves-sdk#readme",
6
6
  "repository": [
@@ -61,10 +61,10 @@
61
61
  },
62
62
  "packageManager": "yarn@1.22.22",
63
63
  "dependencies": {
64
+ "@effect/platform": "^0.90",
65
+ "effect": "^3",
64
66
  "fast-xml-builder": "^1.3.0",
65
- "fast-xml-parser": "^5.10.1",
66
- "undici": "^8.10.0",
67
- "valibot": "^1.4.2"
67
+ "fast-xml-parser": "^5.10.1"
68
68
  },
69
69
  "devDependencies": {
70
70
  "@biomejs/biome": "2.5.7",