Ejemplo n.º 1
0
        //create a test credit card
        private UniversalService.CreditCard GetCreditCardDetails()
        {
            UniversalService.CreditCard creditCard = new UniversalService.CreditCard();
            creditCard.BankCountryCode = "US";
            creditCard.BankName        = "USB";
            creditCard.ExpDate         = "2018-06";
            creditCard.Type            = "VI";
            creditCard.Number          = "4111111111111111";
            creditCard.CVV             = "123";

            return(creditCard);
        }
        //create a test credit card
        private UniversalService.CreditCard GetCreditCardDetails()
        {
            UniversalService.CreditCard creditCard = new UniversalService.CreditCard();
            creditCard.BankCountryCode = "US";
            creditCard.BankName = "USB";
            creditCard.ExpDate = "2018-06";
            creditCard.Type = "VI";
            creditCard.Number = "4123456789001111";
            creditCard.CVV = "256";

            return creditCard;
        }
Ejemplo n.º 3
0
        /// <summary>
        /// booking the selected hotel
        /// </summary>
        /// <param name="hotelDetailsResponse"></param>
        /// <param name="hostToken"></param>
        /// <returns></returns>
        ///

        internal HotelCreateReservationRsp HotelBook(HotelDetailsRsp hotelDetailsResponse, HotelService.HostToken hostToken)
        {
            HotelCreateReservationReq hotelCreateReservationReq = new HotelCreateReservationReq();

            //If you want to create HotelBooking in the same UniversalRecord generated in AirCreateReservationRsp
            hotelCreateReservationReq.UniversalRecordLocatorCode = "Use Universal Record Locator Code generated in the AirBooking";
            UniversalService.BillingPointOfSaleInfo billSaleInfo = new UniversalService.BillingPointOfSaleInfo();
            billSaleInfo.OriginApplication = CommonUtility.GetConfigValue(ProjectConstants.APP);

            hotelCreateReservationReq.BillingPointOfSaleInfo = billSaleInfo;
            hotelCreateReservationReq.TargetBranch           = CommonUtility.GetConfigValue(ProjectConstants.G_TARGET_BRANCH);
            hotelCreateReservationReq.TraceId = "Trace";

            //create two booking traveler, phone number, email and address details
            UniversalService.BookingTraveler bookingTravelerOne = new UniversalService.BookingTraveler();
            bookingTravelerOne.Age                 = "47";
            bookingTravelerOne.DOB                 = Convert.ToDateTime("1967-11-23");
            bookingTravelerOne.Gender              = "F";
            bookingTravelerOne.Nationality         = "AU";
            bookingTravelerOne.TravelerType        = "ADT";
            bookingTravelerOne.BookingTravelerName = new UniversalService.BookingTravelerName()
            {
                First  = "Charlotte",
                Last   = "Greene",
                Prefix = "MRS"
            };
            UniversalService.PhoneNumber phoneNumberOne = new UniversalService.PhoneNumber()
            {
                AreaCode    = "08",
                CountryCode = "61",
                Location    = "PER",
                Number      = "40003000",
                Type        = UniversalService.PhoneNumberType.Home
            };

            bookingTravelerOne.PhoneNumber    = new UniversalService.PhoneNumber[1];
            bookingTravelerOne.PhoneNumber[0] = phoneNumberOne;



            UniversalService.Email emailOne = new UniversalService.Email()
            {
                EmailID = "*****@*****.**",
                Type    = "Home"
            };

            bookingTravelerOne.Email    = new UniversalService.Email[1];
            bookingTravelerOne.Email[0] = emailOne;

            UniversalService.typeStructuredAddress addressOne = new UniversalService.typeStructuredAddress()
            {
                AddressName = "Home",
                Street      = new[] { "10 Charlie Street" },
                City        = "Perth",
                State       = new UniversalService.State()
                {
                    Value = "WA"
                },
                PostalCode = "6000",
                Country    = "AU"
            };

            bookingTravelerOne.Address    = new UniversalService.typeStructuredAddress[1];
            bookingTravelerOne.Address[0] = addressOne;



            UniversalService.BookingTraveler bookineTravelerTwo = new UniversalService.BookingTraveler();
            bookineTravelerTwo.Age                 = "50";
            bookineTravelerTwo.DOB                 = Convert.ToDateTime("1970-05-09");
            bookineTravelerTwo.Gender              = "M";
            bookineTravelerTwo.Nationality         = "AU";
            bookineTravelerTwo.TravelerType        = "ADT";
            bookineTravelerTwo.BookingTravelerName = new UniversalService.BookingTravelerName()
            {
                First  = "Eliott",
                Last   = "Greene",
                Prefix = "MR"
            };
            UniversalService.PhoneNumber phoneNumberTwo = new UniversalService.PhoneNumber()
            {
                AreaCode    = "08",
                CountryCode = "61",
                Location    = "PER",
                Number      = "40003000",
                Type        = UniversalService.PhoneNumberType.Home
            };

            bookineTravelerTwo.PhoneNumber    = new UniversalService.PhoneNumber[1];
            bookineTravelerTwo.PhoneNumber[0] = phoneNumberTwo;


            UniversalService.Email emailTwo = new UniversalService.Email()
            {
                EmailID = "*****@*****.**",
                Type    = "Home"
            };

            bookineTravelerTwo.Email    = new UniversalService.Email[1];
            bookineTravelerTwo.Email[0] = emailTwo;

            UniversalService.typeStructuredAddress addressTwo = new UniversalService.typeStructuredAddress()
            {
                AddressName = "Home",
                Street      = new[] { "10 Charlie Street" },
                City        = "Perth",
                State       = new UniversalService.State()
                {
                    Value = "WA"
                },
                PostalCode = "6000",
                Country    = "AU"
            };

            bookineTravelerTwo.Address    = new UniversalService.typeStructuredAddress[1];
            bookineTravelerTwo.Address[0] = addressTwo;

            hotelCreateReservationReq.BookingTraveler    = new UniversalService.BookingTraveler[2];
            hotelCreateReservationReq.BookingTraveler[0] = bookingTravelerOne;
            hotelCreateReservationReq.BookingTraveler[1] = bookineTravelerTwo;

            HotelService.GuaranteeInfo hotelGurrenteeInfo = null;
            RequestedHotelDetails      reqHotelDetails    = new RequestedHotelDetails();
            //select a hotel rate details and book the hotel using that one
            IEnumerator items = hotelDetailsResponse.Items.GetEnumerator();

            while (items.MoveNext())
            {
                var item = items.Current;
                reqHotelDetails = (RequestedHotelDetails)item;
            }

            if (reqHotelDetails.HotelRateDetail.Count() > 0)
            {
                IEnumerator <HotelService.HotelRateDetail> rateDetails = reqHotelDetails.HotelRateDetail.ToList().GetEnumerator();
                if (rateDetails.MoveNext())
                {
                    HotelService.HotelRateDetail rateDetail = rateDetails.Current;
                    List <UniversalApiClient.UniversalService.HotelRateDetail> hotelRateDetails = new List <UniversalService.HotelRateDetail>();
                    hotelRateDetails.Add(new UniversalService.HotelRateDetail()
                    {
                        ApproximateBase                    = rateDetail.ApproximateBase ?? null,
                        ApproximateRateGuaranteed          = rateDetail.ApproximateRateGuaranteed,
                        ApproximateRateGuaranteedSpecified = rateDetail.ApproximateRateGuaranteedSpecified,
                        ApproximateSurcharge               = rateDetail.ApproximateSurcharge ?? null,
                        ApproximateTax   = rateDetail.ApproximateTax ?? null,
                        ApproximateTotal = rateDetail.ApproximateTotal ?? null,
                        Base             = rateDetail.Base ?? null,
                        RateCategory     = rateDetail.RateCategory ?? null,
                        RatePlanType     = rateDetail.RatePlanType ?? null,
                        RateOfferId      = rateDetail.RateOfferId ?? null,
                        Tax          = rateDetail.Tax ?? null,
                        RateSupplier = rateDetail.RateSupplier ?? null,
                        Total        = rateDetail.Total ?? null
                    });
                    hotelCreateReservationReq.HotelRateDetail = hotelRateDetails.ToArray();

                    hotelGurrenteeInfo = rateDetail.GuaranteeInfo;
                }
            }


            hotelCreateReservationReq.HotelProperty = new UniversalService.HotelProperty()
            {
                HotelChain      = reqHotelDetails.HotelProperty.HotelChain ?? null,
                HotelCode       = reqHotelDetails.HotelProperty.HotelCode ?? null,
                HotelLocation   = reqHotelDetails.HotelProperty.HotelLocation ?? null,
                Name            = reqHotelDetails.HotelProperty.Name ?? null,
                PropertyAddress = reqHotelDetails.HotelProperty.PropertyAddress ?? null,
            };

            hotelCreateReservationReq.HotelStay = new UniversalService.HotelStay()
            {
                CheckinDate  = GetHotelStay().CheckinDate,
                CheckoutDate = GetHotelStay().CheckoutDate
            };

            //create payment info
            UniversalService.CreditCard ccInfo = new UniversalService.CreditCard()
            {
                BankCountryCode = GetCreditCardDetails().BankCountryCode,
                BankName        = GetCreditCardDetails().BankName,
                Number          = GetCreditCardDetails().Number,
                Type            = GetCreditCardDetails().Type,
                ExpDate         = GetCreditCardDetails().ExpDate,
                Name            = bookingTravelerOne.BookingTravelerName.First + bookingTravelerOne.BookingTravelerName.Last,
                CVV             = GetCreditCardDetails().CVV
            };


            //check if guarantee tyoe is Deopsit or not
            // MILAN:: Commented below if/else block which was giving error.
            if (hotelGurrenteeInfo.GuaranteeType.ToString().CompareTo((HotelService.GuaranteeType.Deposit.ToString())) == 0)
            {
                hotelCreateReservationReq.Guarantee = new UniversalService.Guarantee()
                {
                    Type = UniversalService.GuaranteeType.Deposit,
                    Item = ccInfo
                };
            }
            else if (hotelGurrenteeInfo.GuaranteeType.ToString().CompareTo((HotelService.GuaranteeType.Guarantee.ToString())) == 0)
            {
                hotelCreateReservationReq.Guarantee = new UniversalService.Guarantee()
                {
                    Type = UniversalService.GuaranteeType.Guarantee,
                    Item = ccInfo
                };
            }

            hotelCreateReservationReq.GuestInformation = new UniversalService.GuestInformation()
            {
                NumberOfRooms  = numberOfRooms,
                NumberOfAdults = new UniversalService.NumberOfAdults()
                {
                    Value = numberOfAdults.ToString()
                }
            };

            if (hostToken != null && hostToken.Value != null)
            {
                hotelCreateReservationReq.HostToken = new UniversalService.HostToken()
                {
                    Host  = hostToken.Host,
                    Key   = hostToken.Key ?? null,
                    Value = hostToken.Value
                };
            }

            HotelReservationServicePortTypeClient hotelBookclient = new HotelReservationServicePortTypeClient("HotelReservationServicePort", WsdlService.HOTEL_ENDPOINT);

            hotelBookclient.ClientCredentials.UserName.UserName = Helper.RetrunUsername();
            hotelBookclient.ClientCredentials.UserName.Password = Helper.ReturnPassword();

            try
            {
                var httpHeaders = Helper.ReturnHttpHeader();
                hotelBookclient.Endpoint.EndpointBehaviors.Add(new HttpHeadersEndpointBehavior(httpHeaders));

                hotelCreateReservationRsp = hotelBookclient.service(null, hotelCreateReservationReq);
            }
            catch (Exception se)
            {
                Console.WriteLine("Error : " + se.Message);
                hotelBookclient.Abort();
            }

            return(hotelCreateReservationRsp);
        }
        /// <summary>
        /// booking the selected hotel
        /// </summary>
        /// <param name="hotelDetailsResponse"></param>
        /// <param name="hostToken"></param>
        /// <returns></returns>
        internal HotelCreateReservationRsp HotelBook(HotelDetailsRsp hotelDetailsResponse, HotelService.HostToken hostToken)
        {
            HotelCreateReservationReq hotelCreateReservationReq = new HotelCreateReservationReq();
            UniversalService.BillingPointOfSaleInfo billSaleInfo = new UniversalService.BillingPointOfSaleInfo();
            billSaleInfo.OriginApplication = CommonUtility.GetConfigValue(ProjectConstants.APP);

            hotelCreateReservationReq.BillingPointOfSaleInfo = billSaleInfo;
            hotelCreateReservationReq.TargetBranch = CommonUtility.GetConfigValue(ProjectConstants.G_TARGET_BRANCH);
            hotelCreateReservationReq.TraceId = "Trace";

            //create two booking traveler, phone number, email and address details
            UniversalService.BookingTraveler bookingTravelerOne = new UniversalService.BookingTraveler();
            bookingTravelerOne.Age = "47";
            bookingTravelerOne.DOB = Convert.ToDateTime("1967-11-23");
            bookingTravelerOne.Gender = "F";
            bookingTravelerOne.Nationality = "AU";
            bookingTravelerOne.TravelerType = "ADT";
            bookingTravelerOne.BookingTravelerName = new UniversalService.BookingTravelerName(){
                First = "Charlotte",
                Last = "Greene",
                Prefix = "MRS"
            };
            UniversalService.PhoneNumber phoneNumberOne= new UniversalService.PhoneNumber()
            {
                AreaCode = "08",
                CountryCode = "61",
                Location = "PER",
                Number = "40003000",
                Type = UniversalService.PhoneNumberType.Home
            };

            bookingTravelerOne.PhoneNumber = new UniversalService.PhoneNumber[1];
            bookingTravelerOne.PhoneNumber[0] = phoneNumberOne;



            UniversalService.Email emailOne = new UniversalService.Email()
            {
                EmailID = "*****@*****.**",
                Type = "Home"
            };

            bookingTravelerOne.Email = new UniversalService.Email[1];
            bookingTravelerOne.Email[0] = emailOne;

            UniversalService.typeStructuredAddress addressOne = new UniversalService.typeStructuredAddress()
            {
                AddressName = "Home",
                Street = new[] { "10 Charlie Street" },
                City = "Perth",
                State = new UniversalService.State()
                {
                    Value = "WA"
                },
                PostalCode = "6000",
                Country = "AU"
            };

            bookingTravelerOne.Address = new UniversalService.typeStructuredAddress[1];
            bookingTravelerOne.Address[0] = addressOne;



            UniversalService.BookingTraveler bookineTravelerTwo = new UniversalService.BookingTraveler();
            bookineTravelerTwo.Age = "50";
            bookineTravelerTwo.DOB = Convert.ToDateTime("1970-05-09");
            bookineTravelerTwo.Gender = "M";
            bookineTravelerTwo.Nationality = "AU";
            bookineTravelerTwo.TravelerType = "ADT";
            bookineTravelerTwo.BookingTravelerName = new UniversalService.BookingTravelerName()
            {
                First = "Eliott",
                Last = "Greene",
                Prefix = "MR"
            };
            UniversalService.PhoneNumber phoneNumberTwo = new UniversalService.PhoneNumber()
            {
                AreaCode = "08",
                CountryCode = "61",
                Location = "PER",
                Number = "40003000",
                Type = UniversalService.PhoneNumberType.Home
            };

            bookineTravelerTwo.PhoneNumber = new UniversalService.PhoneNumber[1];
            bookineTravelerTwo.PhoneNumber[0] = phoneNumberTwo;


            UniversalService.Email emailTwo = new UniversalService.Email()
            {
                EmailID = "*****@*****.**",
                Type = "Home"
            };

            bookineTravelerTwo.Email = new UniversalService.Email[1];
            bookineTravelerTwo.Email[0] = emailTwo;

            UniversalService.typeStructuredAddress addressTwo = new UniversalService.typeStructuredAddress()
            {
                AddressName = "Home",
                Street = new[] { "10 Charlie Street" },
                City = "Perth",
                State = new UniversalService.State()
                {
                    Value = "WA"
                },
                PostalCode = "6000",
                Country = "AU"
            };

            bookineTravelerTwo.Address = new UniversalService.typeStructuredAddress[1];
            bookineTravelerTwo.Address[0] = addressTwo;

            hotelCreateReservationReq.BookingTraveler = new UniversalService.BookingTraveler[2];
            hotelCreateReservationReq.BookingTraveler[0] = bookingTravelerOne;
            hotelCreateReservationReq.BookingTraveler[1] = bookineTravelerTwo;

            HotelService.GuaranteeInfo hotelGurrenteeInfo = null;
            //select a hotel rate details and book the hotel using that one
            RequestedHotelDetails reqHotelDetails = (RequestedHotelDetails)hotelDetailsResponse.Item;
            if (reqHotelDetails.HotelRateDetail.Count() > 0)
            {
                IEnumerator<HotelService.HotelRateDetail> rateDetails = reqHotelDetails.HotelRateDetail.ToList().GetEnumerator();
                if (rateDetails.MoveNext())
                {
                    HotelService.HotelRateDetail rateDetail = rateDetails.Current;
                    hotelCreateReservationReq.HotelRateDetail = new UniversalService.HotelRateDetail()
                    {
                        ApproximateBase = rateDetail.ApproximateBase ?? null,
                        ApproximateRateGuaranteed = rateDetail.ApproximateRateGuaranteed,
                        ApproximateRateGuaranteedSpecified = rateDetail.ApproximateRateGuaranteedSpecified,
                        ApproximateSurcharge = rateDetail.ApproximateSurcharge ?? null,
                        ApproximateTax = rateDetail.ApproximateTax ?? null,
                        ApproximateTotal = rateDetail.ApproximateTotal ?? null,
                        Base = rateDetail.Base ?? null,
                        RateCategory = rateDetail.RateCategory ?? null,
                        RatePlanType = rateDetail.RatePlanType ?? null,              
                        RateOfferId = rateDetail.RateOfferId ?? null,
                        Tax = rateDetail.Tax ?? null,
                        RateSupplier = rateDetail.RateSupplier ?? null,
                        Total = rateDetail.Total ?? null
                    };

                    hotelGurrenteeInfo = rateDetail.GuaranteeInfo;
                }
            }


            hotelCreateReservationReq.HotelProperty = new UniversalService.HotelProperty()
            {
                HotelChain = reqHotelDetails.HotelProperty.HotelChain ?? null,
                HotelCode = reqHotelDetails.HotelProperty.HotelCode ?? null,
                HotelLocation = reqHotelDetails.HotelProperty.HotelLocation ?? null,
                Name = reqHotelDetails.HotelProperty.Name ?? null,
                PropertyAddress = reqHotelDetails.HotelProperty.PropertyAddress ?? null,
            };

            hotelCreateReservationReq.HotelStay = new UniversalService.HotelStay()
            {
                CheckinDate = GetHotelStay().CheckinDate,
                CheckoutDate = GetHotelStay().CheckoutDate
            };

            //create payment info
            UniversalService.CreditCard ccInfo= new UniversalService.CreditCard()
            {
                BankCountryCode = GetCreditCardDetails().BankCountryCode,
                BankName = GetCreditCardDetails().BankName,
                Number = GetCreditCardDetails().Number,
                Type = GetCreditCardDetails().Type,
                ExpDate = GetCreditCardDetails().ExpDate,
                Name = bookingTravelerOne.BookingTravelerName.First + bookingTravelerOne.BookingTravelerName.Last,
                CVV = GetCreditCardDetails().CVV
            };


            //check if guarantee tyoe is Deopsit or not
            if (hotelGurrenteeInfo.GuaranteeType.ToString().CompareTo((HotelService.GuaranteeType.Deposit.ToString())) == 0)
            {
                hotelCreateReservationReq.Guarantee = new UniversalService.Guarantee()
                {
                    Type = UniversalService.GuaranteeType.Deposit,
                    Item = ccInfo
                };
            }
            else if (hotelGurrenteeInfo.GuaranteeType.ToString().CompareTo((HotelService.GuaranteeType.Guarantee.ToString())) == 0)
            {
                hotelCreateReservationReq.Guarantee = new UniversalService.Guarantee()
                {
                    Type = UniversalService.GuaranteeType.Guarantee,
                    Item = ccInfo
                };
            }

            hotelCreateReservationReq.GuestInformation = new UniversalService.GuestInformation()
            {
                NumberOfRooms = numberOfRooms,
                NumberOfAdults = new UniversalService.NumberOfAdults()
                {
                    Value = numberOfAdults.ToString()
                }
            };

            if (hostToken != null && hostToken.Value != null)
            {
                hotelCreateReservationReq.HostToken = new UniversalService.HostToken()
                {
                    Host = hostToken.Host,
                    Key = hostToken.Key ?? null,
                    Value = hostToken.Value
                };
            }



            HotelReservationServicePortTypeClient hotelBookclient = new HotelReservationServicePortTypeClient("HotelReservationServicePort", WsdlService.HOTEL_ENDPOINT);
            hotelBookclient.ClientCredentials.UserName.UserName = Helper.RetrunUsername();
            hotelBookclient.ClientCredentials.UserName.Password = Helper.ReturnPassword();

            try
            {
                var httpHeaders = Helper.ReturnHttpHeader();
                hotelBookclient.Endpoint.EndpointBehaviors.Add(new HttpHeadersEndpointBehavior(httpHeaders));

                hotelCreateReservationRsp = hotelBookclient.service(null, hotelCreateReservationReq);                
            }
            catch (Exception se)
            {
                Console.WriteLine("Error : " + se.Message);
                hotelBookclient.Abort();
            }

            return hotelCreateReservationRsp;
        }