aves-sdk 1.0.1 → 1.0.3
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/README.md +4 -4
- package/dist/index.cjs +2 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1792 -1
- package/dist/index.d.ts +1792 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/package.json +1 -2
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var le=Object.defineProperty;var xe=(e,t,n)=>t in e?le(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var r=(e,t)=>le(e,"name",{value:t,configurable:!0});var p=(e,t,n)=>xe(e,typeof t!="symbol"?t+"":t,n);import"reflect-metadata";import{format as Ee,parseISO as ge,isValid as Ie}from"date-fns";var g=r(e=>{let t;if(typeof e=="string"){if(!/^\d{4}-\d{2}-\d{2}$/.test(e))throw new Error(`Invalid date format. Expected YYYY-MM-DD, got: ${e}`);try{t=ge(e)}catch{throw new Error(`Invalid date string: ${e}`)}}else t=e;if(!Ie(t))throw new Error(`Invalid date value: ${e}`);return Ee(t,"yyyy-MM-dd")},"createDateString"),h=r(e=>{let t;if(typeof e=="string"){if(!/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{3})?Z?$/.test(e))throw new Error(`Invalid datetime format. Expected ISO 8601, got: ${e}`);try{t=ge(e)}catch{throw new Error(`Invalid datetime string: ${e}`)}}else t=e;if(!Ie(t))throw new Error(`Invalid datetime value: ${e}`);return Ee(t,"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")},"createDateTimeString"),Dt=r(e=>{if(!/^\d{2}:\d{2}:\d{2}$/.test(e))throw new Error(`Invalid time format. Expected HH:MM:SS, got: ${e}`);let[t,n,i]=e.split(":").map(Number);if(t<0||t>23||n<0||n>59||i<0||i>59)throw new Error(`Invalid time value: ${e}`);return e},"createTimeString");function F(e){return{home:"HOME",work:"WORK",billing:"BILLING",delivery:"DELIVERY"}[e]||"HOME"}r(F,"mapAddressTypeToXml");function _(e){return{HOME:"home",WORK:"work",BILLING:"billing",DELIVERY:"delivery"}[e]||"home"}r(_,"mapAddressTypeFromXml");function X(e){return{home:"HOME",work:"WORK",mobile:"MOBILE",fax:"FAX"}[e]||"HOME"}r(X,"mapContactTypeToXml");function L(e){return{HOME:"home",WORK:"work",MOBILE:"mobile",FAX:"fax"}[e]||"home"}r(L,"mapContactTypeFromXml");function M(e){return{home:"HOME",work:"WORK"}[e]||"HOME"}r(M,"mapEmailTypeToXml");function b(e){return{HOME:"home",WORK:"work"}[e]||"home"}r(b,"mapEmailTypeFromXml");function v(e){return{adult:"ADT",child:"CHD",infant:"INF"}[e]||"ADT"}r(v,"mapPassengerTypeToXml");function V(e){return{ADT:"adult",CHD:"child",INF:"infant"}[e]||"adult"}r(V,"mapPassengerTypeFromXml");function w(e){return{mr:"MR",mrs:"MRS",ms:"MS",dr:"DR",prof:"PROF"}[e]||"MR"}r(w,"mapTitleToXml");function B(e){return{MR:"mr",MRS:"mrs",MS:"ms",DR:"dr",PROF:"prof"}[e]||"mr"}r(B,"mapTitleFromXml");function U(e){return{flight:"FLIGHT",hotel:"HOTEL",car:"CAR",transfer:"TRANSFER",insurance:"INSURANCE"}[e]||"FLIGHT"}r(U,"mapServiceTypeToXml");function H(e){return{FLIGHT:"flight",HOTEL:"hotel",CAR:"car",TRANSFER:"transfer",INSURANCE:"insurance"}[e]||"flight"}r(H,"mapServiceTypeFromXml");function x(e){return{confirmed:"CONFIRMED",pending:"PENDING",cancelled:"CANCELLED"}[e]||"PENDING"}r(x,"mapServiceStatusToXml");function k(e){return{CONFIRMED:"confirmed",PENDING:"pending",CANCELLED:"cancelled"}[e]||"pending"}r(k,"mapServiceStatusFromXml");function j(e){return{credit_card:"CREDIT_CARD",debit_card:"DEBIT_CARD",bank_transfer:"BANK_TRANSFER",cash:"CASH"}[e]||"CASH"}r(j,"mapPaymentTypeToXml");function G(e){return{CREDIT_CARD:"credit_card",DEBIT_CARD:"debit_card",BANK_TRANSFER:"bank_transfer",CASH:"cash"}[e]||"cash"}r(G,"mapPaymentTypeFromXml");function q(e){return{pending:"PENDING",confirmed:"CONFIRMED",failed:"FAILED"}[e]||"PENDING"}r(q,"mapPaymentStatusToXml");function K(e){return{PENDING:"pending",CONFIRMED:"confirmed",FAILED:"failed"}[e]||"pending"}r(K,"mapPaymentStatusFromXml");function S(e){return{customer:"CUSTOMER",agent:"AGENT",supplier:"SUPPLIER"}[e]||"CUSTOMER"}r(S,"mapCustomerTypeToXml");function Re(e){return{CUSTOMER:"customer",AGENT:"agent",SUPPLIER:"supplier"}[e]||"customer"}r(Re,"mapCustomerTypeFromXml");function ye(e){return{active:"ACTIVE",inactive:"INACTIVE",suspended:"SUSPENDED"}[e]||"ACTIVE"}r(ye,"mapCustomerStatusToXml");function Te(e){return{ACTIVE:"active",INACTIVE:"inactive",SUSPENDED:"suspended"}[e]||"active"}r(Te,"mapCustomerStatusFromXml");function he(e){return{email:"EMAIL",sms:"SMS",phone:"PHONE"}[e]||"EMAIL"}r(he,"mapCommunicationMethodToXml");function Se(e){return{EMAIL:"email",SMS:"sms",PHONE:"phone"}[e]||"email"}r(Se,"mapCommunicationMethodFromXml");function W(e){return{individual:"INDIVIDUAL",group:"GROUP",corporate:"CORPORATE"}[e]||"INDIVIDUAL"}r(W,"mapBookingTypeToXml");function Ne(e){return{PENDING:"pending",CONFIRMED:"confirmed",CANCELLED:"cancelled",COMPLETED:"completed"}[e]||"pending"}r(Ne,"mapBookingStatusFromXml");function Q(e){return{low:"LOW",normal:"NORMAL",high:"HIGH",urgent:"URGENT"}[e]||"NORMAL"}r(Q,"mapPriorityToXml");function Y(e){return{meal:"MEAL",seat:"SEAT",wheelchair:"WHEELCHAIR",other:"OTHER"}[e]||"OTHER"}r(Y,"mapSpecialRequestTypeToXml");function $(e){return{customer_request:"CUSTOMER_REQUEST",no_show:"NO_SHOW",operational:"OPERATIONAL",other:"OTHER"}[e]||"OTHER"}r($,"mapCancelReasonToXml");function z(e){return{original_payment:"ORIGINAL_PAYMENT",credit:"CREDIT",cash:"CASH"}[e]||"CASH"}r(z,"mapRefundMethodToXml");function Z(e){return{confirmation:"CONFIRMATION",invoice:"INVOICE",voucher:"VOUCHER",ticket:"TICKET",all:"ALL"}[e]||"ALL"}r(Z,"mapDocumentTypeToXml");function J(e){return{pdf:"PDF",html:"HTML",xml:"XML"}[e]||"PDF"}r(J,"mapDocumentFormatToXml");function ee(e){return{email:"EMAIL",sms:"SMS",download:"DOWNLOAD"}[e]||"EMAIL"}r(ee,"mapDeliveryMethodToXml");function te(e){return{equals:"EQUALS",contains:"CONTAINS",starts_with:"STARTS_WITH",ends_with:"ENDS_WITH"}[e]||"EQUALS"}r(te,"mapSearchOperatorToXml");function De(e){return{SERVICE:"service",TAX:"tax",FEE:"fee",DISCOUNT:"discount"}[e]||"service"}r(De,"mapPricingItemTypeFromXml");function Ae(e){return{SENT:"sent",PENDING:"pending",FAILED:"failed"}[e]||"pending"}r(Ae,"mapDeliveryStatusFromXml");function ne(e){return{male:"M",female:"F"}[e]||"M"}r(ne,"mapGenderToXml");function Ce(e){return{M:"male",F:"female"}[e]||"male"}r(Ce,"mapGenderFromXml");function oe(e){return{"@Type":e.type?F(e.type):void 0,Street:e.street,City:e.city,State:e.state,PostalCode:e.postalCode,Country:e.country}}r(oe,"mapAddressToXml");function N(e){return{type:e["@Type"]?_(e["@Type"]):void 0,street:e.Street,city:e.City,state:e.State,postalCode:e.PostalCode,country:e.Country}}r(N,"mapAddressFromXml");function re(e){return{Phone:e.phone?{"@Type":e.phone.type?X(e.phone.type):void 0,"@Number":e.phone.number}:void 0,Email:e.email?{"@Type":e.email.type?M(e.email.type):void 0,"@Address":e.email.address}:void 0}}r(re,"mapContactToXml");function D(e){return{phone:e.Phone?{type:e.Phone["@Type"]?L(e.Phone["@Type"]):void 0,number:e.Phone["@Number"]}:void 0,email:e.Email?{type:e.Email["@Type"]?b(e.Email["@Type"]):void 0,address:e.Email["@Address"]}:void 0}}r(D,"mapContactFromXml");function Oe(e){return{"@PassengerID":e.id,"@Type":v(e.type),"@Title":e.title?w(e.title):void 0,FirstName:e.firstName,LastName:e.lastName,MiddleName:e.middleName,DateOfBirth:e.dateOfBirth,Gender:e.gender?ne(e.gender):void 0,Nationality:e.nationality,Passport:e.passport?{"@Number":e.passport.number,"@ExpiryDate":e.passport.expiryDate,"@IssuingCountry":e.passport.issuingCountry}:void 0,Address:e.address?oe(e.address):void 0,ContactInfo:e.contact?re(e.contact):void 0}}r(Oe,"mapPassengerToXml");function Pe(e){return{id:e["@PassengerID"],type:V(e["@Type"]),title:e["@Title"]?B(e["@Title"]):void 0,firstName:e.FirstName,lastName:e.LastName,middleName:e.MiddleName,dateOfBirth:e.DateOfBirth?g(e.DateOfBirth):void 0,gender:e.Gender?Ce(e.Gender):void 0,nationality:e.Nationality,passport:e.Passport?{number:e.Passport["@Number"],expiryDate:g(e.Passport["@ExpiryDate"]),issuingCountry:e.Passport["@IssuingCountry"]}:void 0,address:e.Address?N(e.Address):void 0,contact:e.ContactInfo?D(e.ContactInfo):void 0}}r(Pe,"mapPassengerFromXml");function Fe(e){return{"@ServiceID":e.id,"@Type":U(e.type),"@Status":x(e.status),ServiceDetails:{Code:e.code,Name:e.name,Description:e.description,StartDate:e.startDate,EndDate:e.endDate,Price:e.price?{"@Currency":e.price.currency,"@Amount":e.price.amount}:void 0}}}r(Fe,"mapServiceToXml");function _e(e){return{id:e["@ServiceID"],type:H(e["@Type"]),status:k(e["@Status"]),code:e.ServiceDetails.Code,name:e.ServiceDetails.Name,description:e.ServiceDetails.Description,startDate:e.ServiceDetails.StartDate?g(e.ServiceDetails.StartDate):void 0,endDate:e.ServiceDetails.EndDate?g(e.ServiceDetails.EndDate):void 0,price:e.ServiceDetails.Price?{currency:e.ServiceDetails.Price["@Currency"],amount:e.ServiceDetails.Price["@Amount"]}:void 0}}r(_e,"mapServiceFromXml");function Xe(e){return{"@PaymentID":e.id,"@Type":j(e.type),"@Status":q(e.status),Amount:{"@Currency":e.amount.currency,"@Amount":e.amount.amount},PaymentDetails:e.details?{CardNumber:e.details.cardNumber,ExpiryDate:e.details.expiryDate,CardHolderName:e.details.cardHolderName}:void 0}}r(Xe,"mapPaymentToXml");function Le(e){return{id:e["@PaymentID"],type:G(e["@Type"]),status:K(e["@Status"]),amount:{currency:e.Amount["@Currency"],amount:e.Amount["@Amount"]},details:e.PaymentDetails?{cardNumber:e.PaymentDetails.CardNumber,expiryDate:e.PaymentDetails.ExpiryDate,cardHolderName:e.PaymentDetails.CardHolderName}:void 0}}r(Le,"mapPaymentFromXml");function ke(e){return{SearchCriteria:{MasterRecordType:S(e.type),SearchFields:{Field:e.fields.map(t=>({"@Name":t.name,"@Value":t.value,"@Operator":t.operator?te(t.operator):void 0}))},Pagination:e.pagination?{"@PageSize":e.pagination.pageSize,"@PageNumber":e.pagination.pageNumber}:void 0}}}r(ke,"mapSearchCustomerToXml");function Me(e){return{"@MasterRecordID":e.id,"@Type":S(e.type),"@Status":ye(e.status),PersonalInfo:e.personalInfo?{Title:e.personalInfo.title,FirstName:e.personalInfo.firstName,LastName:e.personalInfo.lastName,MiddleName:e.personalInfo.middleName,DateOfBirth:e.personalInfo.dateOfBirth,Gender:e.personalInfo.gender?ne(e.personalInfo.gender):void 0,Nationality:e.personalInfo.nationality}:void 0,ContactInfo:e.contact?re(e.contact):void 0,Address:e.address?oe(e.address):void 0,BusinessInfo:e.businessInfo?{CompanyName:e.businessInfo.companyName,TaxID:e.businessInfo.taxId,LicenseNumber:e.businessInfo.licenseNumber}:void 0,Preferences:e.preferences?{Language:e.preferences.language,Currency:e.preferences.currency,CommunicationMethod:e.preferences.communicationMethod?he(e.preferences.communicationMethod):void 0}:void 0}}r(Me,"mapCustomerToXml");function je(e){return{BookingDetails:{"@BookingType":W(e.type),"@Priority":Q(e.priority),CustomerInfo:{"@CustomerID":e.customerId,CustomerDetails:e.customerDetails?Me(e.customerDetails):void 0},PassengerList:{Passenger:e.passengers.map(Oe)},SelectedServiceList:{Service:e.services.map(Fe)},SpecialRequests:e.specialRequests?{Request:e.specialRequests.map(t=>({"@Type":Y(t.type),"@Description":t.description}))}:void 0}}}r(je,"mapCreateBookingToXml");function Ge(e){return{"@BookingFileID":e.bookingId,CancellationDetails:{"@Reason":$(e.reason),"@Description":e.description,RefundRequest:e.refundRequest?{"@Amount":e.refundRequest.amount,"@Currency":e.refundRequest.currency,"@Method":z(e.refundRequest.method)}:void 0}}}r(Ge,"mapCancelBookingToXml");function qe(e){return{"@BookingFileID":e.bookingId,DocumentRequest:{"@DocumentType":Z(e.documentType),"@Format":J(e.format),"@Language":e.language,DeliveryMethod:e.deliveryMethod?{"@Type":ee(e.deliveryMethod.type),"@Address":e.deliveryMethod.address}:void 0}}}r(qe,"mapPrintDocumentToXml");function Ke(e){return{"@BookingFileID":e.bookingId,PaymentList:{Payment:e.payments.map(Xe)}}}r(Ke,"mapAddPaymentToXml");function be(e){return{id:e["@MasterRecordID"],type:Re(e["@Type"]),status:Te(e["@Status"]),personalInfo:e.PersonalInfo?{title:e.PersonalInfo.Title,firstName:e.PersonalInfo.FirstName,lastName:e.PersonalInfo.LastName,middleName:e.PersonalInfo.MiddleName,dateOfBirth:e.PersonalInfo.DateOfBirth?g(e.PersonalInfo.DateOfBirth):void 0,gender:e.PersonalInfo.Gender==="M"?"male":"female",nationality:e.PersonalInfo.Nationality}:void 0,contact:e.ContactInfo?D(e.ContactInfo):void 0,address:e.Address?N(e.Address):void 0,businessInfo:e.BusinessInfo?{companyName:e.BusinessInfo.CompanyName,taxId:e.BusinessInfo.TaxID,licenseNumber:e.BusinessInfo.LicenseNumber}:void 0,preferences:e.Preferences?{language:e.Preferences.Language,currency:e.Preferences.Currency,communicationMethod:e.Preferences.CommunicationMethod?Se(e.Preferences.CommunicationMethod):void 0}:void 0}}r(be,"mapCustomerFromXml");function ie(e){return{id:e["@BookingFileID"],status:Ne(e["@Status"]),createdAt:h(e["@CreationDate"]),updatedAt:h(e["@LastModified"]),customer:be(e.CustomerInfo),passengers:e.PassengerList.Passenger.map(Pe),services:e.ServiceList.Service.map(_e),pricing:{totalAmount:{currency:e.Pricing.TotalAmount["@Currency"],amount:e.Pricing.TotalAmount["@Amount"]},breakdowns:e.Pricing.Breakdown?.Item.map(t=>({type:De(t["@Type"]),description:t["@Description"],amount:t["@Amount"]}))}}}r(ie,"mapBookingFromXml");function We(e){let t=ie(e.BookingFile);return{...t,success:e.OperationResult["@Status"]==="SUCCESS",message:e.OperationResult["@Message"],data:t}}r(We,"mapBookingResponseFromXml");function Qe(e){return{results:e.SearchResults.MasterRecord.map(be),pagination:e.SearchResults.PaginationInfo?{totalRecords:e.SearchResults.PaginationInfo["@TotalRecords"],pageSize:e.SearchResults.PaginationInfo["@PageSize"],pageNumber:e.SearchResults.PaginationInfo["@PageNumber"],totalPages:e.SearchResults.PaginationInfo["@TotalPages"]}:void 0}}r(Qe,"mapSearchResponseFromXml");function Ye(e){return{id:e.DocumentInfo["@DocumentID"],type:e.DocumentInfo["@DocumentType"],format:e.DocumentInfo["@Format"],size:e.DocumentInfo["@Size"],createdAt:h(e.DocumentInfo["@CreationDate"]),downloadUrl:e.DocumentInfo.DownloadURL,deliveryStatus:e.DocumentInfo.DeliveryStatus?{status:Ae(e.DocumentInfo.DeliveryStatus["@Status"]),method:e.DocumentInfo.DeliveryStatus["@Method"],address:e.DocumentInfo.DeliveryStatus["@Address"]}:void 0,success:e.OperationResult["@Status"]==="SUCCESS",message:e.OperationResult["@Message"]}}r(Ye,"mapDocumentResponseFromXml");function $e(e){return{success:e.OperationResult["@Status"]==="SUCCESS",message:e.OperationResult["@Message"],data:{refundInfo:e.OperationResult.RefundInfo?{refundAmount:e.OperationResult.RefundInfo["@RefundAmount"],currency:e.OperationResult.RefundInfo["@Currency"],refundMethod:e.OperationResult.RefundInfo["@RefundMethod"],processingTime:e.OperationResult.RefundInfo["@ProcessingTime"]}:void 0}}}r($e,"mapCancelResponseFromXml");function ze(e){let t=ie(e.BookingFile);return{success:e.OperationResult["@Status"]==="SUCCESS",message:e.OperationResult["@Message"],data:{booking:t,paymentSummary:{totalPaid:{currency:e.PaymentSummary.TotalPaid["@Currency"],amount:e.PaymentSummary.TotalPaid["@Amount"]},outstandingAmount:{currency:e.PaymentSummary.OutstandingAmount["@Currency"],amount:e.PaymentSummary.OutstandingAmount["@Amount"]},paymentHistory:e.PaymentSummary.PaymentHistory.Payment.map(Le)}}}}r(ze,"mapPaymentResponseFromXml");function Ze(e){return{id:e["@MasterRecordID"],type:e["@Type"].toLowerCase(),status:e["@Status"].toLowerCase(),personalInfo:e.PersonalInfo?{title:e.PersonalInfo.Title,firstName:e.PersonalInfo.FirstName,lastName:e.PersonalInfo.LastName,middleName:e.PersonalInfo.MiddleName,dateOfBirth:e.PersonalInfo.DateOfBirth,gender:e.PersonalInfo.Gender?.toLowerCase(),nationality:e.PersonalInfo.Nationality}:void 0,contact:e.ContactInfo?D(e.ContactInfo):void 0,address:e.Address?N(e.Address):void 0,businessInfo:e.BusinessInfo?{companyName:e.BusinessInfo.CompanyName,taxId:e.BusinessInfo.TaxID,licenseNumber:e.BusinessInfo.LicenseNumber}:void 0,preferences:e.Preferences?{language:e.Preferences.Language,currency:e.Preferences.Currency,communicationMethod:e.Preferences.CommunicationMethod?.toLowerCase()}:void 0}}r(Ze,"mapMasterRecordFromXml");import{Module as It,Global as Rt}from"@nestjs/common";import{ConfigModule as He}from"@nestjs/config";import{Inject as we,Injectable as et}from"@nestjs/common";var E=Symbol("AVES_SDK_CONFIG"),R=Symbol("XML_HTTP_CLIENT");var se=class se{constructor(t){p(this,"RqHeader");p(this,"Body");Object.assign(this,t)}};r(se,"RequestPayload");var ae=se,me=class me{constructor(t){p(this,"Request");this.Request=new ae(t)}};r(me,"WrapRequestDto");var A=me;function Je(e,t,n,i){var m=arguments.length,s=m<3?t:i===null?i=Object.getOwnPropertyDescriptor(t,n):i,u;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(e,t,n,i);else for(var f=e.length-1;f>=0;f--)(u=e[f])&&(s=(m<3?u(s):m>3?u(t,n,s):u(t,n))||s);return m>3&&s&&Object.defineProperty(t,n,s),s}r(Je,"_ts_decorate");function ve(e,t){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(e,t)}r(ve,"_ts_metadata");function Ve(e,t){return function(n,i){t(n,i,e)}}r(Ve,"_ts_param");var pe=class pe{constructor(t,n){p(this,"config");p(this,"http");this.config=t,this.http=n}buildHeader(){let{hostId:t,xtoken:n,languageCode:i}=this.config;return{"@HostID":t,"@Xtoken":n,"@Interface":"WEB","@UserName":"WEB","@LanguageCode":i}}wrapRequest(t){return new A({RqHeader:this.buildHeader(),Body:t})}async searchMasterRecord(t){return this.http.postXml("/interop/masterRecords/v2/rest/Search","SearchMasterRecordRQ",this.wrapRequest(t))}async insertOrUpdateMasterRecord(t){return this.http.postXml("/interop/masterRecords/v2/rest/InsertOrUpdate","ManageMasterRecordRQ",this.wrapRequest(t))}async createBookingFile(t){return this.http.postXml("/interop/booking/v2/rest/CreateBookingFile","BookFileRQ",this.wrapRequest(t))}async modBookingFileHeader(t){return this.http.postXml("/interop/booking/v2/rest/ModBookingFileHeader","ModiFileHeaderRQ",this.wrapRequest(t))}async modBookingFileServices(t){return this.http.postXml("/interop/booking/v2/rest/ModBookingFileServices","ModFileServicesRQ",this.wrapRequest(t))}async setBookingFileStatus(t){return this.http.postXml("/interop/booking/v2/rest/SetBookingFileStatus","SetStatusRQ",this.wrapRequest(t))}async cancelBookingFile(t){return this.http.postXml("/interop/booking/v2/rest/CancelBookingFile","CancelFileRQ",this.wrapRequest(t))}async insertFilePaymentList(t){return this.http.postXml("/interop/booking/v2/rest/InsertFilePaymentList","FilePaymentListRQ",this.wrapRequest(t))}async printBookingDocument(t){return this.http.postXml("/interop/document/v2/rest/PrintBookingDocument","PrintBookingDocumentRQ",this.wrapRequest(t))}};r(pe,"AvesService");var l=pe;l=Je([et(),Ve(0,we(E)),Ve(1,we(R)),ve("design:type",Function),ve("design:paramtypes",[typeof AvesSdkConfig>"u"?Object:AvesSdkConfig,typeof IXmlHttpClient>"u"?Object:IXmlHttpClient])],l);import ot from"axios";import{XMLBuilder as rt,XMLParser as it}from"fast-xml-parser";import{Inject as at,Injectable as st,Scope as mt}from"@nestjs/common";function tt(e,t,n,i){var m=arguments.length,s=m<3?t:i===null?i=Object.getOwnPropertyDescriptor(t,n):i,u;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(e,t,n,i);else for(var f=e.length-1;f>=0;f--)(u=e[f])&&(s=(m<3?u(s):m>3?u(t,n,s):u(t,n))||s);return m>3&&s&&Object.defineProperty(t,n,s),s}r(tt,"_ts_decorate");function Be(e,t){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(e,t)}r(Be,"_ts_metadata");function nt(e,t){return function(n,i){t(n,i,e)}}r(nt,"_ts_param");var ue=class ue{constructor(t){p(this,"config");p(this,"httpClient");p(this,"xmlBuilder");p(this,"xmlParser");this.config=t,this.httpClient=ot.create({baseURL:t.baseUrl,timeout:typeof t.timeout=="number"?t.timeout:3e4,headers:{"Content-Type":"application/xml",Accept:"application/xml, text/xml, */*;q=0.1"},transitional:{clarifyTimeoutError:!0},validateStatus:r(n=>n>=200&&n<300,"validateStatus")}),this.xmlBuilder=new rt({attributeNamePrefix:"@",ignoreAttributes:!1,suppressEmptyNode:!0,format:process.env.NODE_ENV?.toLowerCase()==="development"}),this.xmlParser=new it({attributeNamePrefix:"@",ignoreAttributes:!1,parseAttributeValue:!1,trimValues:!0,isArray:r(n=>["Field","Item","Service","Passenger","Payment","MasterRecord","Request","Notes","ServiceID"].includes(n),"isArray")})}async postXml(t,n,i,m){let s=this.xmlBuilder.build({[n]:i}),u=await this.httpClient.post(t,s,m);return this.xmlParser.parse(u.data)}};r(ue,"XmlHttpClient");var y=ue;y=tt([st({scope:mt.DEFAULT}),nt(0,at(E)),Be("design:type",Function),Be("design:paramtypes",[typeof AvesSdkConfig>"u"?Object:AvesSdkConfig])],y);import{registerAs as pt}from"@nestjs/config";var ut="aves",ce=pt(ut,()=>({baseUrl:process.env.AVES_BASE_URL??"",hostId:process.env.AVES_HOST_ID??"",xtoken:process.env.AVES_XTOKEN??"",languageCode:process.env.AVES_LANGUAGE_CODE,timeout:process.env.AVES_TIMEOUT?Number(process.env.AVES_TIMEOUT):void 0}));import{z as o}from"zod";var ct=o.enum(["01","02"]),Ue=o.object({baseUrl:o.url(),hostId:o.string().length(6),xtoken:o.string(),languageCode:ct.optional(),timeout:o.number().optional()}),dt=o.object({"@Type":o.enum(["HOME","WORK","BILLING","DELIVERY"]).optional(),Street:o.string().max(100).optional(),City:o.string().max(50).optional(),State:o.string().max(50).optional(),PostalCode:o.string().max(20).optional(),Country:o.string().max(50).optional()}),ft=o.object({Phone:o.object({"@Type":o.enum(["HOME","WORK","MOBILE","FAX"]).optional(),"@Number":o.string()}).optional(),Email:o.object({"@Type":o.enum(["HOME","WORK"]).optional(),"@Address":o.string()}).optional()}),lt=o.object({"@PassengerID":o.string().min(1),"@Type":o.enum(["ADT","CHD","INF"]),"@Title":o.enum(["MR","MRS","MS","DR","PROF"]).optional(),FirstName:o.string().min(1).max(50),LastName:o.string().min(1).max(50),MiddleName:o.string().max(50).optional(),DateOfBirth:o.string().datetime().optional(),Gender:o.enum(["M","F"]).optional(),Nationality:o.string().max(3).optional(),Address:dt.optional(),ContactInfo:ft.optional()}),Et=o.object({"@ServiceID":o.string().min(1),"@Type":o.enum(["FLIGHT","HOTEL","CAR","TRANSFER","INSURANCE"]),"@Status":o.enum(["CONFIRMED","PENDING","CANCELLED"]),ServiceDetails:o.object({Code:o.string().optional(),Name:o.string().optional(),Description:o.string().optional(),StartDate:o.string().optional(),EndDate:o.string().optional(),Price:o.object({"@Currency":o.string(),"@Amount":o.number()}).optional()})}),sn=o.object({"@PaymentID":o.string().min(1),"@Type":o.enum(["CREDIT_CARD","DEBIT_CARD","BANK_TRANSFER","CASH"]),"@Status":o.enum(["PENDING","CONFIRMED","FAILED"]),Amount:o.object({"@Currency":o.string(),"@Amount":o.number()}),PaymentDetails:o.object({CardNumber:o.string().optional(),ExpiryDate:o.string().optional(),CardHolderName:o.string().optional()}).optional()}),mn=o.object({SearchCriteria:o.object({MasterRecordType:o.enum(["CUSTOMER","AGENT","SUPPLIER"]),SearchFields:o.object({Field:o.array(o.object({"@Name":o.string(),"@Value":o.string(),"@Operator":o.enum(["EQUALS","CONTAINS","STARTS_WITH","ENDS_WITH"]).optional()}))}),Pagination:o.object({"@PageSize":o.number(),"@PageNumber":o.number()}).optional()})}),pn=o.object({BookingDetails:o.object({"@BookingType":o.enum(["INDIVIDUAL","GROUP","CORPORATE"]),"@Priority":o.enum(["LOW","NORMAL","HIGH","URGENT"]),CustomerInfo:o.object({"@CustomerID":o.string().optional(),CustomerDetails:o.any().optional()}),PassengerList:o.object({Passenger:o.array(lt)}),SelectedServiceList:o.object({Service:o.array(Et)}),SpecialRequests:o.object({Request:o.array(o.object({"@Type":o.enum(["MEAL","SEAT","WHEELCHAIR","OTHER"]),"@Description":o.string()}))}).optional()})}),un=o.object({"@BookingFileID":o.string().min(1),CancellationDetails:o.object({"@Reason":o.enum(["CUSTOMER_REQUEST","NO_SHOW","OPERATIONAL","OTHER"]),"@Description":o.string().optional(),RefundRequest:o.object({"@Amount":o.number(),"@Currency":o.string(),"@Method":o.enum(["ORIGINAL_PAYMENT","CREDIT","CASH"])}).optional()})}),cn=o.object({"@BookingFileID":o.string().min(1),DocumentRequest:o.object({"@DocumentType":o.enum(["CONFIRMATION","INVOICE","VOUCHER","TICKET","ALL"]),"@Format":o.enum(["PDF","HTML","XML"]),"@Language":o.string().optional(),DeliveryMethod:o.object({"@Type":o.enum(["EMAIL","SMS","DOWNLOAD"]),"@Address":o.string().optional()}).optional()})});function gt(e,t,n,i){var m=arguments.length,s=m<3?t:i===null?i=Object.getOwnPropertyDescriptor(t,n):i,u;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(e,t,n,i);else for(var f=e.length-1;f>=0;f--)(u=e[f])&&(s=(m<3?u(s):m>3?u(t,n,s):u(t,n))||s);return m>3&&s&&Object.defineProperty(t,n,s),s}r(gt,"_ts_decorate");var I=class I{static forRoot(t){let n=this.validateConfig(t);return{module:I,imports:[He.forFeature(ce)],providers:[{provide:E,useValue:n},this.createXmlHttpClientProvider(),l],exports:[l,R]}}static forRootAsync(t){let n=this.createAsyncProviders(t);return{module:I,imports:[...t.imports??[],He.forFeature(ce)],providers:[...n,this.createXmlHttpClientProvider(),l],exports:[l,R]}}static createXmlHttpClientProvider(){return{provide:R,useClass:y}}static createAsyncProviders(t){if(t.useFactory)return[{provide:E,useFactory:r(async(...m)=>{try{let s=await t.useFactory(...m);return this.validateConfig(s)}catch(s){throw new Error(`Failed to create Aves configuration: ${s.message}`)}},"useFactory"),inject:t.inject??[]}];let n=t.useClass||t.useExisting;if(!n)throw new Error("Invalid AvesModule async options: provide useFactory, useClass, or useExisting");let i=[{provide:E,useFactory:r(async m=>{try{let s=await m.createAvesOptions();return this.validateConfig(s)}catch(s){throw new Error(`Failed to create Aves configuration: ${s.message}`)}},"useFactory"),inject:[n]}];return t.useClass&&i.push({provide:t.useClass,useClass:t.useClass}),i}static validateConfig(t){let n=Ue.safeParse(t);if(!n.success)throw new Error(`Invalid AVES SDK configuration: ${n.error.issues.map(i=>i.message).join(", ")}`);return n.data}};r(I,"AvesModule"),p(I,"MODULE_NAME","AvesModule"),p(I,"VERSION","1.0.0");var C=I;C=gt([Rt(),It({})],C);var Nn=(function(e){return e.OK="OK",e.ERROR="ERROR",e.WARNING="WARNING",e.TIMEOUT="TIMEOUT",e})({}),d=(function(e){return e.ERROR="ERROR",e.WARNING="WARNING",e.INFO="INFO",e})({}),a=(function(e){return e.INVALID_TOKEN="AVES_001",e.TOKEN_EXPIRED="AVES_002",e.INSUFFICIENT_PERMISSIONS="AVES_003",e.INVALID_REQUEST_FORMAT="AVES_100",e.MISSING_REQUIRED_FIELD="AVES_101",e.INVALID_FIELD_VALUE="AVES_102",e.INVALID_DATE_FORMAT="AVES_103",e.BOOKING_NOT_FOUND="AVES_200",e.BOOKING_ALREADY_CANCELLED="AVES_201",e.INVALID_BOOKING_STATUS="AVES_202",e.PAYMENT_FAILED="AVES_203",e.INSUFFICIENT_INVENTORY="AVES_204",e.INTERNAL_SERVER_ERROR="AVES_500",e.SERVICE_UNAVAILABLE="AVES_501",e.TIMEOUT="AVES_502",e.RATE_LIMIT_EXCEEDED="AVES_503",e})({});import{ZodError as yt}from"zod";var O=class O{constructor(t){p(this,"schema");this.schema=t}validate(t){if(!this.schema)throw new Error("No schema provided. Either pass schema to constructor or as method parameter.");return this.schema.parse(t)}async asyncValidate(t){if(!this.schema)throw new Error("No schema provided. Either pass schema to constructor or as method parameter.");return this.schema.parseAsync(t)}safeValidateAndParse(t){return this.schema?this.schema.safeParse(t):this.createError({message:"No schema provided. Either pass schema to constructor or as method parameter.",path:[]})}async safeAsyncValidateAndParse(t){return this.schema?this.schema.safeParseAsync(t):this.createError({message:"No schema provided. Either pass schema to constructor or as method parameter.",path:[]})}getErrorMessage(t,n="; "){return t.issues.map(i=>`${i.path.length>0?`${i.path.join(".")}: `:""}${i.message}`).join(n)}createError({message:t,path:n}){return{success:!1,error:new yt([{code:"custom",message:t,path:n}])}}static withSchema(t){return new O(t)}};r(O,"AvesValidator");var de=O;function Cn(e){return new de(e)}r(Cn,"createAvesValidator");import{Injectable as ht}from"@nestjs/common";var T=class T extends Error{constructor(n,i,m={}){super(i);p(this,"code");p(this,"severity");p(this,"timestamp");p(this,"requestId");p(this,"context");this.name="AvesException",this.code=n,this.severity=m.severity||d.ERROR,this.timestamp=new Date().toISOString(),this.context=m.context,this.requestId=m.requestId||this.generateRequestId(),Object.setPrototypeOf(this,T.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,T)}static fromAvesError(n){return new T(n.code,n.message,{severity:n.severity,context:n.context,requestId:n.requestId})}isRetryable(){return[a.TIMEOUT,a.SERVICE_UNAVAILABLE,a.INTERNAL_SERVER_ERROR,a.RATE_LIMIT_EXCEEDED].includes(this.code)}getUserFriendlyMessage(){return{[a.INVALID_TOKEN]:"Your session has expired. Please log in again.",[a.TOKEN_EXPIRED]:"Your session has expired. Please log in again.",[a.INSUFFICIENT_PERMISSIONS]:"You do not have permission to perform this action.",[a.BOOKING_NOT_FOUND]:"The requested booking could not be found.",[a.BOOKING_ALREADY_CANCELLED]:"This booking has already been cancelled.",[a.PAYMENT_FAILED]:"Payment processing failed. Please try again.",[a.INSUFFICIENT_INVENTORY]:"The requested service is no longer available.",[a.SERVICE_UNAVAILABLE]:"The service is temporarily unavailable. Please try again later.",[a.TIMEOUT]:"The request timed out. Please try again.",[a.RATE_LIMIT_EXCEEDED]:"Too many requests. Please wait a moment and try again."}[this.code]||this.message}toJSON(){return{name:this.name,code:this.code,message:this.message,severity:this.severity,timestamp:this.timestamp,requestId:this.requestId,context:this.context,stack:this.stack,isRetryable:this.isRetryable(),userFriendlyMessage:this.getUserFriendlyMessage()}}toAvesError(){return{code:this.code,message:this.message,severity:this.severity,timestamp:this.timestamp,requestId:this.requestId,context:this.context}}getHttpStatusCode(){switch(this.code){case a.INVALID_TOKEN:case a.TOKEN_EXPIRED:return 401;case a.INSUFFICIENT_PERMISSIONS:return 403;case a.BOOKING_NOT_FOUND:return 404;case a.INVALID_REQUEST_FORMAT:case a.MISSING_REQUIRED_FIELD:case a.INVALID_FIELD_VALUE:return 400;case a.RATE_LIMIT_EXCEEDED:return 429;case a.SERVICE_UNAVAILABLE:return 503;case a.TIMEOUT:return 408;default:return 500}}getCategory(){return this.code.startsWith("AVES_1")?"Authentication":this.code.startsWith("AVES_2")?"Business Logic":this.code.startsWith("AVES_5")?"System":"Unknown"}generateRequestId(){return`aves_${Date.now()}_${Math.random().toString(36).substr(2,9)}`}};r(T,"AvesException");var c=T;function Tt(e,t,n,i){var m=arguments.length,s=m<3?t:i===null?i=Object.getOwnPropertyDescriptor(t,n):i,u;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")s=Reflect.decorate(e,t,n,i);else for(var f=e.length-1;f>=0;f--)(u=e[f])&&(s=(m<3?u(s):m>3?u(t,n,s):u(t,n))||s);return m>3&&s&&Object.defineProperty(t,n,s),s}r(Tt,"_ts_decorate");var fe=class fe{parseError(t){return t instanceof c?t:this.isHttpError(t)?this.parseHttpError(t):this.isAvesXmlResponse(t)?this.parseAvesXmlError(t):t instanceof Error?new c(a.INTERNAL_SERVER_ERROR,t.message,{severity:d.ERROR,context:this.buildContext({type:"javascript_error",errorName:t.name,stack:t.stack||"No stack trace available"})}):new c(a.INTERNAL_SERVER_ERROR,"Unknown error occurred",{severity:d.ERROR,context:this.buildContext({type:"unknown_error",errorName:typeof t,errorValue:String(t)})})}parseHttpError(t){if(t.response){let n=t.response.status,i=t.response.statusText;switch(n){case 400:return new c(a.INVALID_REQUEST_FORMAT,`Bad Request: ${i}`,{severity:d.ERROR,context:this.buildContext({type:"http_error",errorName:n,statusText:i,url:t.config?.url,method:t.config?.method,timeout:t.config?.timeout})});case 401:return new c(a.INVALID_TOKEN,"Authentication failed",{severity:d.ERROR,context:this.buildContext({type:"http_error",status:n,url:t.config?.url,method:t.config?.method,timeout:t.config?.timeout})});case 403:return new c(a.INSUFFICIENT_PERMISSIONS,"Access forbidden",{severity:d.ERROR,context:this.buildContext({type:"http_error",status:n,url:t.config?.url,method:t.config?.method,timeout:t.config?.timeout})});case 404:return new c(a.BOOKING_NOT_FOUND,"Resource not found",{severity:d.ERROR,context:this.buildContext({type:"http_error",status:n,url:t.config?.url,method:t.config?.method,timeout:t.config?.timeout})});case 429:return new c(a.RATE_LIMIT_EXCEEDED,"Rate limit exceeded",{severity:d.ERROR,context:this.buildContext({type:"http_error",status:n,retryAfter:t.response.headers?.["retry-after"]})});case 500:return new c(a.INTERNAL_SERVER_ERROR,"Internal server error",{severity:d.ERROR,context:this.buildContext({type:"http_error",status:n,url:t.config?.url,method:t.config?.method,timeout:t.config?.timeout})});case 503:return new c(a.SERVICE_UNAVAILABLE,"Service unavailable",{severity:d.ERROR,context:this.buildContext({type:"http_error",status:n,url:t.config?.url,method:t.config?.method,timeout:t.config?.timeout})});default:return new c(a.INTERNAL_SERVER_ERROR,`HTTP ${n}: ${i}`,{severity:d.ERROR,context:this.buildContext({type:"http_error",status:n,statusText:i,url:t.config?.url,method:t.config?.method,timeout:t.config?.timeout})})}}else return t.request?new c(a.TIMEOUT,"Request timeout - no response from AVES API",{severity:d.ERROR,context:this.buildContext({type:"http_error",timeout:!0,url:t.config?.url,method:t.config?.method,configuredTimeout:t.config?.timeout})}):new c(a.INTERNAL_SERVER_ERROR,`Request setup error: ${t.message}`,{severity:d.ERROR,context:this.buildContext({type:"http_error",setupError:!0})})}parseAvesXmlError(t){if(!t?.Response?.RsStatus)return new c(a.INVALID_REQUEST_FORMAT,"Invalid response format from AVES API",{severity:d.ERROR,context:this.buildContext({type:"aves_xml_error",missingRsStatus:!0})});let n=t.Response.RsStatus;if(n["@Status"]==="ERROR")return new c(n.ErrorCode||a.INTERNAL_SERVER_ERROR,n.ErrorDescription||"Unknown error from AVES API",{severity:d.ERROR,context:this.buildContext({type:"aves_xml_error",originalResponse:n})});if(n.Warnings?.Warning){let i=Array.isArray(n.Warnings.Warning)?n.Warnings.Warning:[n.Warnings.Warning];return new c(a.INVALID_FIELD_VALUE,i.join("; "),{severity:d.WARNING,context:this.buildContext({type:"aves_xml_warning",warnings:i})})}return new c(a.INTERNAL_SERVER_ERROR,"Unexpected response from AVES API",{severity:d.ERROR,context:this.buildContext({type:"aves_xml_error",unexpectedResponse:!0,status:n["@Status"]})})}isRetryable(t){return[a.TIMEOUT,a.SERVICE_UNAVAILABLE,a.INTERNAL_SERVER_ERROR,a.RATE_LIMIT_EXCEEDED].includes(t.code)}getUserFriendlyMessage(t){return{[a.INVALID_TOKEN]:"Your session has expired. Please log in again.",[a.TOKEN_EXPIRED]:"Your session has expired. Please log in again.",[a.INSUFFICIENT_PERMISSIONS]:"You do not have permission to perform this action.",[a.BOOKING_NOT_FOUND]:"The requested booking could not be found.",[a.BOOKING_ALREADY_CANCELLED]:"This booking has already been cancelled.",[a.PAYMENT_FAILED]:"Payment processing failed. Please try again.",[a.INSUFFICIENT_INVENTORY]:"The requested service is no longer available.",[a.SERVICE_UNAVAILABLE]:"The service is temporarily unavailable. Please try again later.",[a.TIMEOUT]:"The request timed out. Please try again.",[a.RATE_LIMIT_EXCEEDED]:"Too many requests. Please wait a moment and try again."}[t.code]||t.message}buildContext(t){let n={};return typeof t=="object"&&t!==null?Object.keys(t).forEach(i=>{let m=t[i];if(this.isSensitiveKey(i)){n[i]="********";return}this.isSerializableValue(m)?n[i]=m:typeof m=="function"?n[i]="[Function]":m instanceof Error?n[i]={name:m.name,message:m.message,stack:m.stack?.split(`
|
|
1
|
+
var De=Object.defineProperty;var Et=(e,t,o)=>t in e?De(e,t,{enumerable:!0,configurable:!0,writable:!0,value:o}):e[t]=o;var i=(e,t)=>De(e,"name",{value:t,configurable:!0});var u=(e,t,o)=>Et(e,typeof t!="symbol"?t+"":t,o);import"reflect-metadata";var T=i(e=>{let t;if(typeof e=="string"){if(!/^\d{4}-\d{2}-\d{2}$/.test(e))throw new Error(`Invalid date format. Expected YYYY-MM-DD, got: ${e}`);try{t=new Date(e+"T00:00:00.000Z")}catch{throw new Error(`Invalid date string: ${e}`)}}else t=e;if(isNaN(t.getTime()))throw new Error(`Invalid date value: ${e}`);let o=t.getUTCFullYear(),a=String(t.getUTCMonth()+1).padStart(2,"0"),p=String(t.getUTCDate()).padStart(2,"0");return`${o}-${a}-${p}`},"createDateString"),N=i(e=>{let t;if(typeof e=="string"){if(!/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{3})?Z?$/.test(e))throw new Error(`Invalid datetime format. Expected ISO 8601, got: ${e}`);try{t=new Date(e)}catch{throw new Error(`Invalid datetime string: ${e}`)}}else t=e;if(isNaN(t.getTime()))throw new Error(`Invalid datetime value: ${e}`);return t.toISOString()},"createDateTimeString"),un=i(e=>{if(!/^\d{2}:\d{2}:\d{2}$/.test(e))throw new Error(`Invalid time format. Expected HH:MM:SS, got: ${e}`);let[t,o,a]=e.split(":").map(Number);if(t<0||t>23||o<0||o>59||a<0||a>59)throw new Error(`Invalid time value: ${e}`);return e},"createTimeString");function _(e){return{home:"HOME",work:"WORK",billing:"BILLING",delivery:"DELIVERY"}[e]||"HOME"}i(_,"mapAddressTypeToXml");function X(e){return{HOME:"home",WORK:"work",BILLING:"billing",DELIVERY:"delivery"}[e]||"home"}i(X,"mapAddressTypeFromXml");function M(e){return{home:"HOME",work:"WORK",mobile:"MOBILE",fax:"FAX"}[e]||"HOME"}i(M,"mapContactTypeToXml");function L(e){return{HOME:"home",WORK:"work",MOBILE:"mobile",FAX:"fax"}[e]||"home"}i(L,"mapContactTypeFromXml");function x(e){return{home:"HOME",work:"WORK"}[e]||"HOME"}i(x,"mapEmailTypeToXml");function w(e){return{HOME:"home",WORK:"work"}[e]||"home"}i(w,"mapEmailTypeFromXml");function V(e){return{adult:"ADT",child:"CHD",infant:"INF"}[e]||"ADT"}i(V,"mapPassengerTypeToXml");function B(e){return{ADT:"adult",CHD:"child",INF:"infant"}[e]||"adult"}i(B,"mapPassengerTypeFromXml");function j(e){return{mr:"MR",mrs:"MRS",ms:"MS",dr:"DR",prof:"PROF"}[e]||"MR"}i(j,"mapTitleToXml");function k(e){return{MR:"mr",MRS:"mrs",MS:"ms",DR:"dr",PROF:"prof"}[e]||"mr"}i(k,"mapTitleFromXml");function q(e){return{flight:"FLIGHT",hotel:"HOTEL",car:"CAR",transfer:"TRANSFER",insurance:"INSURANCE"}[e]||"FLIGHT"}i(q,"mapServiceTypeToXml");function U(e){return{FLIGHT:"flight",HOTEL:"hotel",CAR:"car",TRANSFER:"transfer",INSURANCE:"insurance"}[e]||"flight"}i(U,"mapServiceTypeFromXml");function H(e){return{confirmed:"CONFIRMED",pending:"PENDING",cancelled:"CANCELLED"}[e]||"PENDING"}i(H,"mapServiceStatusToXml");function G(e){return{CONFIRMED:"confirmed",PENDING:"pending",CANCELLED:"cancelled"}[e]||"pending"}i(G,"mapServiceStatusFromXml");function K(e){return{credit_card:"CREDIT_CARD",debit_card:"DEBIT_CARD",bank_transfer:"BANK_TRANSFER",cash:"CASH"}[e]||"CASH"}i(K,"mapPaymentTypeToXml");function W(e){return{CREDIT_CARD:"credit_card",DEBIT_CARD:"debit_card",BANK_TRANSFER:"bank_transfer",CASH:"cash"}[e]||"cash"}i(W,"mapPaymentTypeFromXml");function Y(e){return{pending:"PENDING",confirmed:"CONFIRMED",failed:"FAILED"}[e]||"PENDING"}i(Y,"mapPaymentStatusToXml");function $(e){return{PENDING:"pending",CONFIRMED:"confirmed",FAILED:"failed"}[e]||"pending"}i($,"mapPaymentStatusFromXml");function D(e){return{customer:"CUSTOMER",agent:"AGENT",supplier:"SUPPLIER"}[e]||"CUSTOMER"}i(D,"mapCustomerTypeToXml");function Ae(e){return{CUSTOMER:"customer",AGENT:"agent",SUPPLIER:"supplier"}[e]||"customer"}i(Ae,"mapCustomerTypeFromXml");function Ce(e){return{active:"ACTIVE",inactive:"INACTIVE",suspended:"SUSPENDED"}[e]||"ACTIVE"}i(Ce,"mapCustomerStatusToXml");function be(e){return{ACTIVE:"active",INACTIVE:"inactive",SUSPENDED:"suspended"}[e]||"active"}i(be,"mapCustomerStatusFromXml");function Oe(e){return{email:"EMAIL",sms:"SMS",phone:"PHONE"}[e]||"EMAIL"}i(Oe,"mapCommunicationMethodToXml");function Pe(e){return{EMAIL:"email",SMS:"sms",PHONE:"phone"}[e]||"email"}i(Pe,"mapCommunicationMethodFromXml");function Q(e){return{individual:"INDIVIDUAL",group:"GROUP",corporate:"CORPORATE"}[e]||"INDIVIDUAL"}i(Q,"mapBookingTypeToXml");function Fe(e){return{PENDING:"pending",CONFIRMED:"confirmed",CANCELLED:"cancelled",COMPLETED:"completed"}[e]||"pending"}i(Fe,"mapBookingStatusFromXml");function z(e){return{low:"LOW",normal:"NORMAL",high:"HIGH",urgent:"URGENT"}[e]||"NORMAL"}i(z,"mapPriorityToXml");function Z(e){return{meal:"MEAL",seat:"SEAT",wheelchair:"WHEELCHAIR",other:"OTHER"}[e]||"OTHER"}i(Z,"mapSpecialRequestTypeToXml");function J(e){return{customer_request:"CUSTOMER_REQUEST",no_show:"NO_SHOW",operational:"OPERATIONAL",other:"OTHER"}[e]||"OTHER"}i(J,"mapCancelReasonToXml");function ee(e){return{original_payment:"ORIGINAL_PAYMENT",credit:"CREDIT",cash:"CASH"}[e]||"CASH"}i(ee,"mapRefundMethodToXml");function te(e){return{confirmation:"CONFIRMATION",invoice:"INVOICE",voucher:"VOUCHER",ticket:"TICKET",all:"ALL"}[e]||"ALL"}i(te,"mapDocumentTypeToXml");function ne(e){return{pdf:"PDF",html:"HTML",xml:"XML"}[e]||"PDF"}i(ne,"mapDocumentFormatToXml");function oe(e){return{email:"EMAIL",sms:"SMS",download:"DOWNLOAD"}[e]||"EMAIL"}i(oe,"mapDeliveryMethodToXml");function re(e){return{equals:"EQUALS",contains:"CONTAINS",starts_with:"STARTS_WITH",ends_with:"ENDS_WITH"}[e]||"EQUALS"}i(re,"mapSearchOperatorToXml");function ve(e){return{SERVICE:"service",TAX:"tax",FEE:"fee",DISCOUNT:"discount"}[e]||"service"}i(ve,"mapPricingItemTypeFromXml");function _e(e){return{SENT:"sent",PENDING:"pending",FAILED:"failed"}[e]||"pending"}i(_e,"mapDeliveryStatusFromXml");function ie(e){return{male:"M",female:"F"}[e]||"M"}i(ie,"mapGenderToXml");function Xe(e){return{M:"male",F:"female"}[e]||"male"}i(Xe,"mapGenderFromXml");function ae(e){return{"@Type":e.type?_(e.type):void 0,Street:e.street,City:e.city,State:e.state,PostalCode:e.postalCode,Country:e.country}}i(ae,"mapAddressToXml");function A(e){return{type:e["@Type"]?X(e["@Type"]):void 0,street:e.Street,city:e.City,state:e.State,postalCode:e.PostalCode,country:e.Country}}i(A,"mapAddressFromXml");function se(e){return{Phone:e.phone?{"@Type":e.phone.type?M(e.phone.type):void 0,"@Number":e.phone.number}:void 0,Email:e.email?{"@Type":e.email.type?x(e.email.type):void 0,"@Address":e.email.address}:void 0}}i(se,"mapContactToXml");function C(e){return{phone:e.Phone?{type:e.Phone["@Type"]?L(e.Phone["@Type"]):void 0,number:e.Phone["@Number"]}:void 0,email:e.Email?{type:e.Email["@Type"]?w(e.Email["@Type"]):void 0,address:e.Email["@Address"]}:void 0}}i(C,"mapContactFromXml");function Me(e){return{"@PassengerID":e.id,"@Type":V(e.type),"@Title":e.title?j(e.title):void 0,FirstName:e.firstName,LastName:e.lastName,MiddleName:e.middleName,DateOfBirth:e.dateOfBirth,Gender:e.gender?ie(e.gender):void 0,Nationality:e.nationality,Passport:e.passport?{"@Number":e.passport.number,"@ExpiryDate":e.passport.expiryDate,"@IssuingCountry":e.passport.issuingCountry}:void 0,Address:e.address?ae(e.address):void 0,ContactInfo:e.contact?se(e.contact):void 0}}i(Me,"mapPassengerToXml");function Le(e){return{id:e["@PassengerID"],type:B(e["@Type"]),title:e["@Title"]?k(e["@Title"]):void 0,firstName:e.FirstName,lastName:e.LastName,middleName:e.MiddleName,dateOfBirth:e.DateOfBirth?T(e.DateOfBirth):void 0,gender:e.Gender?Xe(e.Gender):void 0,nationality:e.Nationality,passport:e.Passport?{number:e.Passport["@Number"],expiryDate:T(e.Passport["@ExpiryDate"]),issuingCountry:e.Passport["@IssuingCountry"]}:void 0,address:e.Address?A(e.Address):void 0,contact:e.ContactInfo?C(e.ContactInfo):void 0}}i(Le,"mapPassengerFromXml");function xe(e){return{"@ServiceID":e.id,"@Type":q(e.type),"@Status":H(e.status),ServiceDetails:{Code:e.code,Name:e.name,Description:e.description,StartDate:e.startDate,EndDate:e.endDate,Price:e.price?{"@Currency":e.price.currency,"@Amount":e.price.amount}:void 0}}}i(xe,"mapServiceToXml");function we(e){return{id:e["@ServiceID"],type:U(e["@Type"]),status:G(e["@Status"]),code:e.ServiceDetails.Code,name:e.ServiceDetails.Name,description:e.ServiceDetails.Description,startDate:e.ServiceDetails.StartDate?T(e.ServiceDetails.StartDate):void 0,endDate:e.ServiceDetails.EndDate?T(e.ServiceDetails.EndDate):void 0,price:e.ServiceDetails.Price?{currency:e.ServiceDetails.Price["@Currency"],amount:e.ServiceDetails.Price["@Amount"]}:void 0}}i(we,"mapServiceFromXml");function Ve(e){return{"@PaymentID":e.id,"@Type":K(e.type),"@Status":Y(e.status),Amount:{"@Currency":e.amount.currency,"@Amount":e.amount.amount},PaymentDetails:e.details?{CardNumber:e.details.cardNumber,ExpiryDate:e.details.expiryDate,CardHolderName:e.details.cardHolderName}:void 0}}i(Ve,"mapPaymentToXml");function Be(e){return{id:e["@PaymentID"],type:W(e["@Type"]),status:$(e["@Status"]),amount:{currency:e.Amount["@Currency"],amount:e.Amount["@Amount"]},details:e.PaymentDetails?{cardNumber:e.PaymentDetails.CardNumber,expiryDate:e.PaymentDetails.ExpiryDate,cardHolderName:e.PaymentDetails.CardHolderName}:void 0}}i(Be,"mapPaymentFromXml");function Rt(e){return{SearchCriteria:{MasterRecordType:D(e.type),SearchFields:{Field:e.fields.map(t=>({"@Name":t.name,"@Value":t.value,"@Operator":t.operator?re(t.operator):void 0}))},Pagination:e.pagination?{"@PageSize":e.pagination.pageSize,"@PageNumber":e.pagination.pageNumber}:void 0}}}i(Rt,"mapSearchCustomerToXml");function je(e){return{"@MasterRecordID":e.id,"@Type":D(e.type),"@Status":Ce(e.status),PersonalInfo:e.personalInfo?{Title:e.personalInfo.title,FirstName:e.personalInfo.firstName,LastName:e.personalInfo.lastName,MiddleName:e.personalInfo.middleName,DateOfBirth:e.personalInfo.dateOfBirth,Gender:e.personalInfo.gender?ie(e.personalInfo.gender):void 0,Nationality:e.personalInfo.nationality}:void 0,ContactInfo:e.contact?se(e.contact):void 0,Address:e.address?ae(e.address):void 0,BusinessInfo:e.businessInfo?{CompanyName:e.businessInfo.companyName,TaxID:e.businessInfo.taxId,LicenseNumber:e.businessInfo.licenseNumber}:void 0,Preferences:e.preferences?{Language:e.preferences.language,Currency:e.preferences.currency,CommunicationMethod:e.preferences.communicationMethod?Oe(e.preferences.communicationMethod):void 0}:void 0}}i(je,"mapCustomerToXml");function It(e){return{BookingDetails:{"@BookingType":Q(e.type),"@Priority":z(e.priority),CustomerInfo:{"@CustomerID":e.customerId,CustomerDetails:e.customerDetails?je(e.customerDetails):void 0},PassengerList:{Passenger:e.passengers.map(Me)},SelectedServiceList:{Service:e.services.map(xe)},SpecialRequests:e.specialRequests?{Request:e.specialRequests.map(t=>({"@Type":Z(t.type),"@Description":t.description}))}:void 0}}}i(It,"mapCreateBookingToXml");function ht(e){return{"@BookingFileID":e.bookingId,CancellationDetails:{"@Reason":J(e.reason),"@Description":e.description,RefundRequest:e.refundRequest?{"@Amount":e.refundRequest.amount,"@Currency":e.refundRequest.currency,"@Method":ee(e.refundRequest.method)}:void 0}}}i(ht,"mapCancelBookingToXml");function St(e){return{"@BookingFileID":e.bookingId,DocumentRequest:{"@DocumentType":te(e.documentType),"@Format":ne(e.format),"@Language":e.language,DeliveryMethod:e.deliveryMethod?{"@Type":oe(e.deliveryMethod.type),"@Address":e.deliveryMethod.address}:void 0}}}i(St,"mapPrintDocumentToXml");function Nt(e){return{"@BookingFileID":e.bookingId,PaymentList:{Payment:e.payments.map(Ve)}}}i(Nt,"mapAddPaymentToXml");function ke(e){return{id:e["@MasterRecordID"],type:Ae(e["@Type"]),status:be(e["@Status"]),personalInfo:e.PersonalInfo?{title:e.PersonalInfo.Title,firstName:e.PersonalInfo.FirstName,lastName:e.PersonalInfo.LastName,middleName:e.PersonalInfo.MiddleName,dateOfBirth:e.PersonalInfo.DateOfBirth?T(e.PersonalInfo.DateOfBirth):void 0,gender:e.PersonalInfo.Gender==="M"?"male":"female",nationality:e.PersonalInfo.Nationality}:void 0,contact:e.ContactInfo?C(e.ContactInfo):void 0,address:e.Address?A(e.Address):void 0,businessInfo:e.BusinessInfo?{companyName:e.BusinessInfo.CompanyName,taxId:e.BusinessInfo.TaxID,licenseNumber:e.BusinessInfo.LicenseNumber}:void 0,preferences:e.Preferences?{language:e.Preferences.Language,currency:e.Preferences.Currency,communicationMethod:e.Preferences.CommunicationMethod?Pe(e.Preferences.CommunicationMethod):void 0}:void 0}}i(ke,"mapCustomerFromXml");function me(e){return{id:e["@BookingFileID"],status:Fe(e["@Status"]),createdAt:N(e["@CreationDate"]),updatedAt:N(e["@LastModified"]),customer:ke(e.CustomerInfo),passengers:e.PassengerList.Passenger.map(Le),services:e.ServiceList.Service.map(we),pricing:{totalAmount:{currency:e.Pricing.TotalAmount["@Currency"],amount:e.Pricing.TotalAmount["@Amount"]},breakdowns:e.Pricing.Breakdown?.Item.map(t=>({type:ve(t["@Type"]),description:t["@Description"],amount:t["@Amount"]}))}}}i(me,"mapBookingFromXml");function Dt(e){let t=me(e.BookingFile);return{...t,success:e.OperationResult["@Status"]==="SUCCESS",message:e.OperationResult["@Message"],data:t}}i(Dt,"mapBookingResponseFromXml");function At(e){return{results:e.SearchResults.MasterRecord.map(ke),pagination:e.SearchResults.PaginationInfo?{totalRecords:e.SearchResults.PaginationInfo["@TotalRecords"],pageSize:e.SearchResults.PaginationInfo["@PageSize"],pageNumber:e.SearchResults.PaginationInfo["@PageNumber"],totalPages:e.SearchResults.PaginationInfo["@TotalPages"]}:void 0}}i(At,"mapSearchResponseFromXml");function Ct(e){return{id:e.DocumentInfo["@DocumentID"],type:e.DocumentInfo["@DocumentType"],format:e.DocumentInfo["@Format"],size:e.DocumentInfo["@Size"],createdAt:N(e.DocumentInfo["@CreationDate"]),downloadUrl:e.DocumentInfo.DownloadURL,deliveryStatus:e.DocumentInfo.DeliveryStatus?{status:_e(e.DocumentInfo.DeliveryStatus["@Status"]),method:e.DocumentInfo.DeliveryStatus["@Method"],address:e.DocumentInfo.DeliveryStatus["@Address"]}:void 0,success:e.OperationResult["@Status"]==="SUCCESS",message:e.OperationResult["@Message"]}}i(Ct,"mapDocumentResponseFromXml");function bt(e){return{success:e.OperationResult["@Status"]==="SUCCESS",message:e.OperationResult["@Message"],data:{refundInfo:e.OperationResult.RefundInfo?{refundAmount:e.OperationResult.RefundInfo["@RefundAmount"],currency:e.OperationResult.RefundInfo["@Currency"],refundMethod:e.OperationResult.RefundInfo["@RefundMethod"],processingTime:e.OperationResult.RefundInfo["@ProcessingTime"]}:void 0}}}i(bt,"mapCancelResponseFromXml");function Ot(e){let t=me(e.BookingFile);return{success:e.OperationResult["@Status"]==="SUCCESS",message:e.OperationResult["@Message"],data:{booking:t,paymentSummary:{totalPaid:{currency:e.PaymentSummary.TotalPaid["@Currency"],amount:e.PaymentSummary.TotalPaid["@Amount"]},outstandingAmount:{currency:e.PaymentSummary.OutstandingAmount["@Currency"],amount:e.PaymentSummary.OutstandingAmount["@Amount"]},paymentHistory:e.PaymentSummary.PaymentHistory.Payment.map(Be)}}}}i(Ot,"mapPaymentResponseFromXml");function Pt(e){return{id:e["@MasterRecordID"],type:e["@Type"].toLowerCase(),status:e["@Status"].toLowerCase(),personalInfo:e.PersonalInfo?{title:e.PersonalInfo.Title,firstName:e.PersonalInfo.FirstName,lastName:e.PersonalInfo.LastName,middleName:e.PersonalInfo.MiddleName,dateOfBirth:e.PersonalInfo.DateOfBirth,gender:e.PersonalInfo.Gender?.toLowerCase(),nationality:e.PersonalInfo.Nationality}:void 0,contact:e.ContactInfo?C(e.ContactInfo):void 0,address:e.Address?A(e.Address):void 0,businessInfo:e.BusinessInfo?{companyName:e.BusinessInfo.CompanyName,taxId:e.BusinessInfo.TaxID,licenseNumber:e.BusinessInfo.LicenseNumber}:void 0,preferences:e.Preferences?{language:e.Preferences.Language,currency:e.Preferences.Currency,communicationMethod:e.Preferences.CommunicationMethod?.toLowerCase()}:void 0}}i(Pt,"mapMasterRecordFromXml");import{Module as Yt,Global as $t}from"@nestjs/common";import{ConfigModule as We}from"@nestjs/config";import{Inject as He,Injectable as vt}from"@nestjs/common";var y=Symbol("AVES_SDK_CONFIG"),R=Symbol("XML_HTTP_CLIENT");var ue=class ue{constructor(t){u(this,"RqHeader");u(this,"Body");Object.assign(this,t)}};i(ue,"RequestPayload");var pe=ue,ce=class ce{constructor(t){u(this,"Request");this.Request=new pe(t)}};i(ce,"WrapRequestDto");var b=ce;function Ft(e,t,o,a){var p=arguments.length,m=p<3?t:a===null?a=Object.getOwnPropertyDescriptor(t,o):a,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")m=Reflect.decorate(e,t,o,a);else for(var f=e.length-1;f>=0;f--)(c=e[f])&&(m=(p<3?c(m):p>3?c(t,o,m):c(t,o))||m);return p>3&&m&&Object.defineProperty(t,o,m),m}i(Ft,"_ts_decorate");function qe(e,t){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(e,t)}i(qe,"_ts_metadata");function Ue(e,t){return function(o,a){t(o,a,e)}}i(Ue,"_ts_param");var de=class de{constructor(t,o){u(this,"config");u(this,"http");this.config=t,this.http=o}buildHeader(){let{hostId:t,xtoken:o,languageCode:a}=this.config;return{"@HostID":t,"@Xtoken":o,"@Interface":"WEB","@UserName":"WEB","@LanguageCode":a}}wrapRequest(t){return new b({RqHeader:this.buildHeader(),Body:t})}async searchMasterRecord(t){return this.http.postXml("/interop/masterRecords/v2/rest/Search","SearchMasterRecordRQ",this.wrapRequest(t))}async insertOrUpdateMasterRecord(t){return this.http.postXml("/interop/masterRecords/v2/rest/InsertOrUpdate","ManageMasterRecordRQ",this.wrapRequest(t))}async createBookingFile(t){return this.http.postXml("/interop/booking/v2/rest/CreateBookingFile","BookFileRQ",this.wrapRequest(t))}async modBookingFileHeader(t){return this.http.postXml("/interop/booking/v2/rest/ModBookingFileHeader","ModiFileHeaderRQ",this.wrapRequest(t))}async modBookingFileServices(t){return this.http.postXml("/interop/booking/v2/rest/ModBookingFileServices","ModFileServicesRQ",this.wrapRequest(t))}async setBookingFileStatus(t){return this.http.postXml("/interop/booking/v2/rest/SetBookingFileStatus","SetStatusRQ",this.wrapRequest(t))}async cancelBookingFile(t){return this.http.postXml("/interop/booking/v2/rest/CancelBookingFile","CancelFileRQ",this.wrapRequest(t))}async insertFilePaymentList(t){return this.http.postXml("/interop/booking/v2/rest/InsertFilePaymentList","FilePaymentListRQ",this.wrapRequest(t))}async printBookingDocument(t){return this.http.postXml("/interop/document/v2/rest/PrintBookingDocument","PrintBookingDocumentRQ",this.wrapRequest(t))}};i(de,"AvesService");var g=de;g=Ft([vt(),Ue(0,He(y)),Ue(1,He(R)),qe("design:type",Function),qe("design:paramtypes",[typeof AvesSdkConfig>"u"?Object:AvesSdkConfig,typeof IXmlHttpClient>"u"?Object:IXmlHttpClient])],g);import Mt from"axios";import{XMLBuilder as Lt,XMLParser as xt}from"fast-xml-parser";import{Inject as wt,Injectable as Vt,Scope as Bt}from"@nestjs/common";function _t(e,t,o,a){var p=arguments.length,m=p<3?t:a===null?a=Object.getOwnPropertyDescriptor(t,o):a,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")m=Reflect.decorate(e,t,o,a);else for(var f=e.length-1;f>=0;f--)(c=e[f])&&(m=(p<3?c(m):p>3?c(t,o,m):c(t,o))||m);return p>3&&m&&Object.defineProperty(t,o,m),m}i(_t,"_ts_decorate");function Ge(e,t){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(e,t)}i(Ge,"_ts_metadata");function Xt(e,t){return function(o,a){t(o,a,e)}}i(Xt,"_ts_param");var le=class le{constructor(t){u(this,"config");u(this,"httpClient");u(this,"xmlBuilder");u(this,"xmlParser");this.config=t,this.httpClient=Mt.create({baseURL:t.baseUrl,timeout:typeof t.timeout=="number"?t.timeout:3e4,headers:{"Content-Type":"application/xml",Accept:"application/xml, text/xml, */*;q=0.1"},transitional:{clarifyTimeoutError:!0},validateStatus:i(o=>o>=200&&o<300,"validateStatus")}),this.xmlBuilder=new Lt({attributeNamePrefix:"@",ignoreAttributes:!1,suppressEmptyNode:!0,format:process.env.NODE_ENV?.toLowerCase()==="development"}),this.xmlParser=new xt({attributeNamePrefix:"@",ignoreAttributes:!1,parseAttributeValue:!1,trimValues:!0,isArray:i(o=>["Field","Item","Service","Passenger","Payment","MasterRecord","Request","Notes","ServiceID"].includes(o),"isArray")})}async postXml(t,o,a,p){let m=this.xmlBuilder.build({[o]:a}),c=await this.httpClient.post(t,m,p);return this.xmlParser.parse(c.data)}};i(le,"XmlHttpClient");var I=le;I=_t([Vt({scope:Bt.DEFAULT}),Xt(0,wt(y)),Ge("design:type",Function),Ge("design:paramtypes",[typeof AvesSdkConfig>"u"?Object:AvesSdkConfig])],I);import{registerAs as jt}from"@nestjs/config";var kt="aves",fe=jt(kt,()=>({baseUrl:process.env.AVES_BASE_URL??"",hostId:process.env.AVES_HOST_ID??"",xtoken:process.env.AVES_XTOKEN??"",languageCode:process.env.AVES_LANGUAGE_CODE,timeout:process.env.AVES_TIMEOUT?Number(process.env.AVES_TIMEOUT):void 0}));import{z as r}from"zod";var qt=r.enum(["01","02"]),Ke=r.object({baseUrl:r.url(),hostId:r.string().length(6),xtoken:r.string(),languageCode:qt.optional(),timeout:r.number().optional()}),Ut=r.object({"@Type":r.enum(["HOME","WORK","BILLING","DELIVERY"]).optional(),Street:r.string().max(100).optional(),City:r.string().max(50).optional(),State:r.string().max(50).optional(),PostalCode:r.string().max(20).optional(),Country:r.string().max(50).optional()}),Ht=r.object({Phone:r.object({"@Type":r.enum(["HOME","WORK","MOBILE","FAX"]).optional(),"@Number":r.string()}).optional(),Email:r.object({"@Type":r.enum(["HOME","WORK"]).optional(),"@Address":r.string()}).optional()}),Gt=r.object({"@PassengerID":r.string().min(1),"@Type":r.enum(["ADT","CHD","INF"]),"@Title":r.enum(["MR","MRS","MS","DR","PROF"]).optional(),FirstName:r.string().min(1).max(50),LastName:r.string().min(1).max(50),MiddleName:r.string().max(50).optional(),DateOfBirth:r.string().datetime().optional(),Gender:r.enum(["M","F"]).optional(),Nationality:r.string().max(3).optional(),Address:Ut.optional(),ContactInfo:Ht.optional()}),Kt=r.object({"@ServiceID":r.string().min(1),"@Type":r.enum(["FLIGHT","HOTEL","CAR","TRANSFER","INSURANCE"]),"@Status":r.enum(["CONFIRMED","PENDING","CANCELLED"]),ServiceDetails:r.object({Code:r.string().optional(),Name:r.string().optional(),Description:r.string().optional(),StartDate:r.string().optional(),EndDate:r.string().optional(),Price:r.object({"@Currency":r.string(),"@Amount":r.number()}).optional()})}),Kn=r.object({"@PaymentID":r.string().min(1),"@Type":r.enum(["CREDIT_CARD","DEBIT_CARD","BANK_TRANSFER","CASH"]),"@Status":r.enum(["PENDING","CONFIRMED","FAILED"]),Amount:r.object({"@Currency":r.string(),"@Amount":r.number()}),PaymentDetails:r.object({CardNumber:r.string().optional(),ExpiryDate:r.string().optional(),CardHolderName:r.string().optional()}).optional()}),Wn=r.object({SearchCriteria:r.object({MasterRecordType:r.enum(["CUSTOMER","AGENT","SUPPLIER"]),SearchFields:r.object({Field:r.array(r.object({"@Name":r.string(),"@Value":r.string(),"@Operator":r.enum(["EQUALS","CONTAINS","STARTS_WITH","ENDS_WITH"]).optional()}))}),Pagination:r.object({"@PageSize":r.number(),"@PageNumber":r.number()}).optional()})}),Yn=r.object({BookingDetails:r.object({"@BookingType":r.enum(["INDIVIDUAL","GROUP","CORPORATE"]),"@Priority":r.enum(["LOW","NORMAL","HIGH","URGENT"]),CustomerInfo:r.object({"@CustomerID":r.string().optional(),CustomerDetails:r.any().optional()}),PassengerList:r.object({Passenger:r.array(Gt)}),SelectedServiceList:r.object({Service:r.array(Kt)}),SpecialRequests:r.object({Request:r.array(r.object({"@Type":r.enum(["MEAL","SEAT","WHEELCHAIR","OTHER"]),"@Description":r.string()}))}).optional()})}),$n=r.object({"@BookingFileID":r.string().min(1),CancellationDetails:r.object({"@Reason":r.enum(["CUSTOMER_REQUEST","NO_SHOW","OPERATIONAL","OTHER"]),"@Description":r.string().optional(),RefundRequest:r.object({"@Amount":r.number(),"@Currency":r.string(),"@Method":r.enum(["ORIGINAL_PAYMENT","CREDIT","CASH"])}).optional()})}),Qn=r.object({"@BookingFileID":r.string().min(1),DocumentRequest:r.object({"@DocumentType":r.enum(["CONFIRMATION","INVOICE","VOUCHER","TICKET","ALL"]),"@Format":r.enum(["PDF","HTML","XML"]),"@Language":r.string().optional(),DeliveryMethod:r.object({"@Type":r.enum(["EMAIL","SMS","DOWNLOAD"]),"@Address":r.string().optional()}).optional()})});function Wt(e,t,o,a){var p=arguments.length,m=p<3?t:a===null?a=Object.getOwnPropertyDescriptor(t,o):a,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")m=Reflect.decorate(e,t,o,a);else for(var f=e.length-1;f>=0;f--)(c=e[f])&&(m=(p<3?c(m):p>3?c(t,o,m):c(t,o))||m);return p>3&&m&&Object.defineProperty(t,o,m),m}i(Wt,"_ts_decorate");var E=class E{static forRoot(t){let o=this.validateConfig(t);return{module:E,imports:[We.forFeature(fe)],providers:[{provide:y,useValue:o},this.createXmlHttpClientProvider(),g],exports:[g,R]}}static forRootAsync(t){let o=this.createAsyncProviders(t);return{module:E,imports:[...t.imports??[],We.forFeature(fe)],providers:[...o,this.createXmlHttpClientProvider(),g],exports:[g,R]}}static createXmlHttpClientProvider(){return{provide:R,useClass:I}}static createAsyncProviders(t){if(t.useFactory)return[{provide:y,useFactory:i(async(...p)=>{try{let m=await t.useFactory(...p);return this.validateConfig(m)}catch(m){throw new Error(`Failed to create Aves configuration: ${m.message}`)}},"useFactory"),inject:t.inject??[]}];let o=t.useClass||t.useExisting;if(!o)throw new Error("Invalid AvesModule async options: provide useFactory, useClass, or useExisting");let a=[{provide:y,useFactory:i(async p=>{try{let m=await p.createAvesOptions();return this.validateConfig(m)}catch(m){throw new Error(`Failed to create Aves configuration: ${m.message}`)}},"useFactory"),inject:[o]}];return t.useClass&&a.push({provide:t.useClass,useClass:t.useClass}),a}static validateConfig(t){let o=Ke.safeParse(t);if(!o.success)throw new Error(`Invalid AVES SDK configuration: ${o.error.issues.map(a=>a.message).join(", ")}`);return o.data}};i(E,"AvesModule"),u(E,"MODULE_NAME","AvesModule"),u(E,"VERSION","1.0.0");var O=E;O=Wt([$t(),Yt({})],O);var mo=(function(e){return e.OK="OK",e.ERROR="ERROR",e.WARNING="WARNING",e.TIMEOUT="TIMEOUT",e})({}),l=(function(e){return e.ERROR="ERROR",e.WARNING="WARNING",e.INFO="INFO",e})({}),s=(function(e){return e.INVALID_TOKEN="AVES_001",e.TOKEN_EXPIRED="AVES_002",e.INSUFFICIENT_PERMISSIONS="AVES_003",e.INVALID_REQUEST_FORMAT="AVES_100",e.MISSING_REQUIRED_FIELD="AVES_101",e.INVALID_FIELD_VALUE="AVES_102",e.INVALID_DATE_FORMAT="AVES_103",e.BOOKING_NOT_FOUND="AVES_200",e.BOOKING_ALREADY_CANCELLED="AVES_201",e.INVALID_BOOKING_STATUS="AVES_202",e.PAYMENT_FAILED="AVES_203",e.INSUFFICIENT_INVENTORY="AVES_204",e.INTERNAL_SERVER_ERROR="AVES_500",e.SERVICE_UNAVAILABLE="AVES_501",e.TIMEOUT="AVES_502",e.RATE_LIMIT_EXCEEDED="AVES_503",e})({});import{ZodError as Qt}from"zod";var P=class P{constructor(t){u(this,"schema");this.schema=t}validate(t){if(!this.schema)throw new Error("No schema provided. Either pass schema to constructor or as method parameter.");return this.schema.parse(t)}async asyncValidate(t){if(!this.schema)throw new Error("No schema provided. Either pass schema to constructor or as method parameter.");return this.schema.parseAsync(t)}safeValidateAndParse(t){return this.schema?this.schema.safeParse(t):this.createError({message:"No schema provided. Either pass schema to constructor or as method parameter.",path:[]})}async safeAsyncValidateAndParse(t){return this.schema?this.schema.safeParseAsync(t):this.createError({message:"No schema provided. Either pass schema to constructor or as method parameter.",path:[]})}getErrorMessage(t,o="; "){return t.issues.map(a=>`${a.path.length>0?`${a.path.join(".")}: `:""}${a.message}`).join(o)}createError({message:t,path:o}){return{success:!1,error:new Qt([{code:"custom",message:t,path:o}])}}static withSchema(t){return new P(t)}};i(P,"AvesValidator");var ge=P;function co(e){return new ge(e)}i(co,"createAvesValidator");import{z as n}from"zod";var Ye=n.enum(["home","work","billing","delivery"]),$e=n.enum(["home","work","mobile","fax"]),Qe=n.enum(["home","work"]),ze=n.enum(["adult","child","infant"]),Ze=n.enum(["mr","mrs","ms","dr","prof"]),Te=n.enum(["male","female"]),Je=n.enum(["flight","hotel","car","transfer","insurance"]),et=n.enum(["confirmed","pending","cancelled"]),tt=n.enum(["credit_card","debit_card","bank_transfer","cash"]),nt=n.enum(["pending","confirmed","failed"]),Ee=n.enum(["customer","agent","supplier"]),ot=n.enum(["equals","contains","starts_with","ends_with"]),rt=n.enum(["individual","group","corporate"]),it=n.enum(["low","normal","high","urgent"]),at=n.enum(["meal","seat","wheelchair","other"]),st=n.enum(["customer_request","no_show","operational","other"]),mt=n.enum(["original_payment","credit","cash"]),pt=n.enum(["confirmation","invoice","voucher","ticket","all"]),ut=n.enum(["pdf","html","xml"]),ct=n.enum(["email","sms","download"]),dt=n.enum(["pending","confirmed","cancelled","completed"]),lt=n.enum(["service","tax","fee","discount"]),ft=n.enum(["sent","pending","failed"]),gt=n.enum(["active","inactive","suspended"]),yt=n.enum(["email","sms","phone"]),S=n.string().regex(/^\d{4}-\d{2}-\d{2}$/,"Date must be in YYYY-MM-DD format"),ye=n.string().regex(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{3})?Z?$/,"DateTime must be in ISO 8601 format"),Re=n.object({type:Ye.optional(),street:n.string().optional(),city:n.string().optional(),state:n.string().optional(),postalCode:n.string().optional(),country:n.string().optional()}),Ie=n.object({phone:n.object({type:$e.optional(),number:n.string().min(1,"Phone number is required")}).optional(),email:n.object({type:Qe.optional(),address:n.string().email("Valid email address is required")}).optional()}),F=n.object({id:n.string().min(1,"Customer ID is required"),type:Ee,status:gt,personalInfo:n.object({title:n.string().optional(),firstName:n.string().min(1,"First name is required"),lastName:n.string().min(1,"Last name is required"),middleName:n.string().optional(),dateOfBirth:S.optional(),gender:Te.optional(),nationality:n.string().optional()}).optional(),contact:Ie.optional(),address:Re.optional(),businessInfo:n.object({companyName:n.string().optional(),taxId:n.string().optional(),licenseNumber:n.string().optional()}).optional(),preferences:n.object({language:n.string().optional(),currency:n.string().optional(),communicationMethod:yt.optional()}).optional()}),he=n.object({id:n.string().min(1,"Passenger ID is required"),type:ze,title:Ze.optional(),firstName:n.string().min(1,"First name is required"),lastName:n.string().min(1,"Last name is required"),middleName:n.string().optional(),dateOfBirth:S.optional(),gender:Te.optional(),nationality:n.string().optional(),passport:n.object({number:n.string().min(1,"Passport number is required"),expiryDate:S,issuingCountry:n.string().min(1,"Issuing country is required")}).optional(),address:Re.optional(),contact:Ie.optional()}),Se=n.object({id:n.string().min(1,"Service ID is required"),type:Je,status:et,code:n.string().optional(),name:n.string().optional(),description:n.string().optional(),startDate:S.optional(),endDate:S.optional(),price:n.object({currency:n.string().min(1,"Currency is required"),amount:n.number().positive("Amount must be positive")}).optional()}),Tt=n.object({id:n.string().min(1,"Payment ID is required"),type:tt,status:nt,amount:n.object({currency:n.string().min(1,"Currency is required"),amount:n.number().positive("Amount must be positive")}),details:n.object({cardNumber:n.string().optional(),expiryDate:n.string().optional(),cardHolderName:n.string().optional()}).optional()}),zt=n.object({type:Ee,fields:n.array(n.object({name:n.string().min(1,"Field name is required"),value:n.string().min(1,"Field value is required"),operator:ot.optional()})).min(1,"At least one search field is required"),pagination:n.object({pageSize:n.number().int().positive("Page size must be a positive integer"),pageNumber:n.number().int().min(1,"Page number must be at least 1")}).optional()}),Zt=n.object({type:rt,priority:it,customerId:n.string().optional(),customerDetails:F.optional(),passengers:n.array(he).min(1,"At least one passenger is required"),services:n.array(Se).min(1,"At least one service is required"),specialRequests:n.array(n.object({type:at,description:n.string().min(1,"Special request description is required")})).optional()}),Jt=n.object({bookingId:n.string().min(1,"Booking ID is required"),reason:st,description:n.string().optional(),refundRequest:n.object({amount:n.number().positive("Refund amount must be positive"),currency:n.string().min(1,"Currency is required"),method:mt}).optional()}),en=n.object({bookingId:n.string().min(1,"Booking ID is required"),documentType:pt,format:ut,language:n.string().optional(),deliveryMethod:n.object({type:ct,address:n.string().optional()}).optional()}),tn=n.object({bookingId:n.string().min(1,"Booking ID is required"),payments:n.array(Tt).min(1,"At least one payment is required")}),nn=n.object({id:n.string().min(1,"Booking ID is required"),status:dt,createdAt:ye,updatedAt:ye,customer:F,passengers:n.array(he),services:n.array(Se),pricing:n.object({totalAmount:n.object({currency:n.string().min(1,"Currency is required"),amount:n.number().positive("Amount must be positive")}),breakdowns:n.array(n.object({type:lt,description:n.string().min(1,"Description is required"),amount:n.number()})).optional()})}),on=n.object({results:n.array(F),pagination:n.object({totalRecords:n.number().int().min(0),pageSize:n.number().int().positive(),pageNumber:n.number().int().min(1),totalPages:n.number().int().min(0)}).optional()}),rn=n.object({id:n.string().min(1,"Document ID is required"),type:n.string().min(1,"Document type is required"),format:n.string().min(1,"Document format is required"),size:n.number().int().positive("Document size must be positive"),createdAt:ye,downloadUrl:n.string().url("Download URL must be valid").optional(),deliveryStatus:n.object({status:ft,method:n.string().min(1,"Delivery method is required"),address:n.string().optional()}).optional()}),an=n.object({success:n.boolean(),message:n.string().optional(),data:n.any().optional()}),yo={addressType:Ye,contactType:$e,emailType:Qe,passengerType:ze,titleType:Ze,genderType:Te,serviceType:Je,serviceStatusType:et,paymentType:tt,paymentStatusType:nt,customerType:Ee,searchOperatorType:ot,bookingType:rt,priorityType:it,specialRequestType:at,cancelReasonType:st,refundMethodType:mt,documentType:pt,documentFormatType:ut,deliveryMethodType:ct,bookingStatusType:dt,pricingItemType:lt,deliveryStatusType:ft,customerStatusType:gt,communicationMethodType:yt,customerAddress:Re,customerContact:Ie,customer:F,bookingPassenger:he,bookingService:Se,bookingPayment:Tt,searchCustomerRequest:zt,createBookingRequest:Zt,cancelBookingRequest:Jt,printDocumentRequest:en,addPaymentRequest:tn,bookingResponse:nn,searchResponse:on,documentResponse:rn,operationResponse:an};import{Injectable as mn}from"@nestjs/common";var h=class h extends Error{constructor(o,a,p={}){super(a);u(this,"code");u(this,"severity");u(this,"timestamp");u(this,"requestId");u(this,"context");this.name="AvesException",this.code=o,this.severity=p.severity||l.ERROR,this.timestamp=new Date().toISOString(),this.context=p.context,this.requestId=p.requestId||this.generateRequestId(),Object.setPrototypeOf(this,h.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,h)}static fromAvesError(o){return new h(o.code,o.message,{severity:o.severity,context:o.context,requestId:o.requestId})}isRetryable(){return[s.TIMEOUT,s.SERVICE_UNAVAILABLE,s.INTERNAL_SERVER_ERROR,s.RATE_LIMIT_EXCEEDED].includes(this.code)}getUserFriendlyMessage(){return{[s.INVALID_TOKEN]:"Your session has expired. Please log in again.",[s.TOKEN_EXPIRED]:"Your session has expired. Please log in again.",[s.INSUFFICIENT_PERMISSIONS]:"You do not have permission to perform this action.",[s.BOOKING_NOT_FOUND]:"The requested booking could not be found.",[s.BOOKING_ALREADY_CANCELLED]:"This booking has already been cancelled.",[s.PAYMENT_FAILED]:"Payment processing failed. Please try again.",[s.INSUFFICIENT_INVENTORY]:"The requested service is no longer available.",[s.SERVICE_UNAVAILABLE]:"The service is temporarily unavailable. Please try again later.",[s.TIMEOUT]:"The request timed out. Please try again.",[s.RATE_LIMIT_EXCEEDED]:"Too many requests. Please wait a moment and try again."}[this.code]||this.message}toJSON(){return{name:this.name,code:this.code,message:this.message,severity:this.severity,timestamp:this.timestamp,requestId:this.requestId,context:this.context,stack:this.stack,isRetryable:this.isRetryable(),userFriendlyMessage:this.getUserFriendlyMessage()}}toAvesError(){return{code:this.code,message:this.message,severity:this.severity,timestamp:this.timestamp,requestId:this.requestId,context:this.context}}getHttpStatusCode(){switch(this.code){case s.INVALID_TOKEN:case s.TOKEN_EXPIRED:return 401;case s.INSUFFICIENT_PERMISSIONS:return 403;case s.BOOKING_NOT_FOUND:return 404;case s.INVALID_REQUEST_FORMAT:case s.MISSING_REQUIRED_FIELD:case s.INVALID_FIELD_VALUE:return 400;case s.RATE_LIMIT_EXCEEDED:return 429;case s.SERVICE_UNAVAILABLE:return 503;case s.TIMEOUT:return 408;default:return 500}}getCategory(){return this.code.startsWith("AVES_1")?"Authentication":this.code.startsWith("AVES_2")?"Business Logic":this.code.startsWith("AVES_5")?"System":"Unknown"}generateRequestId(){return`aves_${Date.now()}_${Math.random().toString(36).substr(2,9)}`}};i(h,"AvesException");var d=h;function sn(e,t,o,a){var p=arguments.length,m=p<3?t:a===null?a=Object.getOwnPropertyDescriptor(t,o):a,c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")m=Reflect.decorate(e,t,o,a);else for(var f=e.length-1;f>=0;f--)(c=e[f])&&(m=(p<3?c(m):p>3?c(t,o,m):c(t,o))||m);return p>3&&m&&Object.defineProperty(t,o,m),m}i(sn,"_ts_decorate");var Ne=class Ne{parseError(t){return t instanceof d?t:this.isHttpError(t)?this.parseHttpError(t):this.isAvesXmlResponse(t)?this.parseAvesXmlError(t):t instanceof Error?new d(s.INTERNAL_SERVER_ERROR,t.message,{severity:l.ERROR,context:this.buildContext({type:"javascript_error",errorName:t.name,stack:t.stack||"No stack trace available"})}):new d(s.INTERNAL_SERVER_ERROR,"Unknown error occurred",{severity:l.ERROR,context:this.buildContext({type:"unknown_error",errorName:typeof t,errorValue:String(t)})})}parseHttpError(t){if(t.response){let o=t.response.status,a=t.response.statusText;switch(o){case 400:return new d(s.INVALID_REQUEST_FORMAT,`Bad Request: ${a}`,{severity:l.ERROR,context:this.buildContext({type:"http_error",errorName:o,statusText:a,url:t.config?.url,method:t.config?.method,timeout:t.config?.timeout})});case 401:return new d(s.INVALID_TOKEN,"Authentication failed",{severity:l.ERROR,context:this.buildContext({type:"http_error",status:o,url:t.config?.url,method:t.config?.method,timeout:t.config?.timeout})});case 403:return new d(s.INSUFFICIENT_PERMISSIONS,"Access forbidden",{severity:l.ERROR,context:this.buildContext({type:"http_error",status:o,url:t.config?.url,method:t.config?.method,timeout:t.config?.timeout})});case 404:return new d(s.BOOKING_NOT_FOUND,"Resource not found",{severity:l.ERROR,context:this.buildContext({type:"http_error",status:o,url:t.config?.url,method:t.config?.method,timeout:t.config?.timeout})});case 429:return new d(s.RATE_LIMIT_EXCEEDED,"Rate limit exceeded",{severity:l.ERROR,context:this.buildContext({type:"http_error",status:o,retryAfter:t.response.headers?.["retry-after"]})});case 500:return new d(s.INTERNAL_SERVER_ERROR,"Internal server error",{severity:l.ERROR,context:this.buildContext({type:"http_error",status:o,url:t.config?.url,method:t.config?.method,timeout:t.config?.timeout})});case 503:return new d(s.SERVICE_UNAVAILABLE,"Service unavailable",{severity:l.ERROR,context:this.buildContext({type:"http_error",status:o,url:t.config?.url,method:t.config?.method,timeout:t.config?.timeout})});default:return new d(s.INTERNAL_SERVER_ERROR,`HTTP ${o}: ${a}`,{severity:l.ERROR,context:this.buildContext({type:"http_error",status:o,statusText:a,url:t.config?.url,method:t.config?.method,timeout:t.config?.timeout})})}}else return t.request?new d(s.TIMEOUT,"Request timeout - no response from AVES API",{severity:l.ERROR,context:this.buildContext({type:"http_error",timeout:!0,url:t.config?.url,method:t.config?.method,configuredTimeout:t.config?.timeout})}):new d(s.INTERNAL_SERVER_ERROR,`Request setup error: ${t.message}`,{severity:l.ERROR,context:this.buildContext({type:"http_error",setupError:!0})})}parseAvesXmlError(t){if(!t?.Response?.RsStatus)return new d(s.INVALID_REQUEST_FORMAT,"Invalid response format from AVES API",{severity:l.ERROR,context:this.buildContext({type:"aves_xml_error",missingRsStatus:!0})});let o=t.Response.RsStatus;if(o["@Status"]==="ERROR")return new d(o.ErrorCode||s.INTERNAL_SERVER_ERROR,o.ErrorDescription||"Unknown error from AVES API",{severity:l.ERROR,context:this.buildContext({type:"aves_xml_error",originalResponse:o})});if(o.Warnings?.Warning){let a=Array.isArray(o.Warnings.Warning)?o.Warnings.Warning:[o.Warnings.Warning];return new d(s.INVALID_FIELD_VALUE,a.join("; "),{severity:l.WARNING,context:this.buildContext({type:"aves_xml_warning",warnings:a})})}return new d(s.INTERNAL_SERVER_ERROR,"Unexpected response from AVES API",{severity:l.ERROR,context:this.buildContext({type:"aves_xml_error",unexpectedResponse:!0,status:o["@Status"]})})}isRetryable(t){return[s.TIMEOUT,s.SERVICE_UNAVAILABLE,s.INTERNAL_SERVER_ERROR,s.RATE_LIMIT_EXCEEDED].includes(t.code)}getUserFriendlyMessage(t){return{[s.INVALID_TOKEN]:"Your session has expired. Please log in again.",[s.TOKEN_EXPIRED]:"Your session has expired. Please log in again.",[s.INSUFFICIENT_PERMISSIONS]:"You do not have permission to perform this action.",[s.BOOKING_NOT_FOUND]:"The requested booking could not be found.",[s.BOOKING_ALREADY_CANCELLED]:"This booking has already been cancelled.",[s.PAYMENT_FAILED]:"Payment processing failed. Please try again.",[s.INSUFFICIENT_INVENTORY]:"The requested service is no longer available.",[s.SERVICE_UNAVAILABLE]:"The service is temporarily unavailable. Please try again later.",[s.TIMEOUT]:"The request timed out. Please try again.",[s.RATE_LIMIT_EXCEEDED]:"Too many requests. Please wait a moment and try again."}[t.code]||t.message}buildContext(t){let o={};return typeof t=="object"&&t!==null?Object.keys(t).forEach(a=>{let p=t[a];if(this.isSensitiveKey(a)){o[a]="********";return}this.isSerializableValue(p)?o[a]=p:typeof p=="function"?o[a]="[Function]":p instanceof Error?o[a]={name:p.name,message:p.message,stack:p.stack?.split(`
|
|
2
2
|
`).slice(0,3).join(`
|
|
3
|
-
`)}:
|
|
3
|
+
`)}:o[a]=String(p)}):typeof t=="string"?o.message=t:typeof t=="number"||typeof t=="boolean"?o.value=t:o.input=String(t),o.timestamp=new Date().toISOString(),o.contextType=typeof t,o}isSensitiveKey(t){let o=["password","token","secret","key","auth","credential","xtoken","authorization","cookie","session","private"],a=t.toLowerCase();return o.some(p=>a.includes(p))}isSerializableValue(t){return t==null||typeof t=="string"||typeof t=="number"||typeof t=="boolean"?!0:Array.isArray(t)?t.length<=10:typeof t=="object"&&t.constructor===Object?Object.keys(t).length<=20:!1}isHttpError(t){return t&&(t.response||t.request||t.config)}isAvesXmlResponse(t){return t&&t.Response&&t.Response.RsStatus}};i(Ne,"AvesErrorHandler");var v=Ne;v=sn([mn()],v);export{kt as AVES_CONFIG_NAMESPACE,y as AVES_SDK_CONFIG,Ut as AddressValidation,s as AvesErrorCodes,v as AvesErrorHandler,d as AvesException,O as AvesModule,g as AvesService,l as AvesSeverity,mo as AvesStatus,ge as AvesValidator,Yn as BookFileRQValidation,$n as CancelFileRQValidation,Ht as ContactInfoValidation,qt as LanguageCodeValidation,Gt as PassengerValidation,Kn as PaymentValidation,Qn as PrintBookingDocumentRQValidation,Wn as SearchMasterRecordRQValidation,Kt as ServiceValidation,R as XML_HTTP_CLIENT,I as XmlHttpClient,tn as addPaymentRequestSchema,Ye as addressTypeSchema,yo as apiSchemas,fe as avesConfig,he as bookingPassengerSchema,Tt as bookingPaymentSchema,nn as bookingResponseSchema,Se as bookingServiceSchema,dt as bookingStatusTypeSchema,rt as bookingTypeSchema,Jt as cancelBookingRequestSchema,st as cancelReasonTypeSchema,yt as communicationMethodTypeSchema,Ke as configValidationSchema,$e as contactTypeSchema,co as createAvesValidator,Zt as createBookingRequestSchema,T as createDateString,N as createDateTimeString,un as createTimeString,Re as customerAddressSchema,Ie as customerContactSchema,F as customerSchema,gt as customerStatusTypeSchema,Ee as customerTypeSchema,ct as deliveryMethodTypeSchema,ft as deliveryStatusTypeSchema,ut as documentFormatTypeSchema,rn as documentResponseSchema,pt as documentTypeSchema,Qe as emailTypeSchema,Te as genderTypeSchema,Nt as mapAddPaymentToXml,ae as mapAddressToXml,X as mapAddressTypeFromXml,_ as mapAddressTypeToXml,me as mapBookingFromXml,Dt as mapBookingResponseFromXml,Q as mapBookingTypeToXml,ht as mapCancelBookingToXml,J as mapCancelReasonToXml,bt as mapCancelResponseFromXml,se as mapContactToXml,L as mapContactTypeFromXml,M as mapContactTypeToXml,It as mapCreateBookingToXml,je as mapCustomerToXml,D as mapCustomerTypeToXml,oe as mapDeliveryMethodToXml,ne as mapDocumentFormatToXml,Ct as mapDocumentResponseFromXml,te as mapDocumentTypeToXml,w as mapEmailTypeFromXml,x as mapEmailTypeToXml,Pt as mapMasterRecordFromXml,Me as mapPassengerToXml,B as mapPassengerTypeFromXml,V as mapPassengerTypeToXml,Ot as mapPaymentResponseFromXml,$ as mapPaymentStatusFromXml,Y as mapPaymentStatusToXml,Ve as mapPaymentToXml,W as mapPaymentTypeFromXml,K as mapPaymentTypeToXml,St as mapPrintDocumentToXml,z as mapPriorityToXml,ee as mapRefundMethodToXml,Rt as mapSearchCustomerToXml,re as mapSearchOperatorToXml,At as mapSearchResponseFromXml,G as mapServiceStatusFromXml,H as mapServiceStatusToXml,xe as mapServiceToXml,U as mapServiceTypeFromXml,q as mapServiceTypeToXml,Z as mapSpecialRequestTypeToXml,k as mapTitleFromXml,j as mapTitleToXml,an as operationResponseSchema,ze as passengerTypeSchema,nt as paymentStatusTypeSchema,tt as paymentTypeSchema,lt as pricingItemTypeSchema,en as printDocumentRequestSchema,it as priorityTypeSchema,mt as refundMethodTypeSchema,zt as searchCustomerRequestSchema,ot as searchOperatorTypeSchema,on as searchResponseSchema,et as serviceStatusTypeSchema,Je as serviceTypeSchema,at as specialRequestTypeSchema,Ze as titleTypeSchema};
|
|
4
4
|
//# sourceMappingURL=index.js.map
|