public void InitAlernateHotelDescriptiveInfoRQ(ref WBSAPIRouterData objWBSAPIRouterData, string[] objHotelCodes) { WBSAPIRouterGateway gwWBS = new WBSAPIRouterGateway(objEventLog, objExceptionEventLog, bIsProduction); HotelDescriptiveInfoRQ objHotelDescriptiveInfoRQ = new HotelDescriptiveInfoRQ(); objHotelDescriptiveInfoRQ.RequestHeader = this.GetRequestHeader(); objHotelDescriptiveInfoRQ.HotelCodes = objHotelCodes; objHotelDescriptiveInfoRQ.SendDescriptionInfo = true; objHotelDescriptiveInfoRQ.SendGuestRoomInfo = false; objHotelDescriptiveInfoRQ.SendPolicyInfo = false; objHotelDescriptiveInfoRQ.AreaIDs = new string[0]; objHotelDescriptiveInfoRQ.BrandCodes = new string[0]; objHotelDescriptiveInfoRQ.CountryCodes = new string[0]; gwWBS.InitHotelDescriptionRQ(ref objWBSAPIRouterData, objHotelDescriptiveInfoRQ); return; }
public bool ProcessSearchHotelDescriptiveInfoRS(ref WBSAPIRouterData objWBSAPIRouterData) { WBSAPIRouterGateway gwWBS = new WBSAPIRouterGateway(objEventLog, objExceptionEventLog, bIsProduction); HotelDescriptiveInfoRS objHotelDescriptiveInfoRS = gwWBS.ProcessHotelDescriptionRS(ref objWBSAPIRouterData); Session["SearchHotelDescriptiveInfoRS"] = objHotelDescriptiveInfoRS; return !this.ProcessResponseErrors(objHotelDescriptiveInfoRS.ResponseHeader); }
public bool ProcessReadHotelBookingRS(ref WBSAPIRouterData objWBSAPIRouterData) { WBSAPIRouterGateway gwWBS = new WBSAPIRouterGateway(objEventLog, objExceptionEventLog, bIsProduction); HotelBookingReadRS objHotelBookingReadRS = gwWBS.ProcessHotelBookingRetrievalRS(ref objWBSAPIRouterData); Session["HotelBookingReadRS"] = objHotelBookingReadRS; return !this.ProcessResponseErrors(objHotelBookingReadRS.ResponseHeader); }
public bool ProcessLoginProfileRS(ref WBSAPIRouterData objWBSAPIRouterData) { WBSAPIRouterGateway gwWBS = new WBSAPIRouterGateway(objEventLog, objExceptionEventLog, bIsProduction); ProfileReadRS objProfileReadRS = gwWBS.ProcessProfileReadRS(ref objWBSAPIRouterData); Session["LoginProfileReadRS"] = objProfileReadRS; return !this.ProcessResponseErrors(objProfileReadRS.ResponseHeader); }
public bool ProcessHotelSearchPropertyListRS(ref WBSAPIRouterData objWBSAPIRouterData) { WBSAPIRouterGateway gwWBS = new WBSAPIRouterGateway(objEventLog, objExceptionEventLog, bIsProduction); HotelSearchRS objHotelSearchRS = gwWBS.ProcessHotelSearchRS(ref objWBSAPIRouterData); Session["PropertyListHotelSearchRS"] = objHotelSearchRS; return !this.ProcessResponseErrors(objHotelSearchRS.ResponseHeader); }
public bool ProcessHotelAvailInfoRS(ref WBSAPIRouterData objWBSAPIRouterData) { WBSAPIRouterGateway gwWBS = new WBSAPIRouterGateway(objEventLog, objExceptionEventLog, bIsProduction); HotelAvailabilityRS objHotelAvailabilityRS = gwWBS.ProcessHotelAvailabilityRS(ref objWBSAPIRouterData); Session["HotelAvailabilityRS"] = objHotelAvailabilityRS; Session["HotelAvailabilityCalendarRS"] = null; return !this.ProcessResponseErrors(objHotelAvailabilityRS.ResponseHeader); }
public void InitBookHotelRQ(ref WBSAPIRouterData objWBSAPIRouterData, BookingAction enumBookingAction) { WBSAPIRouterGateway gwWBS = new WBSAPIRouterGateway(objEventLog, objExceptionEventLog, bIsProduction); HotelAvailabilityRS objHotelAvailabilityRS = (HotelAvailabilityRS)Session["HotelAvailabilityRS"]; StayCriteriaSelection objStayCriteriaSelection = (StayCriteriaSelection)Session[Constants.Sessions.StayCriteriaSelection]; RoomRateSelection[] objRoomRateSelections = (RoomRateSelection[])Session["RoomRateSelections"]; AddOnPackageSelection[] objAddOnPackageSelections = (AddOnPackageSelection[])Session["AddOnPackageSelections"]; GuestDetailsEntryInfo objGuestDetailsEntryInfo = (GuestDetailsEntryInfo)Session["GuestDetailsEntryInfo"]; CancelDetailsEntryInfo objCancelDetailsEntryInfo = (CancelDetailsEntryInfo)Session["CancelDetailsEntryInfo"]; PaymentGatewayInfo[] objPaymentGatewayInfos = (PaymentGatewayInfo[])Session[Constants.Sessions.PaymentGatewayInfos]; PaymentGatewayInfo objPaymentGatewayInfo = (PaymentGatewayInfo)Session[Constants.Sessions.PaymentGatewayInfo]; HotelBookingPaymentAllocation[] objHotelBookingPaymentAllocations = (HotelBookingPaymentAllocation[])Session[Constants.Sessions.HotelBookingPaymentAllocations]; HotelPaymentRQ objHotelPaymentRQ = (HotelPaymentRQ)Session["HotelPaymentRQ"]; HotelPaymentRS objHotelPaymentRS = (HotelPaymentRS)Session["HotelPaymentRS"]; bool bIsOnlinePayment = WBSPGHelper.IsOnlinePayment(objPaymentGatewayInfos, objHotelBookingPaymentAllocations, objGuestDetailsEntryInfo.PaymentCardType); Profile[] objProfiles = (Profile[])Session["LoginProfiles"]; bool bIsLoggedIn = (bool)Session["IsLoggedIn"]; Profile objCompanyProfile = ProfileHelper.GetProfile(objProfiles, ProfileType.Corporation); Profile objAgencyProfile = ProfileHelper.GetProfile(objProfiles, ProfileType.TravelAgent); HotelBookingRQ objHotelBookingRQ = new HotelBookingRQ(); objHotelBookingRQ.RequestHeader = this.GetRequestHeader(); objHotelBookingRQ.BookingAction = enumBookingAction; List<HotelBookingRequestSegment> lSegments = new List<HotelBookingRequestSegment>(); if (enumBookingAction == BookingAction.Sell || enumBookingAction == BookingAction.TestSell || enumBookingAction == BookingAction.Modify) { for (int ri = 0; ri < objStayCriteriaSelection.RoomOccupantSelections.Length; ri++) { HotelBookingRequestSegment objSegment = new HotelBookingRequestSegment(); lSegments.Add(objSegment); string strRoomRefID = objStayCriteriaSelection.RoomOccupantSelections[ri].RoomRefID; HotelRoomAvailInfo objHotelRoomAvailInfo = this.GetHotelRoomAvailInfo(objHotelAvailabilityRS.HotelRoomAvailInfos, strRoomRefID); RoomRateSelection objRoomRateSelection = this.GetRoomRateSelection(objRoomRateSelections, strRoomRefID); HotelAvailRatePlan objHotelAvailRatePlan = this.GetRatePlanInfo(objHotelRoomAvailInfo.RatePlans, objRoomRateSelection.RatePlanCode); AddOnPackageSelection[] objRoomAddOnPackageSelections = this.GetAddOnPackageSelections(objAddOnPackageSelections, strRoomRefID); objSegment.SegmentRefID = strRoomRefID; objSegment.HotelCode = objStayCriteriaSelection.HotelCode; objSegment.ChainCode = ConfigurationManager.AppSettings["HotelChainCode"]; objSegment.ConfirmationNumber = ""; objSegment.ArrivalDate = objStayCriteriaSelection.ArrivalDate.Date; objSegment.DepartureDate = objStayCriteriaSelection.DepartureDate.Date; objSegment.RoomTypeCode = objRoomRateSelection.RoomTypeCode; objSegment.RatePlanCode = objRoomRateSelection.RatePlanCode; objSegment.PromoCode = objStayCriteriaSelection.PromotionCode; objSegment.NumRooms = objStayCriteriaSelection.RoomOccupantSelections[ri].NumberRooms; objSegment.NumAdults = objStayCriteriaSelection.RoomOccupantSelections[ri].NumberAdults; objSegment.NumChildren = objStayCriteriaSelection.RoomOccupantSelections[ri].NumberChildren; // Enhancement: special requests section needs to be "by room" in guest details objSegment.NumCribs = objGuestDetailsEntryInfo.NumberCribs; objSegment.NumRollawaysAdult = objGuestDetailsEntryInfo.NumberRollawaysAdult; objSegment.NumRollawaysChild = objGuestDetailsEntryInfo.NumberRollawaysChild; objSegment.SpecialInstructions = objGuestDetailsEntryInfo.SpecialInstructions; objSegment.IsBaseOccupancyPricing = false; objSegment.NumBaseOccupants = 0; // Enhancement: arrival time needs to be "by room" in guest details objSegment.FlightNumber = objGuestDetailsEntryInfo.FlightNumber; if (objGuestDetailsEntryInfo.ArrivalTime != null && objGuestDetailsEntryInfo.ArrivalTime != "") { DateTime dtArrivalTime; if (DateTime.TryParse(objGuestDetailsEntryInfo.ArrivalTime, out dtArrivalTime)) { objSegment.ArrivalTime = dtArrivalTime; objSegment.ArrivalTimeSpecified = true; } else { objSegment.ArrivalTime = DateTime.Today.Date; objSegment.ArrivalTimeSpecified = false; } } else { objSegment.ArrivalTime = DateTime.Today.Date; objSegment.ArrivalTimeSpecified = false; } List<Profile> lProfiles = new List<Profile>(); Profile objGuest = new Profile(); lProfiles.Add(objGuest); objGuest.Type = ProfileType.Traveler; objGuest.PersonNamePrefix = objGuestDetailsEntryInfo.NamePrefix; objGuest.PersonFirstName = objGuestDetailsEntryInfo.FirstName; objGuest.PersonLastName = objGuestDetailsEntryInfo.LastName; objGuest.CompanyName = ""; objGuest.Address1 = objGuestDetailsEntryInfo.Address1; objGuest.Address2 = objGuestDetailsEntryInfo.Address2; objGuest.City = objGuestDetailsEntryInfo.City; objGuest.StateRegion = objGuestDetailsEntryInfo.StateRegion; objGuest.PostalCode = objGuestDetailsEntryInfo.PostalCode; objGuest.Country = objGuestDetailsEntryInfo.Country; objGuest.Phone = objGuestDetailsEntryInfo.Phone; objGuest.Fax = ""; objGuest.Email = objGuestDetailsEntryInfo.Email; objGuest.SubscribeToNewsletter = objGuestDetailsEntryInfo.SubscribeToNewsletter; objGuest.TravelPurpose = objGuestDetailsEntryInfo.TravelPurpose; List<ProfileIdentifier> lGuestProfileIdentifiers = new List<ProfileIdentifier>(); if (objGuestDetailsEntryInfo.HotelProgramCode != null && objGuestDetailsEntryInfo.HotelProgramCode != "") { ProfileIdentifier objProfileIdentifier = new ProfileIdentifier(); lGuestProfileIdentifiers.Add(objProfileIdentifier); objProfileIdentifier.Type = ProfileIdentifierType.HotelLoyaltyProgram; objProfileIdentifier.ProgramCode = objGuestDetailsEntryInfo.HotelProgramCode; objProfileIdentifier.Identifier = objGuestDetailsEntryInfo.HotelProgramIdentifier; } if (objGuestDetailsEntryInfo.AirlineProgramCode != null && objGuestDetailsEntryInfo.AirlineProgramCode != "") { ProfileIdentifier objProfileIdentifier = new ProfileIdentifier(); lGuestProfileIdentifiers.Add(objProfileIdentifier); objProfileIdentifier.Type = ProfileIdentifierType.AirlineLoyaltyProgram; objProfileIdentifier.ProgramCode = objGuestDetailsEntryInfo.AirlineProgramCode; objProfileIdentifier.Identifier = objGuestDetailsEntryInfo.AirlineProgramIdentifier; } objGuest.ProfileIdentifiers = lGuestProfileIdentifiers.ToArray(); if (objCompanyProfile != null) { lProfiles.Add(objCompanyProfile); } else if (objGuestDetailsEntryInfo.CompanyName != null && objGuestDetailsEntryInfo.CompanyName != "") { Profile objCompany = new Profile(); lProfiles.Add(objCompany); objCompany.Type = ProfileType.Corporation; objCompany.PersonNamePrefix = ""; objCompany.PersonFirstName = ""; objCompany.PersonLastName = ""; objCompany.CompanyName = objGuestDetailsEntryInfo.CompanyName; objCompany.Address1 = ""; objCompany.Address2 = ""; objCompany.City = ""; objCompany.StateRegion = ""; objCompany.PostalCode = ""; objCompany.Country = ""; objCompany.Phone = ""; objCompany.Fax = ""; objCompany.Email = ""; objCompany.SubscribeToNewsletter = false; objCompany.TravelPurpose = TravelPurpose.NotIdentified; objCompany.ProfileIdentifiers = new ProfileIdentifier[0]; } if (objAgencyProfile != null) { lProfiles.Add(objAgencyProfile); } else if (objGuestDetailsEntryInfo.TravelAgencyIATA != null && objGuestDetailsEntryInfo.TravelAgencyIATA != "") { Profile objAgency = new Profile(); lProfiles.Add(objAgency); objAgency.Type = ProfileType.TravelAgent; objAgency.PersonNamePrefix = ""; objAgency.PersonFirstName = ""; objAgency.PersonLastName = ""; objAgency.CompanyName = ""; objAgency.Address1 = ""; objAgency.Address2 = ""; objAgency.City = ""; objAgency.StateRegion = ""; objAgency.PostalCode = ""; objAgency.Country = ""; objAgency.Phone = ""; objAgency.Fax = ""; objAgency.Email = ""; objAgency.SubscribeToNewsletter = false; objAgency.TravelPurpose = TravelPurpose.NotIdentified; ProfileIdentifier objAgencyIATA = new ProfileIdentifier(); objAgencyIATA.Type = ProfileIdentifierType.IATA; objAgencyIATA.Identifier = objGuestDetailsEntryInfo.TravelAgencyIATA; objAgencyIATA.ProgramCode = ""; objAgency.ProfileIdentifiers = new ProfileIdentifier[1]; objAgency.ProfileIdentifiers[0] = objAgencyIATA; } objSegment.Profiles = lProfiles.ToArray(); objSegment.PackageQuantities = new HotelBookingPackageQuantity[objRoomAddOnPackageSelections.Length]; for (int i = 0; i < objRoomAddOnPackageSelections.Length; i++) { HotelBookingPackageQuantity objHotelBookingPackageQuantity = new HotelBookingPackageQuantity(); objSegment.PackageQuantities[i] = objHotelBookingPackageQuantity; objHotelBookingPackageQuantity.Code = objRoomAddOnPackageSelections[i].PackageCode; objHotelBookingPackageQuantity.Quantity = objRoomAddOnPackageSelections[i].Quantity; } objSegment.GuaranteeType = objHotelAvailRatePlan.GuaranteeType; objSegment.PaymentCard = null; objSegment.DepositPaymentAmount = 0; objSegment.PaymentAuthCode = ""; objSegment.PaymentTransRefID = ""; if (objHotelAvailRatePlan.GuaranteeType == GuaranteeType.CCDCVoucher && objGuestDetailsEntryInfo.ProfileGuaranteeRequested) { objSegment.GuaranteeType = GuaranteeType.Profile; } else if (objHotelAvailRatePlan.GuaranteeType == GuaranteeType.CCDCVoucher) { HotelBookingPaymentCard objPaymentCard = new HotelBookingPaymentCard(); objSegment.PaymentCard = objPaymentCard; objPaymentCard.PaymentCardType = objGuestDetailsEntryInfo.PaymentCardType; objPaymentCard.PaymentCardNumber = objGuestDetailsEntryInfo.PaymentCardNumber; objPaymentCard.PaymentCardHolder = objGuestDetailsEntryInfo.PaymentCardHolder; objPaymentCard.PaymentCardEffectiveDate = objGuestDetailsEntryInfo.PaymentCardEffectiveDate; objPaymentCard.PaymentCardExpireDate = objGuestDetailsEntryInfo.PaymentCardExpireDate; objPaymentCard.PaymentCardIssueNumber = objGuestDetailsEntryInfo.PaymentCardIssueNumber; objPaymentCard.PaymentCardSecurityCode = objGuestDetailsEntryInfo.PaymentCardSecurityCode; objSegment.CurrencyCode = objHotelAvailRatePlan.DepositRequiredCurrencyCode; } else if (objHotelAvailRatePlan.GuaranteeType == GuaranteeType.Deposit || objHotelAvailRatePlan.GuaranteeType == GuaranteeType.PrePay) { HotelBookingPaymentCard objPaymentCard = new HotelBookingPaymentCard(); objSegment.PaymentCard = objPaymentCard; objPaymentCard.PaymentCardType = objGuestDetailsEntryInfo.PaymentCardType; objPaymentCard.PaymentCardNumber = objGuestDetailsEntryInfo.PaymentCardNumber; objPaymentCard.PaymentCardHolder = objGuestDetailsEntryInfo.PaymentCardHolder; objPaymentCard.PaymentCardEffectiveDate = objGuestDetailsEntryInfo.PaymentCardEffectiveDate; objPaymentCard.PaymentCardExpireDate = objGuestDetailsEntryInfo.PaymentCardExpireDate; objPaymentCard.PaymentCardIssueNumber = objGuestDetailsEntryInfo.PaymentCardIssueNumber; objPaymentCard.PaymentCardSecurityCode = objGuestDetailsEntryInfo.PaymentCardSecurityCode; objSegment.CurrencyCode = objHotelAvailRatePlan.DepositRequiredCurrencyCode; decimal decDepositPaymentAmount = WBSPGHelper.GetBookingSegmentPayment(objHotelBookingPaymentAllocations, strRoomRefID); if (bIsOnlinePayment && decDepositPaymentAmount != 0) { objSegment.PaymentCard = objHotelPaymentRS.PaymentCard; objSegment.DepositPaymentAmount = decDepositPaymentAmount; objSegment.PaymentAuthCode = objHotelPaymentRS.PaymentAuthCode; objSegment.PaymentTransRefID = objHotelPaymentRS.PaymentTransRefID; objSegment.PaymentCard.PaymentCardSecurityCode = ""; // remove security code (no longer needed) } } } } if (enumBookingAction == BookingAction.Cancel) { for (int ci = 0; ci < objCancelDetailsEntryInfo.SelectedConfirmationNumbersToCancel.Length; ci++) { HotelBookingRequestSegment objSegment = new HotelBookingRequestSegment(); lSegments.Add(objSegment); objSegment.SegmentRefID = ((int)(ci + 1)).ToString(); objSegment.ConfirmationNumber = objCancelDetailsEntryInfo.SelectedConfirmationNumbersToCancel[ci]; } } objHotelBookingRQ.Segments = lSegments.ToArray(); gwWBS.InitHotelBookingRQ(ref objWBSAPIRouterData, objHotelBookingRQ); return; }
public void InitSearchHotelAvailCalendarInfoRQ(ref WBSAPIRouterData objWBSAPIRouterData, string[] objHotelCodes, StayCriteriaSelection objStayCriteriaSelection, DateTime dtAvailCalStartDate, int intAvailCalNumDays, string strLinkedProfileID) { WBSAPIRouterGateway gwWBS = new WBSAPIRouterGateway(objEventLog, objExceptionEventLog, bIsProduction); HotelAvailabilityRQ objHotelAvailabilityRQ = new HotelAvailabilityRQ(); objHotelAvailabilityRQ.RequestHeader = this.GetRequestHeader(); objHotelAvailabilityRQ.HotelRoomAvailRequests = new HotelRoomAvailRequest[objHotelCodes.Length]; for (int i = 0; i < objHotelCodes.Length; i++) { HotelRoomAvailRequest objHotelRoomAvailRequest = new HotelRoomAvailRequest(); objHotelAvailabilityRQ.HotelRoomAvailRequests[i] = objHotelRoomAvailRequest; objHotelRoomAvailRequest.SegmentRefID = objHotelCodes[i]; objHotelRoomAvailRequest.ReturnAlternateAvailability = false; objHotelRoomAvailRequest.IsModify = false; objHotelRoomAvailRequest.HotelCode = objHotelCodes[i]; objHotelRoomAvailRequest.ArrivalDate = objStayCriteriaSelection.ArrivalDate; objHotelRoomAvailRequest.DepartureDate = objStayCriteriaSelection.DepartureDate; objHotelRoomAvailRequest.PromotionCode = objStayCriteriaSelection.PromotionCode; objHotelRoomAvailRequest.ProfileIdentifier = strLinkedProfileID; objHotelRoomAvailRequest.NumberRooms = objStayCriteriaSelection.RoomOccupantSelections[0].NumberRooms; objHotelRoomAvailRequest.NumberAdults = objStayCriteriaSelection.RoomOccupantSelections[0].NumberAdults; objHotelRoomAvailRequest.NumberChildren = objStayCriteriaSelection.RoomOccupantSelections[0].NumberChildren; objHotelRoomAvailRequest.ReturnAvailabilityCalendar = true; objHotelRoomAvailRequest.ReturnAvailabilityCalendarOnly = true; objHotelRoomAvailRequest.ReturnAvailabilityCalendarAvailRatesOnly = true; objHotelRoomAvailRequest.ReturnAvailabilityCalendarSummaryOnly = true; objHotelRoomAvailRequest.ApplyAvailabilityCalendarSummaryFilter = true; objHotelRoomAvailRequest.AvailCalendarStartDate = dtAvailCalStartDate; objHotelRoomAvailRequest.AvailCalendarNumDays = intAvailCalNumDays; objHotelRoomAvailRequest.RequestedPublicRatePlanCategories = new string[0]; objHotelRoomAvailRequest.RequestedRoomTypeCodes = new string[0]; objHotelRoomAvailRequest.RequestedSpecialRatePlanCodes = new string[0]; } gwWBS.InitHotelAvailabilityRQ(ref objWBSAPIRouterData, objHotelAvailabilityRQ); return; }
public void InitReadHotelBookingRQ(ref WBSAPIRouterData objWBSAPIRouterData, string strConfirmationNumber) { WBSAPIRouterGateway gwWBS = new WBSAPIRouterGateway(objEventLog, objExceptionEventLog, bIsProduction); HotelBookingReadRQ objHotelBookingReadRQ = new HotelBookingReadRQ(); objHotelBookingReadRQ.RequestHeader = this.GetRequestHeader(); objHotelBookingReadRQ.BookingReferenceNumberType = BookingReferenceNumberType.ConfirmationNumber; objHotelBookingReadRQ.BookingReferenceNumber = strConfirmationNumber; gwWBS.InitHotelBookingRetrievalRQ(ref objWBSAPIRouterData, objHotelBookingReadRQ); return; }
public void InitLoginProfileRQ(ref WBSAPIRouterData objWBSAPIRouterData, string strProfileLogonName) { WBSAPIRouterGateway gwWBS = new WBSAPIRouterGateway(objEventLog, objExceptionEventLog, bIsProduction); ProfileReadRQ objProfileReadRQ = new ProfileReadRQ(); objProfileReadRQ.RequestHeader = this.GetRequestHeader(); objProfileReadRQ.ReadContext = ProfileReadContext.ProfileLogonName; objProfileReadRQ.ReadIdentifier = strProfileLogonName; gwWBS.InitProfileReadRQ(ref objWBSAPIRouterData, objProfileReadRQ); return; }
public void InitHotelSearchPropertyListRQ(ref WBSAPIRouterData objWBSAPIRouterData, string[] objAreaIDs) { WBSAPIRouterGateway gwWBS = new WBSAPIRouterGateway(objEventLog, objExceptionEventLog, bIsProduction); HotelSearchRQ objHotelSearchRQ = new HotelSearchRQ(); objHotelSearchRQ.RequestHeader = this.GetRequestHeader(); objHotelSearchRQ.SearchAction = SearchAction.PropertyList; objHotelSearchRQ.BrandCodes = this.GetHotelBrandCodes(); objHotelSearchRQ.CountryCodes = new string[0]; objHotelSearchRQ.AreaIDs = objAreaIDs; gwWBS.InitHotelSearchRQ(ref objWBSAPIRouterData, objHotelSearchRQ); return; }