aves-sdk 3.1.0 → 4.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -1 +1 @@
1
- import*as e from"valibot";import{ValiError as t,parse as n,safeParse as r}from"valibot";import i from"fast-xml-builder";import{XMLParser as a}from"fast-xml-parser";import{request as o}from"undici";const s={rph:`RPH`,toServiceType:`TOServiceType`,text:`#text`},ee=Object.fromEntries(Object.entries(s).map(([e,t])=>[t,e]));function c(e){return typeof e!=`object`||!e?!1:e instanceof Date||e instanceof RegExp||e instanceof Map||e instanceof Set||e instanceof Error||e instanceof URL||ArrayBuffer.isView(e)||typeof Buffer<`u`&&Buffer.isBuffer(e)}function te(e){return s[e]??e.charAt(0).toUpperCase()+e.slice(1)}function ne(e){return ee[e]??e.charAt(0).toLowerCase()+e.slice(1)}function l(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 re=new WeakMap,ie=new WeakMap;function ae(e){let t=re.get(e);if(t)return t;let{listWrap:n,detailKey:r,...i}=e;return re.set(e,i),i}function oe(e,t){if(!t?.listWrap)return t;let n=ie.get(t);n||(n=new Map,ie.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`)]:ae(t)}};return n.set(e,i),i}function se(e){return ce(e)}function ce(e){if(typeof e!=`object`||!e||c(e))return e;if(Array.isArray(e)){for(let t=0;t<e.length;t++)e[t]=ce(e[t]);return e}let t=e;for(let e of Object.keys(t)){let n=ce(t[e]),r=ne(e.startsWith(`@`)?e.slice(1):e);r!==e&&delete t[e],t[r]=n}return t}const le={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`},ue=new Set([`__proto__`,`prototype`,`constructor`]),u={};for(let[e,t]of Object.entries(le))u[t]||(u[t]=[]),u[t].push(e);const de=new WeakMap;function d(e){return typeof e==`string`&&ue.has(e)}function f(e,t){if(typeof t!=`string`||Reflect.has(e,t))return t;let n=u[t];if(!n)return t;for(let t of n)if(Reflect.has(e,t))return t;return n[0]??t}function p(e){return typeof e!=`object`||!e||c(e)?e:de.get(e)||(Array.isArray(e)?fe(e):pe(e))}function fe(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):p(r)}let r=Reflect.get(e,t,n);return typeof r==`function`?r.bind(e):r},set(e,t,n,r){return!d(t)&&Reflect.set(e,t,n,r)},defineProperty(e,t,n){return!d(t)&&Reflect.defineProperty(e,t,n)},deleteProperty(e,t){return!d(t)&&Reflect.deleteProperty(e,t)},setPrototypeOf(){return!1}});return de.set(e,t),t}function pe(e){let t=new Proxy(e,{get(e,t,n){let r=f(e,t);return p(Reflect.get(e,r,n))},set(e,t,n,r){return!d(t)&&Reflect.set(e,f(e,t),n,r)},has(e,t){return typeof t==`string`&&!Reflect.has(e,t)&&u[t]?.some(t=>Reflect.has(e,t))?!0:Reflect.has(e,f(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=le[e];t&&!n.has(t)&&(n.add(t),r.push(t))}return[...t,...r]},getOwnPropertyDescriptor(e,t){let n=f(e,t),r=Reflect.getOwnPropertyDescriptor(e,n);if(r)return n===t?`value`in r?{...r,value:p(r.value)}:r:{configurable:!0,enumerable:!0,writable:!0,value:p(`value`in r?r.value:Reflect.get(e,n))}},defineProperty(e,t,n){return!d(t)&&Reflect.defineProperty(e,f(e,t),n)},deleteProperty(e,t){return!d(t)&&Reflect.deleteProperty(e,f(e,t))},getPrototypeOf(e){return Reflect.getPrototypeOf(e)},setPrototypeOf(){return!1}});return de.set(e,t),t}function me(e){return p(e)}function m(e){return e.success?{success:!0,data:me(e.data)}:e}var he=class{transport;constructor(e){this.transport=e}async createBooking(e){return m(await this.transport.invokeOp(`createBooking`,e))}async modBookingServices(e){return m(await this.transport.invokeOp(`modBookingServices`,e))}async modBookingHeader(e){return m(await this.transport.invokeOp(`modBookingHeader`,e))}async cancelBooking(e){return m(await this.transport.invokeOp(`cancelBooking`,e))}async setBookingStatus(e){return m(await this.transport.invokeOp(`setBookingStatus`,e))}async setBookingServiceStatus(e){return m(await this.transport.invokeOp(`setBookingServiceStatus`,e))}async insertFilePaymentList(e){return m(await this.transport.invokeOp(`insertFilePaymentList`,e))}async searchBookingFiles(e){return m(await this.transport.invokeOp(`searchBookingFiles`,e))}};function ge(e){return{success:!0,data:e}}function h(e){return{success:!1,error:e}}var _e=class{transport;constructor(e){this.transport=e}async search(e){let t=await this.transport.invokeOp(`search`,e);return t.success?ge(me(t.data.masterRecordList??[])):t}async upsertRecord(e){return m(await this.transport.invokeOp(`upsertRecord`,e))}};function g(t){return e.picklist(Object.values(t))}const ve={M:`M`,F:`F`},ye=g(ve),be={OK:`OK`,ERROR:`ERROR`,WARNING:`WARNING`,TIMEOUT:`TIMEOUT`},xe=g(be),_={CODE:`CODE`,NAME:`NAME`,VATCODE:`VATCODE`,ZONE:`ZONE`,CATEGORY:`CATEGORY`,EMAIL:`EMAIL`,LASTMODDATE:`LASTMODDATE`,SEARCH_FIELD:`SEARCH_FIELD`,EXTERNAL_REF_CODE:`EXTERNAL_REF_CODE`},Se=g(_),Ce={CUSTOMER:`CUSTOMER`,SUPPLIER:`SUPPLIER`,VOUCHER:`VOUCHER`,SUPPLIER_VOUCHER:`SUPPLIER_VOUCHER`,GENERAL:`GENERAL`},we=g(Ce),Te={ENABLED:`ENABLED`,DISABLED:`DISABLED`,WARNING:`WARNING`,BLACKLISTED:`BLACKLISTED`},Ee=g(Te),De={S:`S`,N:`N`,T:`T`,M:`M`},Oe=g(De),ke={CASH:`CASH`,BANK:`BANK`,RID:`RID`,RIBA:`RIBA`,SPECIFIC_CODE:`SPECIFIC_CODE`},Ae=g(ke),je={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`},Me=g(je),Ne={QUOTATION:`QUOTATION`,WORK_IN_PROGRESS:`WORK_IN_PROGRESS`,CONFIRMED:`CONFIRMED`,OPTIONED:`OPTIONED`,CANCELED:`CANCELED`},Pe=g(Ne),Fe={...Ne,NULLIFIED:`NULLIFIED`},Ie=g(Fe),v={QUOTATION:`QUOTATION`,WORK_IN_PROGRESS:`WORK_IN_PROGRESS`,CONFIRM:`CONFIRM`,CONFIRMED:`CONFIRMED`,OPTION:`OPTION`,OPTIONED:`OPTIONED`,REQUEST:`REQUEST`,REQUESTED:`REQUESTED`,NULLIFIED:`NULLIFIED`,CANCELED:`CANCELED`},Le=g(v),Re={TOP:`TOP`,TOP_SS:`TOP_SS`,ADV:`ADV`,GRP:`GRP`,OTHER:`OTHER`},ze=g(Re),Be={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`},Ve=g(Be),He={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`},Ue=g(He),We={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`},Ge=g(We),Ke={CASH:`CASH`,BANK:`BANK`,RID:`RID`,RIBA:`RIBA`,SPECIFIC_CODE:`SPECIFIC_CODE`,NOT_SET:`NOT_SET`},qe=g(Ke),Je={AD:`AD`,CH:`CH`,IN:`IN`,OV:`OV`},Ye=g(Je),Xe={NULLIFY:`NULLIFY`,DELETE:`DELETE`},Ze=g(Xe),Qe={RPH:`RPH`,FILE:`FILE`},$e=g(Qe),et={NOT_SET:`NOT_SET`,CONSIDER_HOLIDAY:`CONSIDER_HOLIDAY`,CONSIDER_HOLIDAY_AND_SATURDAY:`CONSIDER_HOLIDAY_AND_SATURDAY`},tt=g(et),nt={AbsoluteAmountsInsertion:`AbsoluteAmountsInsertion`,FinalAmountToAchieve:`FinalAmountToAchieve`,FinalAmountToAchieveWithoutControls:`FinalAmountToAchieveWithoutControls`},rt=g(nt),it={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`},at=g(it),ot={BOOKING_CUSTOMER:`BOOKING_CUSTOMER`,FIRST_PASSENGER:`FIRST_PASSENGER`},st=g(ot),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`},lt=g(ct),ut={GROUPED_PAX:`GROUPED_PAX`,NOT_GROUPED_PAX:`NOT_GROUPED_PAX`,ONE_PAX_ONLY:`ONE_PAX_ONLY`},dt=g(ut),ft={AVES2AVES:`AVES2AVES`,AVES2AVESVIA:`AVES2AVESVIA`,AVES2AVESITA:`AVES2AVESITA`},pt=g(ft),y={FILE_CODE:`FILE_CODE`,PAX_NAME:`PAX_NAME`,PACKAGE_CODE:`PACKAGE_CODE`,OTHER:`OTHER`},mt=g(y),b={SERVICE:`SERVICE`,PROGRAM:`PROGRAM`,PACKAGE:`PACKAGE`},ht=g(b),gt={GREATER_THAN:`GREATER_THAN`,GREATER_OR_EQUAL:`GREATER_OR_EQUAL`,EQUAL_TO:`EQUAL_TO`,LESS_OR_EQUAL:`LESS_OR_EQUAL`,LESS_THAN:`LESS_THAN`},_t=g(gt),vt={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`},yt=g(vt);var bt=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 searchPackages(e){return m(await this.transport.invokeOp(`searchPackages`,this.#e(e,b.PACKAGE)))}async searchTopServices(e){return m(await this.transport.invokeOp(`searchTopServices`,this.#e(e,b.SERVICE)))}async getPackageDetail(e){return m(await this.transport.invokeOp(`getPackageDetail`,e))}async commitPackage(e){return m(await this.transport.invokeOp(`commitPackage`,e))}};const xt={VALIDATION:`validation`,API:`api`,UNKNOWN:`unknown`};var x=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 S(e){return new x(xt.VALIDATION,e)}function St(e,t,n){return new x(xt.API,e,t,n)}function Ct(e){return new x(xt.UNKNOWN,e)}function wt(e,n){return e instanceof x?e:e instanceof t?S(`Validation error: ${Tt(e.issues)}`):e instanceof Error?Ct(e.message):Ct(n)}function Tt(e){return e.map(Et).join(`; `)}function Et(e){let t=Dt(e.path),n=e.message??`Invalid value`;return t?`${t}: ${n}`:n}function Dt(e){if(!e||e.length===0)return;let t=e.map(Ot).filter(e=>e!==void 0);return t.length>0?t.join(`.`):void 0}function Ot(e){if(typeof e==`string`||typeof e==`number`)return String(e);if(typeof e==`object`&&e&&`key`in e)return String(e.key)}function kt(e){return e instanceof Error&&e.name===`AbortError`}const At=e=>e<200||e>299,jt={ignoreAttributes:!1,attributeNamePrefix:`@`,parseAttributeValue:!1,trimValues:!0,ignoreNameSpace:!0,removeNSPrefix:!0,parseTagValue:!1},Mt={ignoreAttributes:!1,attributeNamePrefix:`@`,suppressEmptyNode:!0},Nt=new a(jt),Pt=new i(Mt);function Ft(e){try{return Pt.build(e)}catch(e){throw S(`Failed to convert JSON to XML: ${e instanceof Error?e.message:`Unknown error`}`)}}function It(e){try{return Nt.parse(e)}catch(e){throw S(`Failed to convert XML to JSON: ${e instanceof Error?e.message:`Unknown error`}`)}}const C={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 Lt(e,t){return{[e]:t}}function Rt(e,t,n){let r=e.bodyKey?{[e.bodyKey]:t}:t;return Lt(e.requestRoot,{RqHeader:n,...r})}function zt(e){return typeof e==`string`?e:e instanceof Uint8Array||Buffer.isBuffer(e)?Buffer.from(e).toString(`utf8`):String(e)}async function Bt(e,t){let n=``;for await(let r of e){if(n.length>=t)continue;let e=zt(r),i=t-n.length;n+=e.length<=i?e:e.slice(0,i)}return n}function Vt(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 Ht(e,t){if(!t.startsWith(`/`))throw S(`Invalid endpoint: endpoint must start with '/' but got '${t}'`);let n;try{n=new URL(e)}catch(e){throw S(`Invalid baseURL: ${e instanceof Error?e.message:`Invalid URL format`}`)}if(n.protocol!==`http:`&&n.protocol!==`https:`)throw S(`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 Ut={"Content-Type":`application/xml`};var Wt=class{options;urlByEndpoint=new Map;constructor(e){this.options=e}async postXml(e,t){let{signal:n,clear:r}=Vt(this.options.timeoutMs??3e4);try{let r=await o(this.resolveUrl(e),{method:`POST`,headers:Ut,body:t,signal:n}),i=At(r.statusCode),a=i?await Bt(r.body,4096):await r.body.text();return i?h(St(a,`ERROR`,r.statusCode)):ge({statusCode:r.statusCode,body:a})}catch(e){return kt(e)?h(St(`Request timed out`,`TIMEOUT`)):h(wt(e,`Unknown error occurred`))}finally{r?.()}}resolveUrl(e){let t=this.urlByEndpoint.get(e);if(t)return t;let n=Ht(this.options.baseURL,e);return this.urlByEndpoint.set(e,n),n}};const w={customerCode:`customerRecordCode`,bookingCode:`bookingFileCode`,bookingReference:`bookingFileRefCode`},Gt={noteType:`nType`},Kt={passengerRef:`rph`,roomRef:`roomRph`,gender:`sex`,email:`eMail`,identityDocument:`idDocInfo`},qt={serviceCode:`sCode`,subServiceCode:`ssCode`,quantity:`qty`,passengerCount:`pax`,session:`avesSession`,passengerRefs:`paxAssociated`,serviceType:`avesServiceType`,targetType:`toServiceType`,notes:`noteList`},Jt={packageCode:`pCode`,includeServices:`getServicesFromPackage`},Yt={...w,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`},Xt={...w,package:`selectedPackageDetail`,packages:`selectedPackageList`,services:`selectedServiceList`,passengers:`passengerList`,deadlines:`deadlineList`,cancellableServices:`cancellableBookedServiceList`},Zt={...w,startDate:`bookingFileStartDate`,newCustomerCode:`newCustomerRecordCode`,referenceName:`bookingFileReferenceName`,passengers:`passengerList`,financial:`bookingFinancialInfo`,financialDeadlines:`financialDeadlineList`},Qt={...w,status:`fileStatus`,documents:`bookingFileDocument`},$t={...w,serviceReference:`bookingServiceRef`,serviceStatus:`bookingFileServiceStatus`,serviceStatusDate:`bookingFileServiceStatusDate`},en={...w,payments:`filePaymentList`},T={...w,status:`fileStatus`},tn={financial:`financialDetail`,identityDocument:`idDocumentDetail`,policies:`accountPolicies`,customFields:`dynamicFields`,supplierReference:`supplierRefMasterRecords`},nn={...w,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`},rn={allDepartureDates:`getAllDeptDate`,allAccommodation:`getAllAccomodation`,compatibleAccommodation:`compatibleAccomodation`,alternativeAccommodation:`alternativeAccomodation`},an={...w,services:`selectedServiceList`,passengers:`passengerList`},on=e.pipe(e.string(),e.minLength(2),e.maxLength(2)),E=e.optional(on),D=e.union([e.string(),e.number()]),O=e.union([e.string(),e.number(),e.boolean()]),k=e.object({minDate:e.string(),maxDate:e.string()}),sn=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":E}),cn=e.optional(e.string()),A=e.pipe(e.object({"@Status":xe,ErrorCode:e.optional(e.pipe(D,e.transform(e=>Number(e)))),ErrorDescription:e.optional(e.string()),Warnings:cn}),e.transform(e=>({status:e[`@Status`],errorCode:e.ErrorCode,errorDescription:e.ErrorDescription,warnings:e.Warnings}))),ln=P(e.object({RsStatus:A})),un={financialDeadlineList:`deadlineDetail`};function dn(e,t){return t?.detailKey??un[e]??(e.endsWith(`List`)?`${e.slice(0,-4)}Detail`:`${e}Detail`)}function fn(e){return Array.isArray(e)?e.length?e.every(e=>typeof e==`string`)?e.map(e=>({pax:e})):e:``:e}function j(e,t){if(typeof e!=`object`||!e||c(e))return e;if(Array.isArray(e))return e.map(e=>j(e,t));let n={};for(let[r,i]of Object.entries(e)){let e=t?.children?.[r],a=r===`paxAssociated`?fn(i):i;if(e?.listWrap&&Array.isArray(a)){let i=l(dn(r,e)),o=a.map(t=>j(t,ae(e)));n[l(r,t)]=e.listWrap===`one`?o.map(e=>({[i]:e})):{[i]:o};continue}n[l(r,t)]=j(a,oe(r,e))}return n}function pn(e,t){return j(e,t)}function M(t,n){return e.pipe(t,e.transform(e=>pn(e,n)))}function mn(t){return e.pipe(e.union([e.array(t),t]),e.transform(e=>Array.isArray(e)?e:[e]))}function N(t,n){let r=e.optional(mn(n));return e.pipe(e.object({[t]:r}),e.transform(e=>e[t]??[]))}function P(t){return e.pipe(t,e.transform(e=>se(e)))}function F(t,n){let r={[t]:e.optional(n)};return P(e.object({RsStatus:A,...r}))}function hn(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 gn(t,n){return e.pipe(P(t),e.transform(e=>hn(n)(e)))}function _n(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 vn(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 yn(e){let{customerRecordCode:t,customerDetail:n,...r}=e;return{...r,customerDetail:{...n,recordCode:n?.recordCode??t}}}function bn(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 I(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]=Sn(n)?n:e.optional(n),Sn(n)||(r[o]=e.optional(n)))}return e.pipe(e.object(r),e.transform(bn(i)),e.object(t))}function xn(e){return e.type===`object`&&`entries`in e}function Sn(e){return e.type===`optional`&&`wrapped`in e}function Cn(e){return e.type===`array`&&`item`in e}function wn(t,n){if(Sn(t)){let r=wn(t.wrapped,n);return t.default===void 0?e.optional(r):e.optional(r,t.default)}return Cn(t)?mn(wn(t.item,n)):xn(t)?Tn(t,n):t}function Tn(t,n,r){let i={};for(let e in t.entries){let r=n.children?.[e]??{};i[l(e,n)]=wn(t.entries[e],r)}return e.object({...i,...r})}function En(e,t={},n){return Tn(e,t,n)}function L(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 R(e,t){return{api:M(e,t),validation:En(e,t)}}function z(e){return e}function B(...e){return z({attrs:e})}function Dn(...e){return z({attrs:e,preserveCamel:e})}function On(e,t){return z({attrs:e,preserveCamel:t})}function V(e){return z({children:e})}function H(e,t){return z({attrs:e,children:t})}function U(e,t,n){return z(n?{...e,listWrap:t,detailKey:n}:{...e,listWrap:t})}function W(e,...t){return U(B(...t),e)}function kn(e){return{one:U(e,`one`),many:U(e,`many`)}}B(`hostID`,`xtoken`,`interface`,`userName`,`status`,`languageCode`);const An=B(`currencyCode`,`creditLimit`,`c_PaymentType`,`c_SpecPaymentTypeCode`,`s_PaymentType`,`s_SpecPaymentTypeCode`,`enableElectronicInvoicing`,`electronicInvoicingType`),jn=B(`idType`,`idCode`,`idIssueLocation`,`idIssueCounty`,`idIssueDate`,`idExpireDate`),Mn=B(`acceptProfilingPolicies`,`acceptPrivacyPolicies`,`acceptNewsletterPolicies`),Nn=B(`key`,`value`),Pn=B(`supplierRefCode`,`companyMainBusinessType`,`carrierType`),Fn=H([`recordCode`,`insertCriteria`],{financialDetail:An,idDocumentDetail:jn,accountPolicies:Mn,dynamicFields:Nn,supplierRefMasterRecords:Pn}),G=B(`minDate`,`maxDate`),In=V({lastModificationDate:G}),Ln=Dn(`sCode1`,`sCode2`,`sCode3`,`sCode4`,`sCode5`,`sCode6`),Rn=B(`code`,`iataCode`,`nationCode`,`type`),zn=B(`nType`,`title`),Bn=U(zn,`many`),Vn=H([`rph`,`roomRph`,`billingHolder`],{notes:U(zn,`many`,`noteDetail`),idDocInfo:jn}),Hn=B(`currencyCode`,`exchangeRate`,`cost`,`costTax`,`costType`,`vatCostCurrencyCode`,`price`,`priceTax`,`priceType`),Un=On([`pCode`,`startDate`,`endDate`,`getServicesFromPackage`],[`pCode`]),K=kn(z({...On([`sCode`,`ssCode`],[`sCode`,`ssCode`]),children:{serviceFare:Hn,avesServiceInfo:V({serviceFare:Hn}),noteList:Bn}})),q=kn(Vn);q.one,q.many;const Wn=U(Un,`many`),Gn=W(`many`,`deadlineCode`,`description`,`expireDate`),Kn=W(`many`,`reschedulingCode`,`description`,`expireDate`),qn=U(B(`reschedulingCode`,`expireDate`,`totalAmount`),`many`,`deadlineDetail`),Jn=U(z({...B(`paymentDate`,`paymentNote`,`amount`,`paymentUser`,`paymentType`),rename:{paymentNote:`PaumentNote`}}),`many`),Yn=W(`many`,`paymentDate`,`paymentNote`,`payerMasterCode`,`payerName`,`amount`,`paymentType`),Xn=W(`many`,`cancelOperationType`,`serviceRefType`,`serviceRefValue`),Zn=H([`printDoc`,`sendDocViaEmail`],{infoDocumentsToPrint:V({documentCustomizablePrintParameters:B(`makeDocumentTo`,`fillInCode`)})}),Qn=B(`value`,`expiredDate`),$n=B(`recordCode`),er=B(`customer_PaymentType`,`customer_SpecPaymentTypeCode`),tr=B(`getAllDeptDate`,`getFlightPlan`,`getAllAccomodation`,`getRealAvailability`),nr=B(`compatibleAccomodation`,`alternativeAccomodation`),rr=W(`many`,`code`,`name`),ir=B(`value`,`expiredDate`,`optionedFileExpireDatePolicy`),ar=B(`apply`,`specificCode`),or={customerDetail:$n,bookingFileStatus:Qn,statisticCodes:Ln,destination:Rn,bookingFileDocument:Zn,bookingFinancialInfo:er,selectedPackageDetail:Un,selectedPackageList:Wn,financialDeadlineList:qn,paymentList:Jn,cancellableBookedServiceList:Xn,noteList:Bn},sr=V({...or,deadlineList:Gn,selectedServiceList:K.one,extraQuoteServiceList:K.one,passengerList:q.one}),cr=V({...or,deadlineList:Kn,selectedServiceList:K.many,extraQuoteServiceList:K.many,passengerList:q.many}),lr=H([`paymentUser`],{filePaymentList:Yn}),ur=V({fileStatus:B(`value`,`expireDate`),startDate:G,createdDate:G,lastModificationDate:G,insurance:B(`code`,`number`)}),dr=V({statisticCodes:Ln,selectedServiceList:U(B(`serviceCode`,`packageRow`),`many`),passengerList:q.many}),fr=V({passengerList:q.many}),pr=V({destination:Rn,statisticCodes:Ln,packageParams:tr,topServiceParams:nr,featureList:rr}),mr=V({fileStatus:ir,penalty:ar,bookingFileDocument:Zn}),hr=z({}),J=e.union([e.literal(`true`),e.literal(`false`),e.boolean()]),gr={[v.CONFIRM]:`CONFIRMED`,[v.OPTION]:`OPTIONED`,[v.REQUESTED]:`REQUEST`};function _r(e){return e in gr?gr[e]:e}const vr=e.pipe(e.object({"@Value":Le,"@ExpiredDate":e.optional(e.string()),"@ExpireDate":e.optional(e.string())}),e.transform(e=>({...L(e,{"@ExpiredDate":[`@ExpiredDate`,`@ExpireDate`]}),"@Value":_r(e[`@Value`])}))),yr=N(`PricePerPaxDetail`,e.object({"@PaxRef":e.string(),"@Price":D})),br=e.object({"@CommissionCode":e.optional(e.string()),"@CommissionPercentage":e.optional(D),"@CommissionAmount":e.optional(D),"@PriceListCode":e.optional(e.string()),"@CostListCode":e.optional(e.string()),"@ServiceTotalPrice":e.optional(D),PaxPriceList:e.optional(yr)}),xr=e.object({"@Code":e.optional(e.string()),"@Name":e.optional(e.string()),"@Email":e.optional(e.string()),"@LanguageCode":e.optional(e.string())}),Sr=e.object({"@Code":e.optional(e.string()),"@Description":e.optional(e.string())}),Cr=e.object({"@RPH":e.string(),"@ServiceCode":e.optional(e.string()),"@FromExternalProvider":e.optional(D),"@isFromExternalProvider":e.optional(D),AvesServiceType:e.optional(ze),TOServiceType:e.optional(Ve),FirstDescription:e.optional(e.string()),SecondDescription:e.optional(e.string()),ThirdDescription:e.optional(e.string()),FourthDescription:e.optional(e.string()),ServiceStatus:e.optional(Ue),StartDate:e.optional(e.string()),EndDate:e.optional(e.string()),Qty:e.optional(D),Pax:e.optional(D),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(Sr),SupplierInfo:e.optional(xr),ServiceTotalAmountDetail:e.optional(br)}),wr=N(`BookedServiceDetail`,e.pipe(Cr,e.transform(e=>L(e,{"@FromExternalProvider":[`@FromExternalProvider`,`@isFromExternalProvider`]})))),Tr=e.object({"@CurrencyCode":e.optional(e.string()),"@TotalAmountBeforeDiscount":e.optional(D),"@TotalAmountAfterDiscount":e.optional(D),"@TotalDiscount":e.optional(D),"@TotalAmountWithoutVat":e.optional(D),"@DueAmount":e.optional(D),"@PaiedAmount":e.optional(D),"@Balance":e.optional(D)}),Er=N(`PassengerDetail`,e.object({"@RPH":e.string(),"@RoomRPH":e.optional(e.string()),"@BillingHolder":e.optional(D),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())})),Dr=e.object({"@ReschedulingCode":e.optional(e.string()),"@ExpireDate":e.optional(e.string()),"@TotalAmount":e.optional(D),ReschedulingCode:e.optional(e.string()),ExpireDate:e.optional(e.string()),TotalAmount:e.optional(D)}),Or=N(`DeadlineDetail`,e.pipe(Dr,e.transform(e=>L(e,{"@ReschedulingCode":[`@ReschedulingCode`,`ReschedulingCode`],"@ExpireDate":[`@ExpireDate`,`ExpireDate`],"@TotalAmount":[`@TotalAmount`,`TotalAmount`]})))),kr=N(`StoredDocumentDetail`,e.object({DocumentRefCode:e.optional(e.string()),DocumentType:e.optional(e.string()),DocumentName:e.optional(e.string()),ArchiviationDescription:e.optional(e.string())})),Ar=N(`PrintableDocumentDetail`,e.object({DocumentType:e.optional(e.string()),DocumentName:e.optional(e.string()),Enabled:e.optional(D)})),jr=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(vr),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(wr),TotalAmountDetail:e.optional(Tr),PaxNumber:e.optional(D),PassengerList:e.optional(Er),Reference:e.optional(e.string()),ClerkName:e.optional(e.string()),StoredDocumentsList:e.optional(kr),PrintableDocumentsList:e.optional(Ar),FinancialDeadlineList:e.optional(Or)}),Mr=e.pipe(jr,e.transform(e=>L(e,{"@BookingFileCode":[`@BookingFileCode`,`BookingFileCode`]}))),Nr=e.object({currencyCode:e.optional(e.string()),creditLimit:e.optional(e.string()),c_PaymentType:e.optional(Ae),c_SpecPaymentTypeCode:e.optional(e.string()),s_PaymentType:e.optional(Ae),s_SpecPaymentTypeCode:e.optional(e.string()),enableElectronicInvoicing:e.optional(J),electronicInvoicingType:e.optional(e.string())}),Pr=R(Nr,An);Pr.api,Pr.validation;const Fr=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())}),Ir=R(Fr,jn);Ir.api,Ir.validation;const Lr=e.object({key:e.string(),value:e.string()});En(Lr,Nn);const Rr=e.object({supplierRefCode:e.optional(e.string()),companyMainBusinessType:e.optional(e.string()),carrierType:e.optional(Me)}),zr=R(Rr,Pn);zr.api,zr.validation;const Br=e.union([e.literal(0),e.literal(1)]),Vr=e.object({acceptProfilingPolicies:e.optional(Br),acceptPrivacyPolicies:e.optional(Br),acceptNewsletterPolicies:e.optional(Br)}),Hr=R(Vr,Mn);Hr.api,Hr.validation;const Ur={recordCode:e.optional(e.pipe(e.string(),e.minLength(6),e.maxLength(6))),insertCriteria:e.optional(Oe),createdDate:e.optional(e.string()),recordType:e.optional(we,Ce.CUSTOMER),recordStatus:e.optional(Ee,Te.ENABLED),moniker:e.optional(e.string()),name:e.optional(e.string()),extraInfo:e.optional(e.string()),languageCode:on,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(ye),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(Fr),accountPolicies:e.optional(Vr),financialDetail:e.optional(Nr),dynamicFields:e.optional(e.array(Lr)),supplierRefMasterRecords:e.optional(Rr)},Wr=M(I(Ur,tn),Fn),Gr=e.partial(En(e.object(Ur),Fn,{ModifiedDate:e.optional(e.string()),LoginType:e.optional(e.string()),PromoterCode:e.optional(e.string()),EncryptedPassword:e.optional(J),NewsletterDisabled:e.optional(J)}));P(Gr);const Kr=_n(Pe,{expiredDate:e.optional(e.string())}),qr=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)))}),Jr=e.object({code:e.optional(e.string()),iataCode:e.optional(e.string()),nationCode:e.optional(e.string()),type:e.optional(yt)}),Yr=e.object({recordCode:e.optional(e.string())}),Xr=e.object({makeDocumentTo:e.optional(st)}),Zr=e.object({fillInCode:e.optional(e.string())}),Qr=e.union([Xr,Zr]),$r=e.object({documentType:at,documentCustomizablePrintParameters:e.optional(Qr)}),ei=e.object({printDoc:e.optional(J),sendDocViaEmail:e.optional(J),infoDocumentsToPrint:e.optional(e.array($r))}),ti=e.object({reschedulingCode:e.optional(e.string()),expireDate:e.optional(e.string()),totalAmount:e.optional(e.string())}),ni=e.object({deadlineCode:e.optional(e.string()),description:e.optional(e.string()),expireDate:e.optional(e.string())}),ri=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(Ge)}),ii=I({nType:e.optional(e.string()),title:e.optional(e.string()),text:e.optional(e.string())},Gt),ai=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(lt),vatCostCurrencyCode:e.optional(e.string()),price:e.optional(e.string()),priceTax:e.optional(e.string()),priceType:e.optional(lt)}),oi=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(ai)}),si=I({sCode:e.string(),ssCode:e.optional(e.string()),avesServiceType:ze,toServiceType:e.optional(Ve),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(oi),serviceFare:e.optional(ai),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(ii)),voucherInfo:e.optional(e.string()),firstDescription:e.optional(e.string()),secondDescription:e.optional(e.string())},qt),ci=I({pCode:e.string(),startDate:e.string(),endDate:e.string(),getServicesFromPackage:e.optional(J)},Jt),li={rph:e.string(),roomRph:e.optional(e.string()),billingHolder:e.optional(J),masterRecordCode:e.optional(e.string()),name:e.string(),sex:ye,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(ii)),flagStatus:e.optional(e.string()),offerCode:e.optional(e.string()),idDocInfo:e.optional(Fr)},ui=I({...li,categoryCode:Ye},Kt),di=I({...li,categoryCode:e.optional(Ye)},Kt),fi=e.object({customer_PaymentType:e.optional(qe),customer_SpecPaymentTypeCode:e.optional(e.string())}),pi=M(e.pipe(I({createDate:e.optional(e.string()),bookingFileRefCode:e.optional(e.string()),travelAgentCode:e.optional(e.string()),clerkName:e.optional(e.string()),customerDetail:e.optional(Yr),customerRecordCode:e.optional(e.string()),currencyCode:e.optional(e.string()),markupCode:e.optional(e.string()),bookingFileStatus:Kr,statisticCodes:e.optional(qr),destination:e.optional(Jr),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(ei),financialDeadlineList:e.optional(e.array(ti)),deadlineList:e.optional(e.array(ni)),paymentList:e.optional(e.array(ri)),selectedPackageList:e.optional(e.array(ci)),selectedServiceList:e.array(si),extraQuotaRefCode:e.optional(e.string()),extraQuoteServiceList:e.optional(e.array(si)),getExtraQuoteFromSystem:e.optional(J),passengerList:e.array(ui),noteList:e.optional(e.array(ii)),bookingFinancialInfo:e.optional(fi),bookingFileCode:e.optional(e.string()),groupingPaxPolicy:e.optional(dt),groupBookingFile:e.optional(J),typeDownloadFile:e.optional(pt),setBookingFileCodeFromStartDate:e.optional(J)},Yt),e.check(e=>!!(e.customerDetail||e.customerRecordCode),`customerDetail or customerRecordCode is required`),e.transform(yn)),sr),mi=gn(e.object({RsStatus:A,BookingFileDetail:e.optional(Mr),PrintableDocumentsList:e.optional(Ar),TotalAmountDetailAfterCancellation:e.optional(Tr),Base64DocContent:e.optional(e.string())}),`bookingFileDetail`),hi=ln,Y={customerRecordCode:e.string(),bookingFileCode:e.string()},gi=mi,_i=e.object({reschedulingCode:e.string(),description:e.optional(e.string()),expireDate:e.optional(e.string())}),vi=e.object({cancelOperationType:Ze,serviceRefType:$e,serviceRefValue:e.string()}),yi=M(e.pipe(I({...Y,currencyCode:e.optional(e.string()),deadlineList:e.optional(e.array(_i)),selectedPackageDetail:e.optional(ci),selectedPackageList:e.optional(e.pipe(e.array(ci),e.maxLength(1))),selectedServiceList:e.pipe(e.array(si),e.minLength(1)),cancellableBookedServiceList:e.optional(e.array(vi)),passengerList:e.optional(e.array(di))},Xt),e.transform(vn(`selectedPackageList`,`selectedPackageDetail`))),cr),bi=M(I({...Y,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(di)),statisticCodes:e.optional(qr),bookingFinancialInfo:e.optional(fi),financialDeadlineList:e.optional(e.array(e.object({reschedulingCode:e.string(),expireDate:e.string(),totalAmount:e.string()})))},Zt),cr),xi=M(I(Y,w),hr),Si=M(I({...Y,fileStatus:_n(Ie,{expiredDate:e.optional(e.string()),optionedFileExpireDatePolicy:e.optional(tt)}),backOfficeRequest:e.optional(J),bookingFileDocument:e.optional(ei),penalty:e.optional(e.object({apply:e.optional(J),specificCode:e.optional(e.string())})),simulateCancelAndGetPenaltyAmount:e.optional(J)},Qt),mr),Ci=M(I({...Y,bookingServiceRef:e.string(),bookingFileServiceStatus:e.literal(`NULLIFIED`),bookingFileServiceStatusDate:e.optional(e.string())},$t),hr),wi=e.object({paymentDate:e.string(),paymentNote:e.optional(e.string()),payerMasterCode:e.optional(e.string()),payerName:e.optional(e.string()),amount:e.string(),paymentType:Ge}),Ti=M(e.pipe(I({bookingFileCode:e.optional(e.string()),bookingFileRefCode:e.optional(e.string()),paymentUser:e.optional(e.string()),enableMultiplePayments:J,operationType:rt,filePaymentList:e.pipe(e.array(wi),e.minLength(1))},en),e.check(e=>!!(e.bookingFileCode||e.bookingFileRefCode),`bookingFileCode or bookingFileRefCode is required`)),lr),Ei=N(`FeatureDetail`,e.object({"@Code":e.optional(e.string()),"@Name":e.optional(e.string()),ValueCode:e.optional(e.string()),ValueName:e.optional(e.string())})),Di=e.object({"@PackageCode":e.optional(e.string()),"@PackageReference":e.optional(e.string()),"@PackageServiceType":e.optional(e.string()),"@ServiceCodeForPackageDetail":e.optional(e.string())}),Oi=N(`SubServiceDetail`,e.object({"@ssCode":e.optional(e.string()),FirstDescription:e.optional(e.string()),SubServiceType:e.optional(e.string()),SubServiceLevel:e.optional(O),StartDate:e.optional(e.string()),EndDate:e.optional(e.string())})),ki=N(`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(Di),SubServiceList:e.optional(Oi)})),Ai=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(O),BasePax:e.optional(O),CanCommitPack:e.optional(O),FeatureList:e.optional(Ei),ServiceList:e.optional(ki)}),ji=N(`PackageDetail`,Ai),Mi=e.object({code:e.string(),name:e.optional(e.string())}),Ni=I({getAllDeptDate:e.optional(J),getFlightPlan:e.optional(J),getAllAccomodation:e.optional(J),getRealAvailability:e.optional(J),minStay:e.optional(D),maxStay:e.optional(D)},rn),Pi=I({compatibleAccomodation:e.optional(J),alternativeAccomodation:e.optional(J)},rn),Fi=I({customerRecordCode:e.string(),languageCode:E,currencyCode:e.optional(e.string()),startDate:e.string(),endDate:e.string(),earlyBookingDate:e.optional(e.string()),passengerList:e.pipe(e.array(ui),e.minLength(1)),avesSearchType:e.optional(ht),paxQty:e.optional(D),paxQtyCriteria:e.optional(_t),discartNotAvailables:e.optional(J),discartNotAvailablesMinSales:e.optional(J),discartNotAvailablesDaysInOut:e.optional(J),discardPriceZero:e.optional(J),discardZeroPriceDays:e.optional(J),destination:e.optional(Jr),objectTypeCode:e.optional(e.string()),featureList:e.optional(e.array(Mi)),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(qr),mergeBoardAndAccomodation:e.optional(J),packageParams:e.optional(Ni),topServiceParams:e.optional(Pi),getDocumentation:e.optional(J)},nn),Ii=e.pipe(Fi,e.check(e=>e.languageCode!=null&&e.avesSearchType!=null,`languageCode and avesSearchType required`));function Li(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:pn({customerRecordCode:t,languageCode:n,currencyCode:r,startDate:i,endDate:a,earlyBookingDate:o,passengerList:s},fr),...pn({...ne,avesSearchType:te,paxQty:ee??s.length,paxQtyCriteria:c??gt.GREATER_OR_EQUAL},pr)}}const Ri=e.pipe(Ii,e.transform(Li)),zi=F(`PackageList`,ji),Bi=F(`ServiceList`,ki),Vi=e.object({serviceCode:e.string(),packageRow:e.string()}),Hi=M(I({customerRecordCode:e.string(),languageCode:E,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(qr),selectedServiceList:e.pipe(e.array(Vi),e.minLength(1)),passengerList:e.optional(e.array(ui))},an),dr),Ui=gn(e.object({RsStatus:A,PackageDetail:e.optional(Ai)}),`packageDetail`),Wi=M(e.object({packageCode:e.string()}),hr),Gi=ln,Ki=k,X=E,qi=e.object({searchType:e.literal(_.CODE),recordCode:e.pipe(e.string(),e.minLength(5),e.maxLength(6)),languageCode:X}),Ji=e.object({searchType:e.literal(_.NAME),name:e.string(),city:e.optional(e.string()),languageCode:X}),Yi=e.object({searchType:e.literal(_.VATCODE),vatCode:e.string(),phoneNumber:e.optional(e.string()),languageCode:X}),Xi=e.object({searchType:e.literal(_.ZONE),zipCode:e.string(),countyCode:e.string(),city:e.optional(e.string()),languageCode:X}),Zi=e.object({searchType:e.literal(_.CATEGORY),categoryCode:e.string(),languageCode:X}),Qi=e.object({searchType:e.literal(_.EMAIL),email:e.string(),languageCode:X}),$i=e.object({searchType:e.literal(_.LASTMODDATE),lastModificationDate:Ki,languageCode:X}),ea=e.object({searchType:e.literal(_.SEARCH_FIELD),searchFieldValue:e.string(),languageCode:X}),ta=e.object({searchType:e.literal(_.EXTERNAL_REF_CODE),searchFieldValue:e.string(),languageCode:X}),na=M(e.union([qi,Ji,Yi,Xi,Zi,Qi,$i,ea,ta]),In);e.pipe(e.object({RqHeader:sn,SearchMasterRecord:na}),e.transform(e=>{let{SearchMasterRecord:t,RqHeader:n,...r}=e;return{RqHeader:n,...t,...r}}));const ra=F(`MasterRecordList`,N(`MasterRecordDetail`,Gr)),ia=_n(Le,{expireDate:e.optional(e.string())}),aa=e.object({code:e.optional(e.string()),number:e.optional(e.string())}),Z={customerRecordCode:e.string(),customerPromoterCode:e.optional(e.string()),getSupplierInfo:e.optional(J),user:e.optional(e.string()),officeCode:e.optional(e.string())},oa=I({...Z,searchType:e.literal(y.FILE_CODE),bookingFileCode:e.string()},T),sa=I({...Z,searchType:e.literal(y.PAX_NAME),firstPaxName:e.string()},T),ca=I({...Z,searchType:e.literal(y.PACKAGE_CODE),packageCode:e.string()},T),la=I({...Z,searchType:e.literal(y.OTHER),fileStatus:e.optional(ia),startDate:e.optional(k),createdDate:e.optional(k),lastModificationDate:e.optional(k),insurance:e.optional(aa),isSearchForB2C:e.optional(J)},T),ua=M(e.union([oa,sa,ca,la]),ur),da=F(`BookingFileList`,N(`BookingFileDetail`,Mr));e.object({RqHeader:sn,MasterRecordDetail:Gr});const fa=gn(e.object({RsStatus:A,MasterRecordDetail:e.optional(Gr)}),`masterRecordDetail`),Q={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 $(e){return e}const pa={search:$({endpoint:Q.search,requestRoot:C.SEARCH_REQUEST,responseRoot:C.SEARCH_RESPONSE,apiSchema:na,responseSchema:ra}),upsertRecord:$({endpoint:Q.upsert,requestRoot:C.UPSERT_REQUEST,responseRoot:C.UPSERT_RESPONSE,apiSchema:Wr,responseSchema:fa,bodyKey:`MasterRecordDetail`}),createBooking:$({endpoint:Q.createBooking,requestRoot:C.BOOKING_REQUEST,responseRoot:C.BOOKING_RESPONSE,apiSchema:pi,responseSchema:mi}),modBookingServices:$({endpoint:Q.modBookingServices,requestRoot:C.MOD_FILE_SERVICES_REQUEST,responseRoot:C.BOOKING_RESPONSE,apiSchema:yi,responseSchema:gi}),modBookingHeader:$({endpoint:Q.modBookingHeader,requestRoot:C.MOD_FILE_HEADER_REQUEST,responseRoot:C.MOD_FILE_HEADER_RESPONSE,apiSchema:bi,responseSchema:hi}),cancelBooking:$({endpoint:Q.cancelBooking,requestRoot:C.CANCEL_FILE_REQUEST,responseRoot:C.CANCEL_FILE_RESPONSE,apiSchema:xi,responseSchema:hi}),setBookingStatus:$({endpoint:Q.setBookingStatus,requestRoot:C.SET_STATUS_REQUEST,responseRoot:C.SET_STATUS_RESPONSE,apiSchema:Si,responseSchema:gi}),setBookingServiceStatus:$({endpoint:Q.setBookingServiceStatus,requestRoot:C.SET_STATUS_SERVICE_REQUEST,responseRoot:C.SET_STATUS_SERVICE_RESPONSE,apiSchema:Ci,responseSchema:gi}),insertFilePaymentList:$({endpoint:Q.insertFilePaymentList,requestRoot:C.FILE_PAYMENT_LIST_REQUEST,responseRoot:C.FILE_PAYMENT_LIST_RESPONSE,apiSchema:Ti,responseSchema:hi}),searchBookingFiles:$({endpoint:Q.searchBookingFile,requestRoot:C.SEARCH_BOOKING_FILE_REQUEST,responseRoot:C.SEARCH_BOOKING_FILE_RESPONSE,apiSchema:ua,responseSchema:da}),searchPackages:$({endpoint:Q.searchAvesPackages,requestRoot:C.AVES_SEARCH_REQUEST,responseRoot:C.SEARCH_PACKAGE_RESPONSE,apiSchema:Ri,responseSchema:zi}),searchTopServices:$({endpoint:Q.searchTopServices,requestRoot:C.AVES_SEARCH_REQUEST,responseRoot:C.SEARCH_SERVICES_RESPONSE,apiSchema:Ri,responseSchema:Bi}),getPackageDetail:$({endpoint:Q.getPackageDetail,requestRoot:C.PACKAGE_DETAIL_REQUEST,responseRoot:C.PACKAGE_DETAIL_RESPONSE,apiSchema:Hi,responseSchema:Ui}),commitPackage:$({endpoint:Q.commitPackage,requestRoot:C.COMMIT_PACKAGE_REQUEST,responseRoot:C.COMMIT_PACKAGE_RESPONSE,apiSchema:Wi,responseSchema:Gi})};function ma(e,t,n){let i=It(e)[t];if(!i)return h(S(`Invalid response structure: missing root element '${t}'`));let a=r(n,i);return a.success?ha(a.output):h(S(`Invalid response format: ${Tt(a.issues)}`))}function ha(e){let{rsStatus:t}=e;return t.status===`OK`?ge(e):h(St(t.errorDescription??``,t.status,t.errorCode))}function ga(e){return{"@HostID":e.hostID,"@Xtoken":e.xtoken,"@Interface":`WEB`,"@UserName":`WEB`,...e.languageCode&&{"@LanguageCode":e.languageCode}}}var _a=class{options;http;rqHeader;constructor(e){this.options=e,this.http=new Wt({baseURL:e.baseURL,timeoutMs:e.timeoutMs}),this.rqHeader=Object.freeze(ga(e))}get languageCode(){return this.options.languageCode}createRqHeader(){return this.rqHeader}async invokeOp(e,t){let r=pa[e];try{let e=Rt(r,n(r.apiSchema,t),this.rqHeader),i=await this.http.postXml(r.endpoint,Ft(e));return i.success?ma(i.data.body,r.responseRoot,r.responseSchema):i}catch(t){return h(wt(t,`Validation error occurred during ${e}`))}}},va=class{transport;master;booking;packages;constructor(e,t={}){this.transport=t.transport??new _a(e),this.master=t.master??new _e(this.transport),this.booking=t.booking??new he(this.transport),this.packages=t.packages??new bt(this.transport)}};export{va as AvesClient,x as AvesError,b as AvesSearchType,ht as AvesSearchTypeSchema,Re as AvesServiceType,ze as AvesServiceTypeSchema,_a as AvesTransport,He as BookedServiceStatus,Ue as BookedServiceStatusSchema,he as BookingClient,Ne as BookingFileStatus,Pe as BookingFileStatusSchema,v as BookingFileStatusWire,Le as BookingFileStatusWireSchema,Xe as CancelOperationType,Ze as CancelOperationTypeSchema,je as CarrierType,Me as CarrierTypeSchema,ct as CostPriceType,lt as CostPriceTypeSchema,Ke as CustomerPaymentType,qe as CustomerPaymentTypeSchema,vt as DestinationType,yt as DestinationTypeSchema,it as DocumentType,at as DocumentTypeSchema,nt as FilePaymentOperationType,rt as FilePaymentOperationTypeSchema,ve as Gender,ye as GenderSchema,ut as GroupingPaxPolicy,dt as GroupingPaxPolicySchema,De as InsertCriteria,Oe as InsertCriteriaSchema,ot as MakeDocumentTo,st as MakeDocumentToSchema,ke as MasterPaymentType,Ae as MasterPaymentTypeSchema,_e as MasterRecordsClient,et as OptionedExpirePolicy,tt as OptionedExpirePolicySchema,bt as PackageCatalogClient,Je as PassengerCategory,Ye as PassengerCategorySchema,gt as PaxQtyCriteria,_t as PaxQtyCriteriaSchema,We as PaymentType,Ge as PaymentTypeSchema,Te as RecordStatus,Ee as RecordStatusSchema,Ce as RecordType,we as RecordTypeSchema,be as RsStatusValue,xe as RsStatusValueSchema,y as SearchBookingFileType,mt as SearchBookingFileTypeSchema,_ as SearchMasterType,Se as SearchMasterTypeSchema,Qe as ServiceRefType,$e as ServiceRefTypeSchema,Fe as SetFileStatusValue,Ie as SetFileStatusValueSchema,Be as ToServiceType,Ve as ToServiceTypeSchema,ft as TypeDownloadFile,pt as TypeDownloadFileSchema};
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};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aves-sdk",
3
- "version": "3.1.0",
3
+ "version": "4.0.1",
4
4
  "description": "TypeScript SDK for AVES XML REST",
5
5
  "homepage": "https://github.com/simoneguglielmi/aves-sdk#readme",
6
6
  "repository": [
@@ -39,6 +39,7 @@
39
39
  "files": [
40
40
  "dist/index.mjs",
41
41
  "dist/index.d.mts",
42
+ "dist/CHANGELOG.md",
42
43
  "README.md",
43
44
  "CHANGELOG.md"
44
45
  ],