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