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