public static bool IsPaymentGatewayPreSelectRequired(PaymentGatewayInfo[] objPaymentGatewayInfos, HotelBookingPaymentAllocation[] objHotelBookingPaymentAllocations)
    {
        if (WBSPGHelper.BookingIsGuaranteeOnly(objHotelBookingPaymentAllocations))
            return false;

        if (objPaymentGatewayInfos == null || objPaymentGatewayInfos.Length <= 1)
            return false;

        bool bPaymentGatewayCapturesCardDetails = false;

        for (int i = 0; i < objPaymentGatewayInfos.Length; i++)
        {
            if (objPaymentGatewayInfos[i].Mode == PaymentGatewayMode.PaymentGatewayCapturesCardDetails)
            {
                bPaymentGatewayCapturesCardDetails = true;
                break;
            }

        }

        if (!bPaymentGatewayCapturesCardDetails)
            return false;

        return true;
    }
    public static bool IsOnlineCardType(PaymentGatewayInfo[] objPaymentGatewayInfos, string strPaymentCardType)
    {
        if (strPaymentCardType == "XX")
            return true;

        PaymentGatewayInfo objPaymentGatewayInfo = GetPaymentGatewayByCardType(objPaymentGatewayInfos, strPaymentCardType);

        if (objPaymentGatewayInfo != null)
            return true;

        return false;
    }
    public static bool IsOnlinePayment(PaymentGatewayInfo[] objPaymentGatewayInfos, HotelBookingPaymentAllocation[] objHotelBookingPaymentAllocations, string strPaymentCardType)
    {
        if (WBSPGHelper.BookingIsGuaranteeOnly(objHotelBookingPaymentAllocations))
            return false;

        if (!WBSPGHelper.IsOnlineCardType(objPaymentGatewayInfos, strPaymentCardType))
            return false;

        return true;
    }
    public static PaymentGatewayInfo GetPaymentGatewayByCardType(PaymentGatewayInfo[] objPaymentGatewayInfos, string strPaymentCardType)
    {
        PaymentGatewayInfo objPaymentGatewayInfo = null;

        if (objPaymentGatewayInfos != null)
        {
            for (int i = 0; i < objPaymentGatewayInfos.Length; i++)
            {
                for (int j = 0; j < objPaymentGatewayInfos[i].AcceptedCardTypes.Length; j++)
                {
                    if (objPaymentGatewayInfos[i].AcceptedCardTypes[j] == strPaymentCardType)
                    {
                        objPaymentGatewayInfo = objPaymentGatewayInfos[i];
                        break;
                    }

                }

            }

        }

        return objPaymentGatewayInfo;
    }
    public static PaymentGatewayInfo[] GetPaymentGatewayInfos(string strHotelCode)
    {
        List<PaymentGatewayInfo> lPaymentGatewayInfos = new List<PaymentGatewayInfo>();

        int intNumPaymentGatewayInfos = 0;

        if (ConfigurationManager.AppSettings["PaymentGatewayCount"] != "")
        {
            try
            {
                intNumPaymentGatewayInfos = Convert.ToInt32(ConfigurationManager.AppSettings["PaymentGatewayCount"]);
            }

            catch
            {
                intNumPaymentGatewayInfos = 0;
            }

        }

        for (int i = 0; i < intNumPaymentGatewayInfos; i++)
        {
            string strPaymentGatewayInfo = ConfigurationManager.AppSettings["PaymentGateway" + ((int)(i + 1)).ToString()];

            if (strPaymentGatewayInfo != "")
            {
                string[] saPaymentGatewayInfo = strPaymentGatewayInfo.Split(new char[] { ';' });

                for (int j = 0; j < saPaymentGatewayInfo.Length; j++)
                    saPaymentGatewayInfo[j] = saPaymentGatewayInfo[j].Replace("^semicolon^", ";");  // de-escape occurance of ";" (used as data and not delimiter) in info string

                if (saPaymentGatewayInfo.Length < 2)
                    continue;

                if (strHotelCode == null || strHotelCode == "" || saPaymentGatewayInfo[0] != strHotelCode)
                    continue;

                PaymentGatewayInfo objPaymentGatewayInfo = new PaymentGatewayInfo();

                if (saPaymentGatewayInfo[1] == "cba")
                {
                    if (saPaymentGatewayInfo.Length != 7)
                        continue;

                    objPaymentGatewayInfo.Type = PaymentGatewayType.CBA;
                    objPaymentGatewayInfo.Mode = PaymentGatewayMode.MerchantSiteCapturesCardDetails;

                    objPaymentGatewayInfo.ConfigurationParameters = new string[5];
                    objPaymentGatewayInfo.ConfigurationParameters[CBA_MERCHANT_ID] = saPaymentGatewayInfo[2];
                    objPaymentGatewayInfo.ConfigurationParameters[CBA_MERCHANT_ACCESS_CODE] = saPaymentGatewayInfo[3];
                    objPaymentGatewayInfo.ConfigurationParameters[CBA_SECURE_HASH_SECRET] = saPaymentGatewayInfo[4];
                    objPaymentGatewayInfo.ConfigurationParameters[CBA_API_USER_NAME] = saPaymentGatewayInfo[5];
                    objPaymentGatewayInfo.ConfigurationParameters[CBA_API_USER_PASSWORD] = saPaymentGatewayInfo[6];

                    objPaymentGatewayInfo.AcceptedCardTypes = WBSPGHelper.GetAcceptedCardTypes(PaymentGatewayType.CBA, strHotelCode);
                    objPaymentGatewayInfo.SubmitPaymentURL = "~/payment_gateways/cba/SubmitPayment.aspx";

                    lPaymentGatewayInfos.Add(objPaymentGatewayInfo);
                }

                else if (saPaymentGatewayInfo[1] == "ogone")
                {
                    if (saPaymentGatewayInfo.Length != 6)
                        continue;

                    objPaymentGatewayInfo.Type = PaymentGatewayType.Ogone;
                    objPaymentGatewayInfo.Mode = PaymentGatewayMode.MerchantSiteCapturesCardDetails;

                    objPaymentGatewayInfo.ConfigurationParameters = new string[4];
                    objPaymentGatewayInfo.ConfigurationParameters[OGONE_MERCHANT_ID] = saPaymentGatewayInfo[2];
                    objPaymentGatewayInfo.ConfigurationParameters[OGONE_USER_ID] = saPaymentGatewayInfo[3];
                    objPaymentGatewayInfo.ConfigurationParameters[OGONE_USER_PASSWORD] = saPaymentGatewayInfo[4];
                    objPaymentGatewayInfo.ConfigurationParameters[OGONE_SECURE_SECRET] = saPaymentGatewayInfo[5];

                    objPaymentGatewayInfo.AcceptedCardTypes = WBSPGHelper.GetAcceptedCardTypes(PaymentGatewayType.Ogone, strHotelCode);
                    objPaymentGatewayInfo.SubmitPaymentURL = "~/payment_gateways/ogone/SubmitPayment.aspx";

                    lPaymentGatewayInfos.Add(objPaymentGatewayInfo);
                }

                else if (saPaymentGatewayInfo[1] == "bnz")
                {
                    if (saPaymentGatewayInfo.Length != 5)
                        continue;

                    objPaymentGatewayInfo.Type = PaymentGatewayType.BNZ;
                    objPaymentGatewayInfo.Mode = PaymentGatewayMode.MerchantSiteCapturesCardDetails;

                    objPaymentGatewayInfo.ConfigurationParameters = new string[3];
                    objPaymentGatewayInfo.ConfigurationParameters[BNZ_MERCHANT_ID] = saPaymentGatewayInfo[2];
                    objPaymentGatewayInfo.ConfigurationParameters[BNZ_CLIENT_CERT_PATH] = saPaymentGatewayInfo[3];
                    objPaymentGatewayInfo.ConfigurationParameters[BNZ_CLIENT_CERT_PASSWORD] = saPaymentGatewayInfo[4];

                    objPaymentGatewayInfo.AcceptedCardTypes = WBSPGHelper.GetAcceptedCardTypes(PaymentGatewayType.BNZ, strHotelCode);
                    objPaymentGatewayInfo.SubmitPaymentURL = "~/payment_gateways/bnz/SubmitPayment.aspx";

                    lPaymentGatewayInfos.Add(objPaymentGatewayInfo);
                }

                else if (saPaymentGatewayInfo[1] == "dibs")
                {
                    if (saPaymentGatewayInfo.Length != 7)
                        continue;

                    objPaymentGatewayInfo.Type = PaymentGatewayType.DIBS;
                    objPaymentGatewayInfo.Mode = PaymentGatewayMode.PaymentGatewayCapturesCardDetails;

                    objPaymentGatewayInfo.ConfigurationParameters = new string[5];
                    objPaymentGatewayInfo.ConfigurationParameters[DIBS_MERCHANT_ID] = saPaymentGatewayInfo[2];
                    objPaymentGatewayInfo.ConfigurationParameters[DIBS_SECURE_SECRET_1] = saPaymentGatewayInfo[3];
                    objPaymentGatewayInfo.ConfigurationParameters[DIBS_SECURE_SECRET_2] = saPaymentGatewayInfo[4];
                    objPaymentGatewayInfo.ConfigurationParameters[DIBS_CURRENCY_CODE_NUMBER] = saPaymentGatewayInfo[5];
                    objPaymentGatewayInfo.ConfigurationParameters[DIBS_SYSTEM_MODE] = saPaymentGatewayInfo[6];

                    objPaymentGatewayInfo.AcceptedCardTypes = WBSPGHelper.GetAcceptedCardTypes(PaymentGatewayType.DIBS, strHotelCode);
                    objPaymentGatewayInfo.SubmitPaymentURL = "~/payment_gateways/dibs/SubmitPayment.aspx";

                    lPaymentGatewayInfos.Add(objPaymentGatewayInfo);
                }

                else if (saPaymentGatewayInfo[1] == "migs3p")
                {
                    if (saPaymentGatewayInfo.Length != 9)
                        continue;

                    objPaymentGatewayInfo.Type = PaymentGatewayType.MIGS3P;
                    objPaymentGatewayInfo.Mode = PaymentGatewayMode.PaymentGatewayCapturesCardDetails;

                    objPaymentGatewayInfo.ConfigurationParameters = new string[7];
                    objPaymentGatewayInfo.ConfigurationParameters[MIGS3P_MERCHANT_ID] = saPaymentGatewayInfo[2];
                    objPaymentGatewayInfo.ConfigurationParameters[MIGS3P_MERCHANT_ACCESS_CODE] = saPaymentGatewayInfo[3];
                    objPaymentGatewayInfo.ConfigurationParameters[MIGS3P_SECURE_HASH_SECRET] = saPaymentGatewayInfo[4];
                    objPaymentGatewayInfo.ConfigurationParameters[MIGS3P_API_USER_NAME] = saPaymentGatewayInfo[5];
                    objPaymentGatewayInfo.ConfigurationParameters[MIGS3P_API_USER_PASSWORD] = saPaymentGatewayInfo[6];
                    objPaymentGatewayInfo.ConfigurationParameters[MIGS3P_AVS_ACTIVE] = saPaymentGatewayInfo[7];
                    objPaymentGatewayInfo.ConfigurationParameters[MIGS3P_AVS_RETURN_CODES] = saPaymentGatewayInfo[8];

                    objPaymentGatewayInfo.AcceptedCardTypes = WBSPGHelper.GetAcceptedCardTypes(PaymentGatewayType.MIGS3P, strHotelCode);
                    objPaymentGatewayInfo.SubmitPaymentURL = "~/payment_gateways/migs3p/SubmitPayment.aspx";

                    lPaymentGatewayInfos.Add(objPaymentGatewayInfo);
                }

                else if (saPaymentGatewayInfo[1] == "hdfc")
                {
                    if (saPaymentGatewayInfo.Length != 4)
                        continue;

                    objPaymentGatewayInfo.Type = PaymentGatewayType.HDFC;
                    objPaymentGatewayInfo.Mode = PaymentGatewayMode.PaymentGatewayCapturesCardDetails;

                    objPaymentGatewayInfo.ConfigurationParameters = new string[2];
                    objPaymentGatewayInfo.ConfigurationParameters[HDFC_TID_ALIAS] = saPaymentGatewayInfo[2];
                    objPaymentGatewayInfo.ConfigurationParameters[HDFC_TID_RESOURCE_PATH] = saPaymentGatewayInfo[3];

                    objPaymentGatewayInfo.AcceptedCardTypes = WBSPGHelper.GetAcceptedCardTypes(PaymentGatewayType.HDFC, strHotelCode);
                    objPaymentGatewayInfo.SubmitPaymentURL = "~/payment_gateways/hdfc/SubmitPayment.aspx";

                    lPaymentGatewayInfos.Add(objPaymentGatewayInfo);
                }

                else
                    continue;
            }

        }

        return lPaymentGatewayInfos.ToArray();
    }
    public static string[] GetPaymentGatewayAcceptedCardTypes(PaymentGatewayInfo[] objPaymentGatewayInfos)
    {
        List<string> lPaymentGatewayAcceptedCardTypes = new List<string>();

        if (objPaymentGatewayInfos != null)
        {
            for (int i = 0; i < objPaymentGatewayInfos.Length; i++)
            {
                if (objPaymentGatewayInfos[i].Mode == PaymentGatewayMode.MerchantSiteCapturesCardDetails)
                    lPaymentGatewayAcceptedCardTypes.AddRange(objPaymentGatewayInfos[i].AcceptedCardTypes);
            }

        }

        return lPaymentGatewayAcceptedCardTypes.ToArray();
    }
    public static HotelPaymentRQ GetHotelPaymentRQ(PaymentGatewayInfo objPaymentGatewayInfo, HotelBookingPaymentAllocation[] objHotelBookingPaymentAllocations, HotelDescriptiveInfo objHotelDescriptiveInfo, GuestDetailsEntryInfo objGuestDetailsEntryInfo, string strCultureCode, string strUICultureCode)
    {
        HotelPaymentRQ objHotelPaymentRQ = new HotelPaymentRQ();

        objHotelPaymentRQ.RequestTransID = Guid.NewGuid().ToString();
        objHotelPaymentRQ.PaymentGateway = objPaymentGatewayInfo;
        objHotelPaymentRQ.PaymentType = PaymentType.Payment;
        objHotelPaymentRQ.PaymentMethod = PaymentMethod.PaymentCard;
        objHotelPaymentRQ.PaymentAmounts = objHotelBookingPaymentAllocations;
        objHotelPaymentRQ.PaymentTransRefID = DateTime.UtcNow.Ticks.ToString("00000000000000000000");
        objHotelPaymentRQ.PaymentTransInfo = "Hotel Accommodation";

        objHotelPaymentRQ.PaymentCard = new HotelBookingPaymentCard();

        if (objPaymentGatewayInfo.Mode == PaymentGatewayMode.MerchantSiteCapturesCardDetails)
        {
            objHotelPaymentRQ.PaymentCard.PaymentCardType = objGuestDetailsEntryInfo.PaymentCardType;
            objHotelPaymentRQ.PaymentCard.PaymentCardNumber = objGuestDetailsEntryInfo.PaymentCardNumber;
            objHotelPaymentRQ.PaymentCard.PaymentCardHolder = objGuestDetailsEntryInfo.PaymentCardHolder;
            objHotelPaymentRQ.PaymentCard.PaymentCardEffectiveDate = objGuestDetailsEntryInfo.PaymentCardEffectiveDate;
            objHotelPaymentRQ.PaymentCard.PaymentCardExpireDate = objGuestDetailsEntryInfo.PaymentCardExpireDate;
            objHotelPaymentRQ.PaymentCard.PaymentCardIssueNumber = objGuestDetailsEntryInfo.PaymentCardIssueNumber;
            objHotelPaymentRQ.PaymentCard.PaymentCardSecurityCode = objGuestDetailsEntryInfo.PaymentCardSecurityCode;
        }

        else if (objPaymentGatewayInfo.Mode == PaymentGatewayMode.PaymentGatewayCapturesCardDetails)
        {
            objHotelPaymentRQ.PaymentCard.PaymentCardType = "";
            objHotelPaymentRQ.PaymentCard.PaymentCardNumber = "";
            objHotelPaymentRQ.PaymentCard.PaymentCardHolder = "";
            objHotelPaymentRQ.PaymentCard.PaymentCardEffectiveDate = "";
            objHotelPaymentRQ.PaymentCard.PaymentCardExpireDate = "";
            objHotelPaymentRQ.PaymentCard.PaymentCardIssueNumber = "";
            objHotelPaymentRQ.PaymentCard.PaymentCardSecurityCode = "";
        }

        objHotelPaymentRQ.HotelCode = objHotelDescriptiveInfo.HotelCode;
        objHotelPaymentRQ.CurrencyCode = objHotelDescriptiveInfo.CurrencyCode;
        objHotelPaymentRQ.CultureCode = strCultureCode;
        objHotelPaymentRQ.UICultureCode = strUICultureCode;

        return objHotelPaymentRQ;
    }
    public bool IsCreditCardInfoRequired(HotelAvailabilityRS objHotelAvailabilityRS, RoomRateSelection[] objRoomRateSelections, PaymentGatewayInfo objPaymentGatewayInfo, bool bProfileGuaranteeRequested)
    {
        bool bRequired = false;

        for (int i = 0; i < objRoomRateSelections.Length; i++)
        {
            HotelRoomAvailInfo objHotelRoomAvailInfo = this.GetHotelRoomAvailInfo(objHotelAvailabilityRS.HotelRoomAvailInfos, objRoomRateSelections[i].RoomRefID);
            HotelAvailRatePlan objHotelAvailRatePlan = this.GetRatePlanInfo(objHotelRoomAvailInfo.RatePlans, objRoomRateSelections[i].RatePlanCode);

            if (objHotelAvailRatePlan.GuaranteeType == GuaranteeType.CCDCVoucher && !bProfileGuaranteeRequested)
            {
                bRequired = true;
                break;
            }

            else if (objHotelAvailRatePlan.GuaranteeType == GuaranteeType.Deposit || objHotelAvailRatePlan.GuaranteeType == GuaranteeType.PrePay)
            {
                if (objPaymentGatewayInfo == null || objPaymentGatewayInfo.Mode == PaymentGatewayMode.MerchantSiteCapturesCardDetails)
                {
                    bRequired = true;
                    break;
                }

            }

        }

        return bRequired;
    }
    protected void btnPaymentGatewaySelect_Click(object sender, EventArgs e)
    {
        PaymentGatewayInfo objPaymentGatewayInfo = null;

        for (int i = 0; i < _PaymentGatewayInfos.Length; i++)
        {
            if (_PaymentGatewayInfos[i].Type.ToString() == ddlPaymentGatewaySelect.SelectedValue)
            {
                objPaymentGatewayInfo = _PaymentGatewayInfos[i];
                break;
            }

        }

        if (objPaymentGatewayInfo != null)
        {
            _SelectedPaymentGateway = objPaymentGatewayInfo;
            PaymentGatewayPreSelectCompleted(this, new EventArgs());
        }

        return;
    }
    protected void btnConfirmBooking_Click(object sender, EventArgs e)
    {
        GuestDetailsEntryInfo objGuestDetailsEntryInfo = new GuestDetailsEntryInfo();

        objGuestDetailsEntryInfo.NamePrefix = ddlNamePrefix.Text.Trim();
        objGuestDetailsEntryInfo.FirstName = tbFirstName.Text.Trim();
        objGuestDetailsEntryInfo.LastName = tbLastName.Text.Trim();
        objGuestDetailsEntryInfo.Email = tbEmail.Text.Trim();
        objGuestDetailsEntryInfo.EmailConfirmEntry = tbConfirmEmail.Text.Trim();

        objGuestDetailsEntryInfo.Phone = tbTelephone.Text.Trim();
        objGuestDetailsEntryInfo.Fax = "";
        objGuestDetailsEntryInfo.Address1 = tbAddress1.Text.Trim();
        objGuestDetailsEntryInfo.Address2 = tbAddress2.Text.Trim();
        objGuestDetailsEntryInfo.StateRegion = tbStateRegion.Text.Trim();
        objGuestDetailsEntryInfo.City = tbCity.Text.Trim();
        objGuestDetailsEntryInfo.PostalCode = tbPostalCode.Text.Trim();

        objGuestDetailsEntryInfo.SpecialInstructions = tbSpecialInstructions.Text.Trim();
        objGuestDetailsEntryInfo.CompanyName = tbCompanyName.Text.Trim();
        objGuestDetailsEntryInfo.TravelAgencyIATA = tbTravelAgencyIATA.Text.Trim();
        objGuestDetailsEntryInfo.Country = ddlCountry.SelectedValue.Trim();
        objGuestDetailsEntryInfo.SubscribeToNewsletter = cbSubscribeToNewsletter.Checked;
        objGuestDetailsEntryInfo.TravelPurpose = (TravelPurpose)Convert.ToInt32(ddlTravelPurpose.SelectedValue);
        objGuestDetailsEntryInfo.FlightNumber = tbFltNumber.Text.Trim();

        objGuestDetailsEntryInfo.AirlineProgramCode = ddlAirlineProgram.SelectedValue;
        objGuestDetailsEntryInfo.AirlineProgramIdentifier = tbAirlineProgramNumber.Text.Trim();
        objGuestDetailsEntryInfo.HotelProgramCode = ddlHotelProgram.SelectedValue;
        objGuestDetailsEntryInfo.HotelProgramIdentifier = tbHotelProgramNumber.Text.Trim();

        if ((tbArrivalTimeHours.Text != null && tbArrivalTimeHours.Text != "") && (tbArrivalTimeMinutes.Text != null && tbArrivalTimeMinutes.Text != ""))
        {
            bool bReturnTimeForValidationCheck = true;

            int intHours;

            if (Int32.TryParse(tbArrivalTimeHours.Text, out intHours))
            {
                if (intHours == 0 && rbArrivalTimePM.Checked) // Microsoft DateTime parser permits this entry (00:15pm accepted as 12:15pm)
                {
                    objGuestDetailsEntryInfo.ArrivalTime = "error";
                    bReturnTimeForValidationCheck = false;
                }

            }

            if (bReturnTimeForValidationCheck)
            {
                StringBuilder sb = new StringBuilder();

                sb.Append(tbArrivalTimeHours.Text);
                sb.Append(":");
                sb.Append(tbArrivalTimeMinutes.Text);

                if (rbArrivalTimeAM.Checked)
                    sb.Append(" AM");
                else
                    sb.Append(" PM");

                objGuestDetailsEntryInfo.ArrivalTime = sb.ToString();
            }

        }

        else if ((tbArrivalTimeHours.Text != null && tbArrivalTimeHours.Text != "") || (tbArrivalTimeMinutes.Text != null && tbArrivalTimeMinutes.Text != ""))
        {
            objGuestDetailsEntryInfo.ArrivalTime = "error";
        }

        else
        {
            objGuestDetailsEntryInfo.ArrivalTime = "";
        }

        objGuestDetailsEntryInfo.NumberRollawaysAdult = Convert.ToInt32(ddlAdultRollaway.SelectedValue);
        objGuestDetailsEntryInfo.NumberRollawaysChild = Convert.ToInt32(ddlChildRollaway.SelectedValue);
        objGuestDetailsEntryInfo.NumberCribs = Convert.ToInt32(ddlCrib.SelectedValue);

        objGuestDetailsEntryInfo.PaymentCardHolder = tbCardholderName.Text.Trim();
        objGuestDetailsEntryInfo.PaymentCardIssueNumber = tbCardIssueNumber.Text.Trim();
        objGuestDetailsEntryInfo.PaymentCardNumber = tbCardNumber.Text.Replace(" ", "").Trim();
        objGuestDetailsEntryInfo.PaymentCardSecurityCode = tbCardSecurityCode.Text.Trim();
        objGuestDetailsEntryInfo.PaymentCardType = ddlCardType.SelectedValue.Trim();
        objGuestDetailsEntryInfo.PaymentCardExpireDate = ddlCardExpiryMonth.SelectedValue.PadLeft(2, '0') + ddlCardExpiryYear.SelectedValue.Substring(2);
        objGuestDetailsEntryInfo.PaymentCardEffectiveDate = ddlCardStartMonth.SelectedValue.PadLeft(2, '0') + ddlCardStartYear.SelectedValue.Substring(2);

        objGuestDetailsEntryInfo.ProfileGuaranteeRequested = cbProfileGuarantee.Checked;

        _GuestDetailsEntryInfo = objGuestDetailsEntryInfo;

        _TermsConditionsAccepted = cbTermsAgreement.Checked;

        if (_SelectedPaymentGateway == null && (_PaymentCardApplicationStatus == PaymentCardApplication.DepositOnly || PaymentCardApplicationStatus == PaymentCardApplication.GuaranteeAndDeposit))
        {
            _SelectedPaymentGateway = WBSPGHelper.GetPaymentGatewayByCardType(_PaymentGatewayInfos, ddlCardType.SelectedValue.Trim());
        }

        if (_SelectedPaymentGateway != null && _SelectedPaymentGateway.Mode == PaymentGatewayMode.PaymentGatewayCapturesCardDetails)
        {
            objGuestDetailsEntryInfo.PaymentCardType = "XX";
        }

        GuestDetailsCompleted(this, new EventArgs());

        return;
    }