aves-sdk 4.0.1 → 5.0.0
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/CHANGELOG.md +130 -1
- package/README.md +169 -51
- package/dist/CHANGELOG.md +130 -1
- package/dist/index.d.mts +7122 -20872
- package/dist/index.mjs +1 -1
- package/package.json +4 -4
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);var Je=class extends t.Tag(`aves/Config`)(){};const Ye=e=>o.succeed(Je,e),Xe=d(`Request timed out`,`TIMEOUT`),Ze=e=>ve(e)?e:d(e.message,`ERROR`),Qe=e=>e.text.pipe(i.mapError(Ze),i.flatMap(t=>xe(e.status)?i.fail(d(t.slice(0,4096),`ERROR`,e.status)):i.succeed(t)));function $e(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:()=>Xe}),i.mapError(Ze))));return{post:(e,t)=>a.post(e,{body:oe.text(t,`application/xml`)}).pipe(i.andThen(Qe))}}const et=ae.layer;function tt(e){return e?o.succeed(se.HttpClient,e):et}var nt=class extends t.Tag(`aves/Http`)(){};const rt=o.effect(nt,i.gen(function*(){let{baseURL:e,timeoutMs:t}=yield*Je,n=yield*se.HttpClient;return $e({baseURL:e,timeoutMs:t},n)}));function it(e){let{ops:t}=e;return{search:e=>_(t.search(e).pipe(i.map(e=>e.masterRecordList??[]))),upsert:e=>_(t.upsert(e))}}function at(e){return f(it(e))}var ot=class extends t.Tag(`aves/Master`)(){};const st=de(ot,l,it),y={customerCode:`customerRecordCode`,bookingCode:`bookingFileCode`,bookingReference:`bookingFileRefCode`},ct={noteType:`nType`},lt={passengerRef:`rph`,roomRef:`roomRph`,gender:`sex`,email:`eMail`,identityDocument:`idDocInfo`},ut={serviceCode:`sCode`,subServiceCode:`ssCode`,quantity:`qty`,passengerCount:`pax`,session:`avesSession`,passengerRefs:`paxAssociated`,serviceType:`avesServiceType`,targetType:`toServiceType`,notes:`noteList`},dt={packageCode:`pCode`,includeServices:`getServicesFromPackage`},ft={...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`},pt={...y,package:`selectedPackageDetail`,packages:`selectedPackageList`,services:`selectedServiceList`,passengers:`passengerList`,deadlines:`deadlineList`,cancellableServices:`cancellableBookedServiceList`},mt={...y,startDate:`bookingFileStartDate`,newCustomerCode:`newCustomerRecordCode`,referenceName:`bookingFileReferenceName`,passengers:`passengerList`,financial:`bookingFinancialInfo`,financialDeadlines:`financialDeadlineList`},ht={...y,status:`fileStatus`,documents:`bookingFileDocument`},gt={...y,serviceReference:`bookingServiceRef`,serviceStatus:`bookingFileServiceStatus`,serviceStatusDate:`bookingFileServiceStatusDate`},_t={...y,payments:`filePaymentList`},vt={...y,status:`fileStatus`},yt={...y,statuses:`statusLists`,features:`featureCodeList`,packageCodes:`packageCodeList`,supplierCode:`supplierRecordCode`,passengerName:`firstPassengerName`,limit:`limitRange`},bt={financial:`financialDetail`,identityDocument:`idDocumentDetail`,policies:`accountPolicies`,customFields:`dynamicFields`,supplierReference:`supplierRefMasterRecords`},xt={...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`},St={allDepartureDates:`getAllDeptDate`,allAccommodation:`getAllAccomodation`,compatibleAccommodation:`compatibleAccomodation`,alternativeAccommodation:`alternativeAccomodation`},Ct={...y,services:`selectedServiceList`,passengers:`passengerList`};function b(e){let t=Object.values(e);return s.Literal(...t)}const wt={M:`M`,F:`F`},Tt=b(wt),Et={OK:`OK`,ERROR:`ERROR`,WARNING:`WARNING`,TIMEOUT:`TIMEOUT`},Dt=b(Et),Ot={MasterRecordDetail:`MasterRecordDetail`},kt=b(Ot),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`},At=b(x),jt={CUSTOMER:`CUSTOMER`,SUPPLIER:`SUPPLIER`,VOUCHER:`VOUCHER`,SUPPLIER_VOUCHER:`SUPPLIER_VOUCHER`,GENERAL:`GENERAL`},Mt=b(jt),Nt={CUSTOMER:`CUSTOMER`,SUPPLIER:`SUPPLIER`,VOUCHER:`VOUCHER`,SUPPLIER_VOUCHER:`SUPPLIER_VOUCHER`,GENERAL:`GENERAL`,NOT_SET:`NOT_SET`},Pt=b(Nt),Ft={ENABLED:`ENABLED`,DISABLED:`DISABLED`,WARNING:`WARNING`,BLACKLISTED:`BLACKLISTED`},It=b(Ft),Lt={S:`S`,N:`N`,T:`T`,M:`M`},Rt=b(Lt),zt={CASH:`CASH`,BANK:`BANK`,RID:`RID`,RIBA:`RIBA`,SPECIFIC_CODE:`SPECIFIC_CODE`},Bt=b(zt),Vt={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`},Ht=b(Vt),Ut={QUOTATION:`QUOTATION`,WORK_IN_PROGRESS:`WORK_IN_PROGRESS`,CONFIRMED:`CONFIRMED`,OPTIONED:`OPTIONED`,CANCELED:`CANCELED`},Wt=b(Ut),Gt={...Ut,NULLIFIED:`NULLIFIED`},Kt=b(Gt),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`},qt=b(S),Jt={TOP:`TOP`,TOP_SS:`TOP_SS`,ADV:`ADV`,GRP:`GRP`,OTHER:`OTHER`},Yt=b(Jt),Xt={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`},Zt=b(Xt),Qt={ACCOMODATION:`ACCOMODATION`,BOARD_BASIS:`BOARD_BASIS`,SUPPLEMENT:`SUPPLEMENT`,REDUCTION:`REDUCTION`,PRINCIPAL:`PRINCIPAL`,GOING_TO:`GOING_TO`,RETURN_BY:`RETURN_BY`,NOT_SET:`NOT_SET`},$t=b(Qt),en={IN_PACKAGE:`P`,SINGLE_SERVICE:`S`,NOT_SPECIFIED:` `},tn=b(en),nn={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`},rn=b(nn),an={ACCOUNT_STATEMENT:`ACCOUNT_STATEMENT`,PROFORMA_INVOICE:`PROFORMA_INVOICE`,COMMERCIAL_INVOICE:`COMMERCIAL_INVOICE`},on=b(an),sn={ToDo:`ToDo`,Done:`Done`},cn=b(sn),ln={COMMISION:`COMMISION`,DISCOUNT:`DISCOUNT`,FROM_COMMISSION_TO_DISCOUNT:`FROM_COMMISSION_TO_DISCOUNT`,FROM_DISCOUNT_TO_COMMISSION:`FROM_DISCOUNT_TO_COMMISSION`,NO_COMMISSION:`NO_COMMISSION`},un=b(ln),dn={COMMISION:`COMMISION`,DISCOUNT:`DISCOUNT`,NO_COMMISSION:`NO_COMMISSION`},fn=b(dn),pn={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`},mn=b(pn),hn={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`},gn=b(hn),_n={CASH:`CASH`,BANK:`BANK`,RID:`RID`,RIBA:`RIBA`,SPECIFIC_CODE:`SPECIFIC_CODE`,NOT_SET:`NOT_SET`},vn=b(_n),yn={AD:`AD`,CH:`CH`,IN:`IN`,OV:`OV`},bn=b(yn),xn={NULLIFY:`NULLIFY`,DELETE:`DELETE`},Sn=b(xn),Cn={RPH:`RPH`,FILE:`FILE`},wn=b(Cn),Tn={NOT_SET:`NOT_SET`,CONSIDER_HOLIDAY:`CONSIDER_HOLIDAY`,CONSIDER_HOLIDAY_AND_SATURDAY:`CONSIDER_HOLIDAY_AND_SATURDAY`},En=b(Tn),Dn={AbsoluteAmountsInsertion:`AbsoluteAmountsInsertion`,FinalAmountToAchieve:`FinalAmountToAchieve`,FinalAmountToAchieveWithoutControls:`FinalAmountToAchieveWithoutControls`},On=b(Dn),kn={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`},An=b(kn),jn={BOOKING_CUSTOMER:`BOOKING_CUSTOMER`,FIRST_PASSENGER:`FIRST_PASSENGER`},Mn=b(jn),Nn={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`},Pn=b(Nn),Fn={GROUPED_PAX:`GROUPED_PAX`,NOT_GROUPED_PAX:`NOT_GROUPED_PAX`,ONE_PAX_ONLY:`ONE_PAX_ONLY`},In=b(Fn),Ln={AVES2AVES:`AVES2AVES`,AVES2AVESVIA:`AVES2AVESVIA`,AVES2AVESITA:`AVES2AVESITA`},Rn=b(Ln),C={FILE_CODE:`FILE_CODE`,PAX_NAME:`PAX_NAME`,PACKAGE_CODE:`PACKAGE_CODE`,OTHER:`OTHER`},zn=b(C),Bn={LEGACY:`LEGACY`,SUPPLIER_BACKOFFICE:`SUPPLIER_BACKOFFICE`,CUSTOMER_BACKOFFICE:`CUSTOMER_BACKOFFICE`},Vn=b(Bn),Hn={IN_UE:`IN_UE`,OUT_UE:`OUT_UE`,MIXED_UE:`MIXED_UE`,NOT_SET:`NOT_SET`},Un=b(Hn),Wn={STA1:`STA1`,STA2:`STA2`,STA3:`STA3`,STA4:`STA4`,STA5:`STA5`,STA6:`STA6`,STA_SERVICE:`STA_SERVICE`,NOT_SET:`NOT_SET`},Gn=b(Wn),Kn={SERVICE:`SERVICE`,PROGRAM:`PROGRAM`,PACKAGE:`PACKAGE`},qn=b(Kn),Jn={GREATER_THAN:`GREATER_THAN`,GREATER_OR_EQUAL:`GREATER_OR_EQUAL`,EQUAL_TO:`EQUAL_TO`,LESS_OR_EQUAL:`LESS_OR_EQUAL`,LESS_THAN:`LESS_THAN`},Yn=b(Jn),Xn={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`},Zn=b(Xn),Qn=s.String.pipe(s.minLength(2),s.maxLength(2)),w=s.optional(Qn),T=s.Union(s.String,s.Number),$n=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}),er=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}),tr=s.optional(s.String),nr=s.optional(A(T,e=>Number(e))),O=A(s.Struct({"@Status":Dt,ErrorCode:nr,ErrorDescription:s.optional(s.String),Warnings:tr}),e=>({status:e[`@Status`],errorCode:e.ErrorCode,errorDescription:e.ErrorDescription,warnings:e.Warnings})),rr=N(s.Struct({RsStatus:O})),ir={financialDeadlineList:`deadlineDetail`};function ar(e,t){return t?.detailKey??ir[e]??(e.endsWith(`List`)?`${e.slice(0,-4)}Detail`:`${e}Detail`)}function or(e){return Array.isArray(e)?e.length?e.every(e=>typeof e==`string`)?e.map(e=>({pax:e})):e:``:e}function sr(e,t){if(typeof e!=`object`||!e||Oe(e))return e;if(Array.isArray(e))return e.map(e=>sr(e,t));let n={};for(let[r,i]of Object.entries(e)){let e=t?.children?.[r],a=r===`paxAssociated`?or(i):i;if(e?.listWrap&&Array.isArray(a)){let i=je(ar(r,e)),o=a.map(t=>sr(t,Pe(e)));n[je(r,t)]=e.listWrap===`one`?o.map(e=>({[i]:e})):{[i]:o};continue}n[je(r,t)]=sr(a,Fe(r,e))}return n}function cr(e,t){return sr(e,t)}function lr(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:lr})}function ur(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=>cr(e,t))}function dr(e){return s.ArrayEnsure(e)}function M(e,t){let n=s.optional(dr(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 fr(e,t){let n=s.optional(t);return N(k(s.asSchema(s.Struct({RsStatus:O,[e]:n}))))}function pr(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 mr(e,t){return A(N(e),e=>pr(t)(e))}function hr(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 gr(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 _r(e){let{customerRecordCode:t,customerDetail:n,...r}=e;return{...r,customerDetail:{...n,recordCode:n?.recordCode??t}}}function vr(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 yr(e){if(!s.isPropertySignature(e))return!1;let t=e.ast;return t._tag===`PropertySignatureDeclaration`?t.isOptional:t._tag===`PropertySignatureTransformation`&&t.from.isOptional}function br(e){return yr(e)?e:s.isPropertySignature(e)&&`from`in e?s.optional(s.asSchema(e.from)):s.optional(s.asSchema(e))}function xr(e,t){let n={};for(let r of t)n[r]=e[r];return n}function Sr(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 Cr(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]=br(a))}return n}function wr(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||yr(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=Cr(e,t),a=wr(e,t),o=s.extend(s.Struct({...Sr(e,a),...i}),s.partial(s.Struct(xr(e,a))));return ur(k(s.asSchema(o)),n,vr(r))}function Tr(e){return s.isSchema(e)&&ie.isTypeLiteral(e.ast)&&`fields`in e}function Er(e){return s.isSchema(e)&&ie.isTupleType(e.ast)&&e.ast.elements.length===0&&e.ast.rest.length===1&&`value`in e}function Dr(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 Or(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=Dr(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=Or(t);return k(n?s.asSchema(s.Array(F(n))):s.asSchema(s.make(t)))}function kr(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 Ar(e,t){if(yr(e)){let n=Ar(kr(e),t),r=s.isPropertySignature(n)?kr(n):s.asSchema(n);return s.optional(r)}if(Er(e)){let n=Ar(e.value,t);return dr(s.isPropertySignature(n)?kr(n):s.asSchema(n))}return Tr(e)?jr(e,t):e}function jr(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)]=Ar(a,e)}return k(s.asSchema(s.Struct({...r,...n??{}})))}function Mr(e,t={},n){return jr(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 Nr(e,t){return{api:j(k(s.asSchema(e)),t),validation:Mr(e,t)}}function L(e){return e}function R(...e){return L({attrs:e})}function Pr(...e){return L({attrs:e,preserveCamel:e})}function Fr(e,t){return L({attrs:e,preserveCamel:t})}function z(e){return L({children:e})}function Ir(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 Lr(e){return{one:B(e,`one`),many:B(e,`many`)}}R(`hostID`,`xtoken`,`interface`,`userName`,`status`,`languageCode`);const Rr=R(`currencyCode`,`creditLimit`,`c_PaymentType`,`c_SpecPaymentTypeCode`,`s_PaymentType`,`s_SpecPaymentTypeCode`,`enableElectronicInvoicing`,`electronicInvoicingType`),zr=R(`idType`,`idCode`,`idIssueLocation`,`idIssueCounty`,`idIssueDate`,`idExpireDate`),Br=R(`acceptProfilingPolicies`,`acceptPrivacyPolicies`,`acceptNewsletterPolicies`),Vr=R(`key`,`value`),Hr=R(`supplierRefCode`,`companyMainBusinessType`,`carrierType`),Ur=Ir([`recordCode`,`insertCriteria`],{financialDetail:Rr,idDocumentDetail:zr,accountPolicies:Br,dynamicFields:Vr,supplierRefMasterRecords:Hr}),H=R(`minDate`,`maxDate`),Wr=z({lastModificationDate:H}),Gr=Pr(`sCode1`,`sCode2`,`sCode3`,`sCode4`,`sCode5`,`sCode6`),Kr=R(`code`,`iataCode`,`nationCode`,`type`),qr=R(`nType`,`title`),Jr=B(qr,`many`),Yr=Ir([`rph`,`roomRph`,`billingHolder`],{notes:B(qr,`many`,`noteDetail`),idDocInfo:zr}),Xr=R(`currencyCode`,`exchangeRate`,`cost`,`costTax`,`costType`,`vatCostCurrencyCode`,`price`,`priceTax`,`priceType`),Zr=Fr([`pCode`,`startDate`,`endDate`,`getServicesFromPackage`],[`pCode`]),Qr=Lr(L({...Fr([`sCode`,`ssCode`],[`sCode`,`ssCode`]),children:{serviceFare:Xr,avesServiceInfo:z({serviceFare:Xr}),noteList:Jr}})),U=Lr(Yr);U.one,U.many;const $r=B(Zr,`many`),ei=V(`many`,`deadlineCode`,`description`,`expireDate`),ti=V(`many`,`reschedulingCode`,`description`,`expireDate`),ni=B(R(`reschedulingCode`,`expireDate`,`totalAmount`),`many`,`deadlineDetail`),ri=B(L({...R(`paymentDate`,`paymentNote`,`amount`,`paymentUser`,`paymentType`),rename:{paymentNote:`PaumentNote`}}),`many`),ii=V(`many`,`paymentDate`,`paymentNote`,`payerMasterCode`,`payerName`,`amount`,`paymentType`),ai=V(`many`,`cancelOperationType`,`serviceRefType`,`serviceRefValue`),oi=Ir([`printDoc`,`sendDocViaEmail`],{infoDocumentsToPrint:z({documentCustomizablePrintParameters:R(`makeDocumentTo`,`fillInCode`)})}),si=R(`value`,`expiredDate`),ci=R(`recordCode`),li=R(`customer_PaymentType`,`customer_SpecPaymentTypeCode`),ui=R(`getAllDeptDate`,`getFlightPlan`,`getAllAccomodation`,`getRealAvailability`),di=R(`compatibleAccomodation`,`alternativeAccomodation`),fi=V(`many`,`code`,`name`),pi=R(`value`,`expiredDate`,`optionedFileExpireDatePolicy`),mi=R(`apply`,`specificCode`),hi={customerDetail:ci,bookingFileStatus:si,statisticCodes:Gr,destination:Kr,bookingFileDocument:oi,bookingFinancialInfo:li,selectedPackageDetail:Zr,selectedPackageList:$r,financialDeadlineList:ni,paymentList:ri,cancellableBookedServiceList:ai,noteList:Jr},gi=z({...hi,deadlineList:ei,selectedServiceList:Qr.one,extraQuoteServiceList:Qr.one,passengerList:U.one}),_i=z({...hi,deadlineList:ti,selectedServiceList:Qr.many,extraQuoteServiceList:Qr.many,passengerList:U.many}),vi=Ir([`paymentUser`],{filePaymentList:ii}),yi=z({fileStatus:R(`value`,`expireDate`),startDate:H,createdDate:H,lastModificationDate:H,insurance:R(`code`,`number`)}),bi=B(L({}),`many`,`code`),xi=z({startDate:H,endDate:H,createdDate:H,lastModificationDate:H,lastModificationDateTime:H,statusLists:B(L({}),`many`,`status`),featureCodeList:bi,packageCodeList:bi,limitRange:R(`skip`,`take`)}),Si=z({statisticCodes:Gr,selectedServiceList:B(R(`serviceCode`,`packageRow`),`many`),passengerList:U.many}),Ci=z({passengerList:U.many}),wi=z({destination:Kr,statisticCodes:Gr,packageParams:ui,topServiceParams:di,featureList:fi}),Ti=z({fileStatus:pi,penalty:mi,bookingFileDocument:oi}),Ei=L({}),Di={[S.CONFIRM]:`CONFIRMED`,[S.OPTION]:`OPTIONED`,[S.REQUESTED]:`REQUEST`};function Oi(e){return e in Di?Di[e]:e}const ki=A(s.Struct({"@Value":qt,"@ExpiredDate":s.optional(s.String),"@ExpireDate":s.optional(s.String)}),e=>({...I(e,{"@ExpiredDate":[`@ExpiredDate`,`@ExpireDate`]}),"@Value":Oi(e[`@Value`])})),Ai=M(`PricePerPaxDetail`,s.Struct({"@PaxRef":s.String,"@Price":T})),ji=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(Ai)}),Mi=s.Struct({"@Code":s.optional(s.String),"@Name":s.optional(s.String),"@Email":s.optional(s.String),"@LanguageCode":s.optional(s.String)}),Ni=s.Struct({"@Code":s.optional(s.String),"@Description":s.optional(s.String)}),Pi=M(`BookedServiceDetail`,A(s.Struct({"@RPH":s.String,"@ServiceCode":s.optional(s.String),"@FromExternalProvider":s.optional(T),"@isFromExternalProvider":s.optional(T),AvesServiceType:s.optional(Yt),TOServiceType:s.optional(Zt),FirstDescription:s.optional(s.String),SecondDescription:s.optional(s.String),ThirdDescription:s.optional(s.String),FourthDescription:s.optional(s.String),ServiceStatus:s.optional(mn),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(Ni),SupplierInfo:s.optional(Mi),ServiceTotalAmountDetail:s.optional(ji)}),e=>I(e,{"@FromExternalProvider":[`@FromExternalProvider`,`@isFromExternalProvider`]}))),Fi=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)}),Ii=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)})),Li=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`]}))),Ri=M(`StoredDocumentDetail`,s.Struct({DocumentRefCode:s.optional(s.String),DocumentType:s.optional(s.String),DocumentName:s.optional(s.String),ArchiviationDescription:s.optional(s.String)})),zi=M(`PrintableDocumentDetail`,s.Struct({DocumentType:s.optional(s.String),DocumentName:s.optional(s.String),Enabled:s.optional(T)})),Bi=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(ki),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(Pi),TotalAmountDetail:s.optional(Fi),PaxNumber:s.optional(T),PassengerList:s.optional(Ii),Reference:s.optional(s.String),ClerkName:s.optional(s.String),StoredDocumentsList:s.optional(Ri),PrintableDocumentsList:s.optional(zi),FinancialDeadlineList:s.optional(Li)}),e=>I(e,{"@BookingFileCode":[`@BookingFileCode`,`BookingFileCode`]})),Vi=s.Struct({currencyCode:s.optional(s.String),creditLimit:s.optional(s.String),c_PaymentType:s.optional(Bt),c_SpecPaymentTypeCode:s.optional(s.String),s_PaymentType:s.optional(Bt),s_SpecPaymentTypeCode:s.optional(s.String),enableElectronicInvoicing:s.optional(E),electronicInvoicingType:s.optional(s.String)}),Hi=Nr(Vi,Rr);Hi.api,Hi.validation;const Ui=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)}),Wi=Nr(Ui,zr);Wi.api,Wi.validation;const Gi=s.Struct({key:s.String,value:s.String});Mr(Gi,Vr);const Ki=s.Struct({supplierRefCode:s.optional(s.String),companyMainBusinessType:s.optional(s.String),carrierType:s.optional(Ht)}),qi=Nr(Ki,Hr);qi.api,qi.validation;const Ji=s.Union(s.Literal(0),s.Literal(1)),Yi=s.Struct({acceptProfilingPolicies:s.optional(Ji),acceptPrivacyPolicies:s.optional(Ji),acceptNewsletterPolicies:s.optional(Ji)}),Xi=Nr(Yi,Br);Xi.api,Xi.validation;const Zi={recordCode:s.optional(s.String.pipe(s.minLength(6),s.maxLength(6))),insertCriteria:s.optional(Rt),createdDate:s.optional(s.String),recordType:s.optionalWith(Mt,{default:()=>jt.CUSTOMER}),recordStatus:s.optionalWith(It,{default:()=>Ft.ENABLED}),moniker:s.optional(s.String),name:s.optional(s.String),extraInfo:s.optional(s.String),languageCode:Qn,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(Tt),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(Ui),accountPolicies:s.optional(Yi),financialDetail:s.optional(Vi),dynamicFields:s.optional(s.Array(Gi)),supplierRefMasterRecords:s.optional(Ki)},Qi=j(P(Zi,bt),Ur),W=s.asSchema(s.partial(Mr(s.Struct(Zi),Ur,{RecordType:s.optional(Pt),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 $i=s.Struct({skip:s.Number.pipe(s.int(),s.greaterThanOrEqualTo(0)),take:s.Number.pipe(s.int(),s.greaterThanOrEqualTo(1),s.lessThanOrEqualTo(1e3))}),ea=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(Wt)),featureCodeList:s.optional(s.Array(s.String)),packageCodeList:s.optional(s.Array(s.String)),exportType:s.optional(Vn),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($i)},yt),xi),ta=M(`NoteDetail`,s.Struct({"@nType":s.optional(s.String),"@Title":s.optional(s.String),"#text":s.optional(T)})),na=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)}),ra=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`]})),ia=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`]}))),aa=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)}),oa=s.Struct({"@Code":s.optional(s.String),"@Description":s.optional(s.String),"@ExpireDate":s.optional(s.String),"@Status":s.optional(cn),"@User":s.optional(s.String),"@Notes":s.optional(s.String),"@MasterDataSetExtraInfo":s.optional(s.String)}),sa=M(`DeadlineData`,s.Struct({KeyValue:s.optional(T),DeadlineDetail:s.optional(oa)})),ca={"@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)},la=s.Struct({...ca,"@Type":s.optional(un),CommissionIncomeDetail:s.optional(s.Struct({...ca,"@Type":s.optional(un)}))}),ua=s.Struct({...ca,"@Type":s.optional(fn),CommissionOwedDetail:s.optional(s.Struct({...ca,"@Type":s.optional(fn)}))}),da=M(`BookedServiceData`,A(s.Struct({"@RPH":s.String,"@ServiceCode":s.optional(s.String),AvesServiceType:s.optional(Yt),TOServiceType:s.optional(Zt),TOSubServiceType:s.optional($t),ToSubServiceType:s.optional($t),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(tn),Printable:s.optional(rn),Qty:s.optional(T),Pax:s.optional(T),ServiceStatus:s.optional(mn),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(aa),AmountDetail:s.optional(aa),DeadlineList:s.optional(sa),CommissionIncomeDetails:s.optional(la),CommissionOwedDetails:s.optional(ua),NoteList:s.optional(ta)}),e=>I(e,{ToSubServiceType:[`ToSubServiceType`,`TOSubServiceType`],AmountsDetail:[`AmountsDetail`,`AmountDetail`]}))),fa=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)}),pa=M(`ProcessedPrintDetail`,s.Struct({"@PrintType":s.optional(on),"@PrintProtocol":s.optional(T),"@PrintDate":s.optional(s.String)})),ma={"@ExpiryDate":s.optional(s.String),"@Amount":s.optional(T),"@CashedDate":s.optional(s.String),"@CashedAmount":s.optional(T)},ha=s.Struct({"@Code":s.optional(s.String),Instalments:s.optional(M(`Instalment`,s.Struct(ma)))}),ga=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(ma)))}),_a=A(s.Struct({"@BookingFileCode":s.optional(s.String),BookingFileCode:s.optional(s.String),Description:s.optional(s.String),BookingFileStatus:s.optional(ki),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(na),CurrencyCode:s.optional(s.String),EInvoicingDetail:s.optional(ra),CustomerProcessedPrintList:s.optional(pa),PassengerList:s.optional(Ii),BookedServices:s.optional(da),PaymentList:s.optional(ia),NoteList:s.optional(ta),InstalmentPlanList:s.optional(M(`InstalmentPlan`,ha)),SupplierInstalmentPlanList:s.optional(M(`SupplierInstalmentPlan`,ga)),DeadlineList:s.optional(sa),BookedFileAmounts:s.optional(fa)}),e=>I(e,{"@BookingFileCode":[`@BookingFileCode`,`BookingFileCode`],FirstConfirmationDate:[`FirstConfirmationDate`,`FirstConfemationDate`]})),G={"@Code":s.optional(s.String),"@Description":s.optional(s.String)},va=s.Struct(G),K=e=>M(e,va),ya=s.Struct({...G,"@Rate":s.optional(T),"@ExtendedDescription":s.optional(s.String)}),ba=s.Struct({"@Code":s.optional(s.String),"@Name":s.optional(s.String),"@IsoCode":s.optional(s.String),"@Territoriality":s.optional(Un)}),xa=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)}),Sa=s.Struct({...G,"@ExtendedDescription":s.optional(s.String)}),Ca=s.Struct({...G,"@Type":s.optional(Gn)}),wa=s.Struct({...G,"@OfficeCode":s.optional(s.String),"@OfficeDescription":s.optional(s.String),"@SectorCode":s.optional(s.String),"@SectorDescription":s.optional(s.String)}),Ta=W,Ea=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`))}),Da=A(s.Struct({MasterDataSet:s.optional(M(`MasterData`,Ta)),CurrencyList:s.optional(K(`CurrencyDetail`)),VatList:s.optional(M(`VatDetail`,ya)),NationList:s.optional(M(`NationDetail`,ba)),TravelAgentList:s.optional(M(`TravelAgentDetail`,xa)),ProgramList:s.optional(M(`ProgramDetail`,Sa)),StatisticList:s.optional(M(`StatisticDetail`,Ca)),PriceOffertList:s.optional(K(`PriceOffertDetail`)),UserList:s.optional(M(`UserDetail`,wa)),UsersList:s.optional(M(`UserDetail`,wa)),PassengerCategoryList:s.optional(K(`PassengerCategoryDetail`)),MasterDataSetExtraInfo:s.optional(Ea)}),e=>I(e,{UserList:[`UserList`,`UsersList`]})),Oa=N(s.Struct({RsStatus:O,BookingFileList:s.optional(M(`BookingFileData`,_a)),ExtraInfo:s.optional(Da)})),ka=hr(Wt,{expiredDate:s.optional(s.String)}),Aa=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)))}),ja=s.Struct({code:s.optional(s.String),iataCode:s.optional(s.String),nationCode:s.optional(s.String),type:s.optional(Zn)}),Ma=s.Struct({recordCode:s.optional(s.String)}),Na=s.Struct({makeDocumentTo:s.optional(Mn)}),Pa=s.Struct({fillInCode:s.optional(s.String)}),Fa=s.Union(Na,Pa),Ia=s.Struct({documentType:An,documentCustomizablePrintParameters:s.optional(Fa)}),La=s.Struct({printDoc:s.optional(E),sendDocViaEmail:s.optional(E),infoDocumentsToPrint:s.optional(s.Array(Ia))}),Ra=s.Struct({reschedulingCode:s.optional(s.String),expireDate:s.optional(s.String),totalAmount:s.optional(s.String)}),za=s.Struct({deadlineCode:s.optional(s.String),description:s.optional(s.String),expireDate:s.optional(s.String)}),Ba=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(gn)}),Va=P({nType:s.optional(s.String),title:s.optional(s.String),text:s.optional(s.String)},ct),Ha=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(Pn),vatCostCurrencyCode:s.optional(s.String),price:s.optional(s.String),priceTax:s.optional(s.String),priceType:s.optional(Pn)}),Ua=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(Ha)}),Wa=P({sCode:s.String,ssCode:s.optional(s.String),avesServiceType:Yt,toServiceType:s.optional(Zt),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(Ua),serviceFare:s.optional(Ha),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(Va)),voucherInfo:s.optional(s.String),firstDescription:s.optional(s.String),secondDescription:s.optional(s.String)},ut),Ga=P({pCode:s.String,startDate:s.String,endDate:s.String,getServicesFromPackage:s.optional(E)},dt),Ka={rph:s.String,roomRph:s.optional(s.String),billingHolder:s.optional(E),masterRecordCode:s.optional(s.String),name:s.String,sex:Tt,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(Va)),flagStatus:s.optional(s.String),offerCode:s.optional(s.String),idDocInfo:s.optional(Ui)},qa=P({...Ka,categoryCode:bn},lt),Ja=P({...Ka,categoryCode:s.optional(bn)},lt),Ya=s.Struct({customer_PaymentType:s.optional(vn),customer_SpecPaymentTypeCode:s.optional(s.String)}),Xa=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(Ma),customerRecordCode:s.optional(s.String),currencyCode:s.optional(s.String),markupCode:s.optional(s.String),bookingFileStatus:ka,statisticCodes:s.optional(Aa),destination:s.optional(ja),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(La),financialDeadlineList:s.optional(s.Array(Ra)),deadlineList:s.optional(s.Array(za)),paymentList:s.optional(s.Array(Ba)),selectedPackageList:s.optional(s.Array(Ga)),selectedServiceList:s.Array(Wa),extraQuotaRefCode:s.optional(s.String),extraQuoteServiceList:s.optional(s.Array(Wa)),getExtraQuoteFromSystem:s.optional(E),passengerList:s.Array(qa),noteList:s.optional(s.Array(Va)),bookingFinancialInfo:s.optional(Ya),bookingFileCode:s.optional(s.String),groupingPaxPolicy:s.optional(In),groupBookingFile:s.optional(E),typeDownloadFile:s.optional(Rn),setBookingFileCodeFromStartDate:s.optional(E)},ft).pipe(s.filter(e=>!!(e.customerDetail||e.customerRecordCode),{message:()=>`customerDetail or customerRecordCode is required`})),_r),gi),Za=mr(s.Struct({RsStatus:O,BookingFileDetail:s.optional(Bi),PrintableDocumentsList:s.optional(zi),TotalAmountDetailAfterCancellation:s.optional(Fi),Base64DocContent:s.optional(s.String)}),`bookingFileDetail`),Qa=rr,q={customerRecordCode:s.String,bookingFileCode:s.String},$a=Za,eo=s.Struct({reschedulingCode:s.String,description:s.optional(s.String),expireDate:s.optional(s.String)}),to=s.Struct({cancelOperationType:Sn,serviceRefType:wn,serviceRefValue:s.String}),no=j(A(P({...q,currencyCode:s.optional(s.String),deadlineList:s.optional(s.Array(eo)),selectedPackageDetail:s.optional(Ga),selectedPackageList:s.optional(s.Array(Ga).pipe(s.maxItems(1))),selectedServiceList:s.Array(Wa).pipe(s.minItems(1)),cancellableBookedServiceList:s.optional(s.Array(to)),passengerList:s.optional(s.Array(Ja))},pt),gr(`selectedPackageList`,`selectedPackageDetail`)),_i),ro=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(Ja)),statisticCodes:s.optional(Aa),bookingFinancialInfo:s.optional(Ya),financialDeadlineList:s.optional(s.Array(s.Struct({reschedulingCode:s.String,expireDate:s.String,totalAmount:s.String})))},mt),_i),io=j(P(q,y),Ei),ao=j(P({...q,fileStatus:hr(Kt,{expiredDate:s.optional(s.String),optionedFileExpireDatePolicy:s.optional(En)}),backOfficeRequest:s.optional(E),bookingFileDocument:s.optional(La),penalty:s.optional(s.Struct({apply:s.optional(E),specificCode:s.optional(s.String)})),simulateCancelAndGetPenaltyAmount:s.optional(E)},ht),Ti),oo=j(P({...q,bookingServiceRef:s.String,bookingFileServiceStatus:s.Literal(`NULLIFIED`),bookingFileServiceStatusDate:s.optional(s.String)},gt),Ei),so=s.Struct({paymentDate:s.String,paymentNote:s.optional(s.String),payerMasterCode:s.optional(s.String),payerName:s.optional(s.String),amount:s.String,paymentType:gn}),co=j(P({bookingFileCode:s.optional(s.String),bookingFileRefCode:s.optional(s.String),paymentUser:s.optional(s.String),enableMultiplePayments:E,operationType:On,filePaymentList:s.Array(so).pipe(s.minItems(1))},_t).pipe(s.filter(e=>!!(e.bookingFileCode||e.bookingFileRefCode),{message:()=>`bookingFileCode or bookingFileRefCode is required`})),vi),lo=M(`FeatureDetail`,s.Struct({"@Code":s.optional(s.String),"@Name":s.optional(s.String),ValueCode:s.optional(s.String),ValueName:s.optional(s.String)})),uo=s.Struct({"@PackageCode":s.optional(s.String),"@PackageReference":s.optional(s.String),"@PackageServiceType":s.optional(s.String),"@ServiceCodeForPackageDetail":s.optional(s.String)}),fo=M(`SubServiceDetail`,s.Struct({"@ssCode":s.optional(s.String),FirstDescription:s.optional(s.String),SubServiceType:s.optional(s.String),SubServiceLevel:s.optional($n),StartDate:s.optional(s.String),EndDate:s.optional(s.String)})),po=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(uo),SubServiceList:s.optional(fo)})),mo=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($n),BasePax:s.optional($n),CanCommitPack:s.optional($n),FeatureList:s.optional(lo),ServiceList:s.optional(po)}),ho=M(`PackageDetail`,mo),go=s.Struct({code:s.String,name:s.optional(s.String)}),_o=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)},St),vo=P({compatibleAccomodation:s.optional(E),alternativeAccomodation:s.optional(E)},St),yo=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(qa).pipe(s.minItems(1)),avesSearchType:s.optional(qn),paxQty:s.optional(T),paxQtyCriteria:s.optional(Yn),discartNotAvailables:s.optional(E),discartNotAvailablesMinSales:s.optional(E),discartNotAvailablesDaysInOut:s.optional(E),discardPriceZero:s.optional(E),discardZeroPriceDays:s.optional(E),destination:s.optional(ja),objectTypeCode:s.optional(s.String),featureList:s.optional(s.Array(go)),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(Aa),mergeBoardAndAccomodation:s.optional(E),packageParams:s.optional(_o),topServiceParams:s.optional(vo),getDocumentation:s.optional(E)},xt).pipe(s.filter(e=>e.languageCode!=null&&e.avesSearchType!=null,{message:()=>`languageCode and avesSearchType required`}));function bo(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:cr({customerRecordCode:t,languageCode:n,currencyCode:r,startDate:i,endDate:a,earlyBookingDate:o,passengerList:ee},Ci),...cr({...s,avesSearchType:re,paxQty:te??ee.length,paxQtyCriteria:ne??Jn.GREATER_OR_EQUAL},wi)}}const xo=A(yo,bo),So=fr(`PackageList`,ho),Co=fr(`ServiceList`,po),wo=s.Struct({serviceCode:s.String,packageRow:s.String}),To=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(Aa),selectedServiceList:s.Array(wo).pipe(s.minItems(1)),passengerList:s.optional(s.Array(qa))},Ct),Si),Eo=mr(s.Struct({RsStatus:O,PackageDetail:s.optional(mo)}),`packageDetail`),Do=j(s.Struct({packageCode:s.String}),Ei),Oo=rr,ko=D,J=w,Ao=s.Struct({searchType:s.Literal(x.CODE),recordCode:s.String.pipe(s.minLength(5),s.maxLength(6)),languageCode:J}),jo=s.Struct({searchType:s.Literal(x.NAME),name:s.String,city:s.optional(s.String),languageCode:J}),Mo=s.Struct({searchType:s.Literal(x.VATCODE),vatCode:s.String,phoneNumber:s.optional(s.String),languageCode:J}),No=s.Struct({searchType:s.Literal(x.ZONE),zipCode:s.String,countyCode:s.String,city:s.optional(s.String),languageCode:J}),Po=s.Struct({searchType:s.Literal(x.CATEGORY),categoryCode:s.String,languageCode:J}),Fo=s.Struct({searchType:s.Literal(x.EMAIL),email:s.String,languageCode:J}),Io=s.Struct({searchType:s.Literal(x.LASTMODDATE),lastModificationDate:ko,languageCode:J}),Lo=s.Struct({searchType:s.Literal(x.SEARCH_FIELD),searchFieldValue:s.String,languageCode:J}),Ro=s.Struct({searchType:s.Literal(x.EXTERNAL_REF_CODE),searchFieldValue:s.String,languageCode:J}),zo=j(s.Union(Ao,jo,Mo,No,Po,Fo,Io,Lo,Ro),Wr);A(s.Struct({RqHeader:er,SearchMasterRecord:zo}),e=>{let{SearchMasterRecord:t,RqHeader:n,...r}=e;return{RqHeader:n,...t,...r}});const Bo=fr(`MasterRecordList`,M(`MasterRecordDetail`,W)),Vo=hr(qt,{expireDate:s.optional(s.String)}),Ho=s.Struct({code:s.optional(s.String),number:s.optional(s.String)}),Uo={customerRecordCode:s.String,customerPromoterCode:s.optional(s.String),getSupplierInfo:s.optional(E),user:s.optional(s.String),officeCode:s.optional(s.String)},Wo=P({...Uo,searchType:s.Literal(C.FILE_CODE),bookingFileCode:s.String},vt),Go=P({...Uo,searchType:s.Literal(C.PAX_NAME),firstPaxName:s.String},vt),Ko=P({...Uo,searchType:s.Literal(C.PACKAGE_CODE),packageCode:s.String},vt),qo=P({...Uo,searchType:s.Literal(C.OTHER),fileStatus:s.optional(Vo),startDate:s.optional(D),createdDate:s.optional(D),lastModificationDate:s.optional(D),insurance:s.optional(Ho),isSearchForB2C:s.optional(E)},vt),Jo=j(s.Union(Wo,Go,Ko,qo),yi),Yo=fr(`BookingFileList`,M(`BookingFileDetail`,Bi));s.Struct({RqHeader:er,MasterRecordDetail:W});const Xo=mr(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 Zo(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`},Qo=b(Q),$={[Q.search]:Z({endpoint:X.search,requestRoot:Y.SEARCH_REQUEST,responseRoot:Y.SEARCH_RESPONSE,apiSchema:zo,responseSchema:Bo}),[Q.upsert]:Z({endpoint:X.upsert,requestRoot:Y.UPSERT_REQUEST,responseRoot:Y.UPSERT_RESPONSE,apiSchema:Qi,responseSchema:Xo,bodyKey:Ot.MasterRecordDetail}),[Q.create]:Z({endpoint:X.createBooking,requestRoot:Y.BOOKING_REQUEST,responseRoot:Y.BOOKING_RESPONSE,apiSchema:Xa,responseSchema:Za}),[Q.updateServices]:Z({endpoint:X.modBookingServices,requestRoot:Y.MOD_FILE_SERVICES_REQUEST,responseRoot:Y.BOOKING_RESPONSE,apiSchema:no,responseSchema:$a}),[Q.updateHeader]:Z({endpoint:X.modBookingHeader,requestRoot:Y.MOD_FILE_HEADER_REQUEST,responseRoot:Y.MOD_FILE_HEADER_RESPONSE,apiSchema:ro,responseSchema:Qa}),[Q.cancel]:Z({endpoint:X.cancelBooking,requestRoot:Y.CANCEL_FILE_REQUEST,responseRoot:Y.CANCEL_FILE_RESPONSE,apiSchema:io,responseSchema:Qa}),[Q.setStatus]:Z({endpoint:X.setBookingStatus,requestRoot:Y.SET_STATUS_REQUEST,responseRoot:Y.SET_STATUS_RESPONSE,apiSchema:ao,responseSchema:$a}),[Q.setServiceStatus]:Z({endpoint:X.setBookingServiceStatus,requestRoot:Y.SET_STATUS_SERVICE_REQUEST,responseRoot:Y.SET_STATUS_SERVICE_RESPONSE,apiSchema:oo,responseSchema:$a}),[Q.addPayments]:Z({endpoint:X.insertFilePaymentList,requestRoot:Y.FILE_PAYMENT_LIST_REQUEST,responseRoot:Y.FILE_PAYMENT_LIST_RESPONSE,apiSchema:co,responseSchema:Qa}),[Q.searchBookings]:Z({endpoint:X.searchBookingFile,requestRoot:Y.SEARCH_BOOKING_FILE_REQUEST,responseRoot:Y.SEARCH_BOOKING_FILE_RESPONSE,apiSchema:Jo,responseSchema:Yo}),[Q.exportData]:Z({endpoint:X.exportBookingData,requestRoot:Y.EXPORT_BOOKING_DATA_REQUEST,responseRoot:Y.EXPORT_BOOKING_DATA_RESPONSE,apiSchema:ea,responseSchema:Oa}),[Q.searchPackages]:Z({endpoint:X.searchAvesPackages,requestRoot:Y.AVES_SEARCH_REQUEST,responseRoot:Y.SEARCH_PACKAGE_RESPONSE,apiSchema:xo,responseSchema:So}),[Q.searchServices]:Z({endpoint:X.searchTopServices,requestRoot:Y.AVES_SEARCH_REQUEST,responseRoot:Y.SEARCH_SERVICES_RESPONSE,apiSchema:xo,responseSchema:Co}),[Q.get]:Z({endpoint:X.getPackageDetail,requestRoot:Y.PACKAGE_DETAIL_REQUEST,responseRoot:Y.PACKAGE_DETAIL_RESPONSE,apiSchema:To,responseSchema:Eo}),[Q.commit]:Z({endpoint:X.commitPackage,requestRoot:Y.COMMIT_PACKAGE_REQUEST,responseRoot:Y.COMMIT_PACKAGE_RESPONSE,apiSchema:Do,responseSchema:Oo})};function $o(e,t,n){return{...e&&{languageCode:e},...t,avesSearchType:t.avesSearchType??t.searchType??n}}function es(e){let{ops:t,languageCode:n}=e;return{search:e=>_(t.searchPackages($o(n,e,Kn.PACKAGE))),searchServices:e=>_(t.searchServices($o(n,e,Kn.SERVICE))),get:v(t.get),commit:v(t.commit)}}function ts(e){return f(es(e))}var ns=class extends t.Tag(`aves/Packages`)(){};const rs=de(ns,l,es);function is(e,t,n=`Validation error`){return s.decodeUnknown(e)(t).pipe(i.mapError(e=>u(`${n}: ${fe(e)}`)))}const as={ignoreAttributes:!1,attributeNamePrefix:`@`,parseAttributeValue:!1,trimValues:!0,ignoreNameSpace:!0,removeNSPrefix:!0,parseTagValue:!1},os={ignoreAttributes:!1,attributeNamePrefix:`@`,suppressEmptyNode:!0},ss=new ue(as),cs=new le(os);function ls(e){try{return cs.build(e)}catch(e){throw u(`Failed to convert JSON to XML: ${e instanceof Error?e.message:`Unknown error`}`)}}function us(e){try{return ss.parse(e)}catch(e){throw u(`Failed to convert XML to JSON: ${e instanceof Error?e.message:`Unknown error`}`)}}function ds(e,t,n){let r=e.bodyKey?{[e.bodyKey]:t}:t;return Zo(e.requestRoot,{RqHeader:n,...r})}function fs(e){return{"@HostID":e.hostID,"@Xtoken":e.xtoken,"@Interface":`WEB`,"@UserName":`WEB`,...e.languageCode&&{"@LanguageCode":e.languageCode}}}function ps(e){let{rsStatus:t}=e;return t.status===`OK`?i.succeed(e):i.fail(d(t.errorDescription??``,t.status,t.errorCode))}function ms(e,t,n){return i.gen(function*(){let r=us(e)[t];return r?yield*ps(yield*is(n,r,`Invalid response format`)):yield*i.fail(u(`Invalid response structure: missing root element '${t}'`))})}function hs({options:e,http:t}){let n=Object.freeze(fs(e)),r=(e,r)=>i.gen(function*(){let i=ds(e,yield*is(e.apiSchema,r,`Validation error occurred during invoke`),n);return yield*ms(yield*t.post(e.endpoint,ls(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 gs=o.effect(l,i.gen(function*(){return hs({options:yield*Je,http:yield*nt})}));function _s(e,t={}){let n=Ye(e),r=tt(t.httpClient),i=c(nt,rt.pipe(o.provide(n),o.provide(r)),t.http),a=c(l,gs.pipe(o.provide(i),o.provide(n)),t.transport);return o.mergeAll(c(Ke,qe,t.booking),c(ot,st,t.master),c(ns,rs,t.packages)).pipe(o.provideMerge(a))}function vs(e){let t=Ye(e),n=tt(),r=rt.pipe(o.provide(t),o.provide(n)),i=gs.pipe(o.provide(r),o.provide(t)),a=o.mergeAll(qe,st,rs).pipe(o.provide(i));return o.mergeAll(t,r,i,a)}function ys(e,t={}){let n=i.runSync(i.gen(function*(){return{master:yield*ot,booking:yield*Ke,packages:yield*ns}}).pipe(i.provide(_s(e,t))));return{master:f(n.master),booking:f(n.booking),packages:f(n.packages)}}function bs(e,t={}){return ee.make(_s(e,t))}var xs=class{master;booking;packages;constructor(e,t={}){let n=ys(e,t);this.master=n.master,this.booking=n.booking,this.packages=n.packages}};export{ge as AvesApiError,Ke as AvesBooking,qe as AvesBookingLive,xs as AvesClient,vs as AvesClientLive,Je as AvesConfig,Ye as AvesConfigLive,nt as AvesHttp,rt as AvesHttpLive,ot as AvesMaster,st as AvesMasterLive,Q as AvesOp,Qo as AvesOpSchema,ns as AvesPackages,rs as AvesPackagesLive,Kn as AvesSearchType,qn as AvesSearchTypeSchema,Jt as AvesServiceType,Yt as AvesServiceTypeSchema,l as AvesTransport,gs as AvesTransportLive,_e as AvesUnknownError,he as AvesValidationError,pn as BookedServiceStatus,mn as BookedServiceStatusSchema,Ut as BookingFileStatus,Wt as BookingFileStatusSchema,S as BookingFileStatusWire,qt as BookingFileStatusWireSchema,xn as CancelOperationType,Sn as CancelOperationTypeSchema,Vt as CarrierType,Ht as CarrierTypeSchema,ln as CommissionIncomeType,un as CommissionIncomeTypeSchema,dn as CommissionOwedType,fn as CommissionOwedTypeSchema,Nn as CostPriceType,Pn as CostPriceTypeSchema,_n as CustomerPaymentType,vn as CustomerPaymentTypeSchema,sn as DeadlineStatus,cn as DeadlineStatusSchema,Xn as DestinationType,Zn as DestinationTypeSchema,kn as DocumentType,An as DocumentTypeSchema,Bn as ExportType,Vn as ExportTypeSchema,Dn as FilePaymentOperationType,On as FilePaymentOperationTypeSchema,wt as Gender,Tt as GenderSchema,Fn as GroupingPaxPolicy,In as GroupingPaxPolicySchema,Lt as InsertCriteria,Rt as InsertCriteriaSchema,jn as MakeDocumentTo,Mn as MakeDocumentToSchema,zt as MasterPaymentType,Bt as MasterPaymentTypeSchema,Ot as OpBodyKey,kt as OpBodyKeySchema,Tn as OptionedExpirePolicy,En as OptionedExpirePolicySchema,yn as PassengerCategory,bn as PassengerCategorySchema,Jn as PaxQtyCriteria,Yn as PaxQtyCriteriaSchema,hn as PaymentType,gn as PaymentTypeSchema,an as PrintType,on as PrintTypeSchema,nn as Printable,rn as PrintableSchema,Ft as RecordStatus,It as RecordStatusSchema,jt as RecordType,Mt as RecordTypeSchema,Nt as RecordTypeWire,Pt as RecordTypeWireSchema,Et as RsStatusValue,Dt as RsStatusValueSchema,C as SearchBookingFileType,zn as SearchBookingFileTypeSchema,x as SearchMasterType,At as SearchMasterTypeSchema,en as SellingType,tn as SellingTypeSchema,Cn as ServiceRefType,wn as ServiceRefTypeSchema,Gt as SetFileStatusValue,Kt as SetFileStatusValueSchema,Wn as StatisticType,Gn as StatisticTypeSchema,Hn as Territoriality,Un as TerritorialitySchema,Xt as ToServiceType,Zt as ToServiceTypeSchema,Qt as ToSubServiceType,$t as ToSubServiceTypeSchema,Ln as TypeDownloadFile,Rn as TypeDownloadFileSchema,d as apiError,_s as avesClientLayer,ys as createAvesClient,Ce as err,et as fetchHttpLayer,tt as httpClientLayer,ve as isAvesError,$e as makeAvesHttp,bs as makeAvesRuntime,hs as makeAvesTransport,Ge as makeBookingClient,We as makeBookingService,at as makeMasterRecordsClient,it as makeMasterRecordsService,ts as makePackageCatalogClient,es 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": "
|
|
3
|
+
"version": "5.0.0",
|
|
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",
|