public DataTable BlockSeatsForBooking(string scheduleId, string TravelDate, string FromStationId, string ToStationId, string boardingPointId,
     string emailId, string mobileNbr, string address, PassengerDetailDTO[] PassengerDetailDTO)
 {
     try
     {
         TGTravelServiceClient o = new TGTravelServiceClient();
         o.Open();
         BlockedSeatsForBookingDetails BlockSeatsBooking = o.blockSeatsForBooking(UserId, Password, scheduleId, TravelDate, FromStationId, ToStationId, boardingPointId, emailId, mobileNbr, address, PassengerDetailDTO);
         DataTable data = new DataTable();
         data.Columns.Add("BookingId");
         data.Columns.Add("expireTime");
         data.Columns.Add("cancellationDescList");
         if (BlockSeatsBooking.status.message.ToString() == "Success")
         {
             foreach (var canceldesc in BlockSeatsBooking.cancellationDescList)
             {
                 DataRow row = data.NewRow();
                 row["BookingId"] = BlockSeatsBooking.bookingId;
                 row["expireTime"] = BlockSeatsBooking.expireTime;
                 row["cancellationDescList"] = canceldesc.ToString();
                 data.Rows.Add(row);
             }
         }
         o.Close();
         return data;
     }
     catch (Exception ex)
     {
         throw ex;
     }
 }
        /// <summary>
        /// Method for blocking seats 
        /// </summary>
        /// <returns></returns>
        public BlockSeatsResponse blockSeatsForBooking(String scheduleId, String travelDate, String fromStationId, String toStationId, String boardingPointId,
                                String emailId, String mobileNbr, String address, String URL, String ConsumerKey, String ConsumerSecret,
                                int noOfSeats, String seatNo, String title, String name, String age, String sex)
        {
            BlockSeatsResponse objBlockSeatsResponse = new BlockSeatsResponse();
            try
            {
                travelDate = travelDate.Replace('-', '/');
                String[] seatNoArray = seatNo.Split(',');
                String[] titleArray = title.Split(',');
                String[] nameArray = name.Split(',');
                String[] ageArray = age.Split(',');
                String[] sexArray = sex.Split(',');

                client = new TGTravelServiceClient("TGSWS", URL);
                PassengerDetailDTO[] PassengerDetailDT = new PassengerDetailDTO[noOfSeats];

                for (int i = 0; i < noOfSeats; i++)
                {
                    PassengerDetailDTO PassengerDetailDTO1 = new PassengerDetailDTO();
                    PassengerDetailDTO1.age = ageArray[i].ToString();
                    PassengerDetailDTO1.name = nameArray[i].ToString();
                    PassengerDetailDTO1.seatNbr = seatNoArray[i].ToString();
                    PassengerDetailDTO1.sex = sexArray[i].ToString();
                    PassengerDetailDT[i] = PassengerDetailDTO1;
                }

                BlockedSeatsForBookingDetails response = client.blockSeatsForBooking(ConsumerKey, ConsumerSecret, scheduleId
                    , travelDate, fromStationId, toStationId, boardingPointId, emailId, mobileNbr, address, PassengerDetailDT);

                DataSet ds = convertJsonStringToDataSet(JsonConvert.SerializeObject(response));

                if (ds != null)
                {
                    if (ds.Tables[0].Rows.Count > 0)
                    {
                        if (ds.Tables["status"].Rows[0]["code"].ToString().Trim().ToLower() == "200")
                        {
                            if (ds.Tables[0].Columns.Contains("bookingId"))
                            {
                                objBlockSeatsResponse.BookingID = ds.Tables[0].Rows[0]["bookingId"].ToString();
                                objBlockSeatsResponse.Status = "SUCCESS";
                            }
                        }
                        else
                        {
                            objBlockSeatsResponse.Status = "FAIL";
                            objBlockSeatsResponse.Message = ds.Tables["status"].Rows[0]["message"].ToString();
                        }
                    }
                }
                else { objBlockSeatsResponse.Status = "FAIL"; }
            }
            catch (Exception ex)
            {
                // to do
            }
            return objBlockSeatsResponse;
        }
        public DataSet TentativeBooking(DataTable dtTicketInfo, string referenceNumber, out string api, out string status, out string statusReason)
        {
            try
            {
                DataSet ds = null;

                string str = dtTicketInfo.Rows[0]["OtherInfo"].ToString();
                string[] strArray = str.Split(';');

                api = ""; status = ""; statusReason = "";

                api = strArray[0].ToString();

                #region KesneniTentativeBooking
                if (api == "Kes")
                {
                    int sourceStationId = 0; int destinationStationId = 0; string journeyDate = ""; long serviceId = 0;
                    int coachTypeId = 0; int noOfSeats = 0; string seatNumbersList = ""; string firstNameList = "";
                    string lastNameList = ""; string genderList = ""; string ageList = ""; string contactNumberList = "";
                    string boardingPointIdList = ""; string droppingPointId = ""; string ticketFare = ""; string emailId = "";
                    string address = ""; string photoIdType = ""; string photoIdNo = ""; string photoIdIssuingAuthority = "";
                    decimal totalBasicFare = 0; decimal serviceTaxPercentage = 0; string discountcode = ""; string travels = "";
                    string sourcename = ""; string destinationname = ""; string bustype = "";
                    string boardingPoint = ""; int age = 0;

                    sourceStationId = Convert.ToInt32(strArray[1].ToString());
                    destinationStationId = Convert.ToInt32(strArray[2].ToString());
                    journeyDate = strArray[3].ToString();
                    serviceId = Convert.ToInt64(strArray[4].ToString());
                    coachTypeId = Convert.ToInt32(strArray[5].ToString());
                    noOfSeats = Convert.ToInt32(strArray[7].ToString());
                    seatNumbersList = strArray[8].ToString();
                    boardingPointIdList = strArray[9].ToString();
                    ticketFare = Convert.ToString(strArray[6].ToString());
                    droppingPointId = strArray[11].ToString();
                    emailId = dtTicketInfo.Rows[0]["EmailId"].ToString();
                    address = dtTicketInfo.Rows[0]["Address"].ToString();
                    travels = dtTicketInfo.Rows[0]["Travels"].ToString();
                    bustype = dtTicketInfo.Rows[0]["BusType"].ToString();
                    //sourcename = ViewState["From"].ToString();
                    //destinationname = ViewState["To"].ToString();
                    boardingPoint = dtTicketInfo.Rows[0]["BoardingPoint"].ToString();
                    age = Convert.ToInt32(dtTicketInfo.Rows[0]["Age"].ToString());
                    string firstname = dtTicketInfo.Rows[0]["FullName"].ToString();
                    string contactno = dtTicketInfo.Rows[0]["PhoneNo"].ToString();
                    photoIdType = "photoIdType";
                    photoIdNo = referenceNumber;
                    photoIdIssuingAuthority = "photoIdIssuingAuthority";
                    totalBasicFare = Convert.ToDecimal(strArray[10].ToString());
                    serviceTaxPercentage = Convert.ToDecimal(0);
                    discountcode = "0";

                    if (dtTicketInfo.Columns.Contains("FullNameList") &&
                        dtTicketInfo.Columns.Contains("PhoneNoList") &&
                        dtTicketInfo.Columns.Contains("AgeList") &&
                        dtTicketInfo.Columns.Contains("GenderList"))
                    {
                        if (dtTicketInfo.Rows[0]["FullNameList"].ToString() != "" &&
                            dtTicketInfo.Rows[0]["PhoneNoList"].ToString() != "" &&
                            dtTicketInfo.Rows[0]["AgeList"].ToString() != "" &&
                            dtTicketInfo.Rows[0]["GenderList"].ToString() != "")
                        {
                            firstNameList = dtTicketInfo.Rows[0]["FullNameList"].ToString();
                            lastNameList = dtTicketInfo.Rows[0]["FullNameList"].ToString();
                            genderList = dtTicketInfo.Rows[0]["GenderList"].ToString();
                            ageList = dtTicketInfo.Rows[0]["AgeList"].ToString();
                            contactNumberList = dtTicketInfo.Rows[0]["PhoneNoList"].ToString();
                        }
                        else
                        {
                            firstNameList = dtTicketInfo.Rows[0]["FullName"].ToString();
                            lastNameList = dtTicketInfo.Rows[0]["FullName"].ToString();
                            genderList = dtTicketInfo.Rows[0]["Title"].ToString();
                            ageList = dtTicketInfo.Rows[0]["Age"].ToString();
                            contactNumberList = dtTicketInfo.Rows[0]["PhoneNo"].ToString();

                            if (noOfSeats > 1)
                            {
                                for (int i = 0; i < noOfSeats - 1; i++)
                                {
                                    firstNameList = firstNameList + "," + dtTicketInfo.Rows[0]["FullName"].ToString();
                                    lastNameList = lastNameList + "," + dtTicketInfo.Rows[0]["FullName"].ToString();
                                    contactNumberList = contactNumberList + "," + dtTicketInfo.Rows[0]["PhoneNo"].ToString();
                                    ageList = ageList + "," + dtTicketInfo.Rows[0]["Age"].ToString();
                                    genderList = genderList + "," + dtTicketInfo.Rows[0]["Title"].ToString();
                                }
                            }
                        }
                    }

                    else
                    {
                        firstNameList = dtTicketInfo.Rows[0]["FullName"].ToString();
                        lastNameList = dtTicketInfo.Rows[0]["FullName"].ToString();
                        genderList = dtTicketInfo.Rows[0]["Title"].ToString();
                        ageList = dtTicketInfo.Rows[0]["Age"].ToString();
                        contactNumberList = dtTicketInfo.Rows[0]["PhoneNo"].ToString();

                        if (noOfSeats > 1)
                        {
                            for (int i = 0; i < noOfSeats - 1; i++)
                            {
                                firstNameList = firstNameList + "," + dtTicketInfo.Rows[0]["FullName"].ToString();
                                lastNameList = lastNameList + "," + dtTicketInfo.Rows[0]["FullName"].ToString();
                                contactNumberList = contactNumberList + "," + dtTicketInfo.Rows[0]["PhoneNo"].ToString();
                                ageList = ageList + "," + dtTicketInfo.Rows[0]["Age"].ToString();
                                genderList = genderList + "," + dtTicketInfo.Rows[0]["Title"].ToString();
                            }
                        }
                    }

                    if (dtTicketInfo.Columns.Contains("IdType") &&
                       dtTicketInfo.Columns.Contains("IdNo") &&
                       dtTicketInfo.Columns.Contains("IdIssuedBy"))
                    {
                        if (dtTicketInfo.Rows[0]["IdType"].ToString() != "" &&
                            dtTicketInfo.Rows[0]["IdNo"].ToString() != "" &&
                            dtTicketInfo.Rows[0]["IdIssuedBy"].ToString() != "")
                        {
                            photoIdType = dtTicketInfo.Rows[0]["IdType"].ToString();
                            photoIdNo = dtTicketInfo.Rows[0]["IdNo"].ToString();
                            photoIdIssuingAuthority = dtTicketInfo.Rows[0]["IdIssuedBy"].ToString();
                        }
                    }

                    ds = objKesineniAPILayer.BookTicketsOnwardJourney(sourceStationId, destinationStationId, journeyDate,
                        serviceId, coachTypeId, noOfSeats, seatNumbersList, firstNameList, lastNameList, genderList,
                        ageList, contactNumberList, boardingPointIdList, droppingPointId, ticketFare, emailId, address,
                        photoIdType, photoIdNo, photoIdIssuingAuthority, totalBasicFare, serviceTaxPercentage, discountcode);

                    if (ds != null && ds.Tables[0].Rows.Count > 0 && ds.Tables[0].Columns.Count > 1)
                    {
                        status = "Success";
                        statusReason = "";
                    }
                    if (ds.Tables[0].Columns.Count == 1)
                    {
                        status = "Fail";
                        statusReason = ds.Tables[0].Rows[0]["Message"].ToString();
                    }
                }
                #endregion

                #region BitlaTentativeBooking
                if (api == "Bit")
                {
                    objBitlaAPILayer.ReservationId = strArray[1].ToString();
                    objBitlaAPILayer.OriginId = strArray[2].ToString();
                    objBitlaAPILayer.DestinationId = strArray[3].ToString();
                    objBitlaAPILayer.BoardingAt = strArray[5].ToString();
                    objBitlaAPILayer.NoOfSeats = strArray[4].ToString();
                    objBitlaAPILayer.RefNumber = referenceNumber;
                    int noOfSeats = Convert.ToInt32(strArray[4].ToString());
                    string selectedSeats = strArray[6].ToString();
                    string[] selectedSeatsArray = selectedSeats.Split(',');

                    book_ticket bookTicket = new book_ticket();
                    object[] obj = new object[2];

                    book_ticketSeat_detailsSeat_detail[] sD = new book_ticketSeat_detailsSeat_detail[noOfSeats];

                    if (dtTicketInfo.Columns.Contains("FullNameList") &&
                        dtTicketInfo.Columns.Contains("PhoneNoList") &&
                        dtTicketInfo.Columns.Contains("AgeList") &&
                        dtTicketInfo.Columns.Contains("GenderList") &&
                        dtTicketInfo.Columns.Contains("IdType") &&
                        dtTicketInfo.Columns.Contains("IdNo") &&
                        dtTicketInfo.Columns.Contains("IdIssuedBy"))
                    {
                        if (dtTicketInfo.Rows[0]["FullNameList"].ToString() != "" &&
                            dtTicketInfo.Rows[0]["PhoneNoList"].ToString() != "" &&
                            dtTicketInfo.Rows[0]["AgeList"].ToString() != "" &&
                            dtTicketInfo.Rows[0]["GenderList"].ToString() != "" &&
                            dtTicketInfo.Rows[0]["IdType"].ToString() != "" &&
                            dtTicketInfo.Rows[0]["IdNo"].ToString() != "" &&
                            dtTicketInfo.Rows[0]["IdIssuedBy"].ToString() != "")
                        {
                            string[] fullNameListArray = dtTicketInfo.Rows[0]["FullNameList"].ToString().Split(',');
                            string[] phoneNoListArray = dtTicketInfo.Rows[0]["PhoneNoList"].ToString().Split(',');
                            string[] ageListArray = dtTicketInfo.Rows[0]["AgeList"].ToString().Split(',');
                            string[] genderListArray = dtTicketInfo.Rows[0]["GenderList"].ToString().Split(',');

                            string address = dtTicketInfo.Rows[0]["Address"].ToString();
                            string idType = dtTicketInfo.Rows[0]["IdType"].ToString();
                            string idNo = dtTicketInfo.Rows[0]["IdNo"].ToString();
                            string idIssuedBy = dtTicketInfo.Rows[0]["IdIssuedBy"].ToString();

                            for (int i = 0; i < noOfSeats; i++)
                            {
                                book_ticketSeat_detailsSeat_detail sdd = new book_ticketSeat_detailsSeat_detail();
                                sdd.seat_number = selectedSeatsArray[i].ToString();
                                sdd.title = genderListArray[i].ToString();
                                sdd.name = fullNameListArray[i].ToString();
                                sdd.age = ageListArray[i].ToString();
                                sdd.sex = genderListArray[i].ToString();

                                if (i == 0) { sdd.is_primary = "true"; }
                                else { sdd.is_primary = "false"; }

                                sdd.address = address;

                                string id = "";//1 -> Pan Card, 2 -> D/L, 3 -> Passport, 4 -> Voter, 5 -> Aadhar Card
                                if (idType.ToString().ToLower().Contains("pan"))
                                {
                                    id = "1";
                                }
                                else if (idType.ToString().ToLower().Contains("dri"))
                                {
                                    id = "2";
                                }
                                else if (idType.ToString().ToLower().Contains("pass"))
                                {
                                    id = "3";
                                }
                                else if (idType.ToString().ToLower().Contains("voter"))
                                {
                                    id = "4";
                                }
                                else if (idType.ToString().ToLower().Contains("adhar"))
                                {
                                    id = "5";
                                }
                                else if (idType.ToString().ToLower().Contains("ration"))
                                {
                                    id = "4";
                                }

                                sdd.id_card_type = id;

                                sdd.id_card_number = idNo;
                                sdd.id_card_issued_by = idIssuedBy;

                                sD[i] = sdd;
                            }
                        }
                        else
                        {
                            for (int i = 0; i < noOfSeats; i++)
                            {
                                book_ticketSeat_detailsSeat_detail sdd = new book_ticketSeat_detailsSeat_detail();
                                sdd.seat_number = selectedSeatsArray[i].ToString();
                                sdd.title = "Mr";
                                sdd.name = dtTicketInfo.Rows[0]["FullName"].ToString();
                                sdd.age = dtTicketInfo.Rows[0]["Age"].ToString();
                                sdd.sex = dtTicketInfo.Rows[0]["Title"].ToString();
                                if (i == 0) { sdd.is_primary = "true"; }
                                else { sdd.is_primary = "false"; }

                                sdd.address = "";
                                sdd.id_card_type = "";//1 -> Pan Card, 2 -> D/L, 3 -> Passport, 4 -> Voter, 5 -> Aadhar Card
                                sdd.id_card_number = "";
                                sdd.id_card_issued_by = "";

                                sD[i] = sdd;
                            }
                        }
                    }
                    else
                    {
                        for (int i = 0; i < noOfSeats; i++)
                        {
                            book_ticketSeat_detailsSeat_detail sdd = new book_ticketSeat_detailsSeat_detail();
                            sdd.seat_number = selectedSeatsArray[i].ToString();
                            sdd.title = "Mr";
                            sdd.name = dtTicketInfo.Rows[0]["FullName"].ToString();
                            sdd.age = dtTicketInfo.Rows[0]["Age"].ToString();
                            sdd.sex = dtTicketInfo.Rows[0]["Title"].ToString();
                            if (i == 0) { sdd.is_primary = "true"; }
                            else { sdd.is_primary = "false"; }

                            sdd.address = "";
                            sdd.id_card_type = "";//1 -> Pan Card, 2 -> D/L, 3 -> Passport, 4 -> Voter, 5 -> Aadhar Card
                            sdd.id_card_number = "";
                            sdd.id_card_issued_by = "";

                            sD[i] = sdd;
                        }
                    }
                    book_ticketSeat_details ss = new book_ticketSeat_details();
                    ss.seat_detail = sD;
                    book_ticketContact_detail cc = new book_ticketContact_detail();
                    cc.mobile_number = dtTicketInfo.Rows[0]["PhoneNo"].ToString();
                    cc.email = dtTicketInfo.Rows[0]["EmailId"].ToString();
                    cc.emergency_name = dtTicketInfo.Rows[0]["PhoneNo"].ToString();
                    obj[0] = ss;
                    obj[1] = cc;
                    bookTicket.Items = obj;

                    objBitlaAPILayer.TicketDetails = bookTicket;
                    ds = objBitlaAPILayer.ValidateBookTicket();

                    string strValidateBookTicket = "";
                    if (ds != null)
                    {
                        if (ds.Tables[0].Rows.Count > 0 && ds.Tables[0].Columns.Count == 2)
                        {
                            strValidateBookTicket = ds.Tables[0].Rows[0]["message"].ToString();
                        }
                    }
                    if (strValidateBookTicket == "Success! You can book this ticket.")
                    {
                        status = "Success";
                        statusReason = "";
                    }
                    else
                    {
                        status = "Fail";
                        statusReason = ds.Tables[0].Rows[0]["message"].ToString();
                    }
                }
                #endregion

                #region AbhiBusTentativeBooking
                if (api == "Abh")
                {
                    string jDate = ""; string sId = ""; string dId = ""; string serviceId = ""; string selectedSeats = "";
                    int noOfSeats = 0; string bId = ""; string genderType = ""; string psgrName = "";
                    jDate = strArray[1].ToString();
                    sId = strArray[2].ToString();
                    dId = strArray[3].ToString();
                    serviceId = strArray[4].ToString();
                    selectedSeats = strArray[5].ToString();
                    bId = strArray[6].ToString();
                    noOfSeats = Convert.ToInt32(strArray[7].ToString());
                    genderType = dtTicketInfo.Rows[0]["Title"].ToString();
                    psgrName = dtTicketInfo.Rows[0]["FullName"].ToString();
                    if (noOfSeats > 1)
                    {
                        for (int i = 0; i < noOfSeats - 1; i++)
                        {
                            psgrName = psgrName + "," + dtTicketInfo.Rows[0]["FullName"].ToString();
                            genderType = genderType + "," + dtTicketInfo.Rows[0]["Title"].ToString();
                        }
                    }
                    DataTable dt1 = objAbhiBusAPILayer.SeatBlocking(jDate, sId, dId, serviceId, selectedSeats);
                    ds = new DataSet();
                    ds.Tables.Add(dt1);

                    if (dt1 != null && dt1.Columns.Count > 0 && dt1.Rows.Count > 0)
                    {
                        string sel_seats = dt1.Rows[0]["sel_seats"].ToString();
                        string sel_seat_row_cols = dt1.Rows[0]["sel_seat_row_cols"].ToString();
                        string total_fare = dt1.Rows[0]["total_fare"].ToString();
                        if (sel_seats != "" && total_fare != "")
                        {
                            status = "Success";
                            statusReason = "";
                        }
                        else
                        {
                            status = "Fail";
                            statusReason = "Your given seat numbers are already booked or not available in seat layout.";
                        }
                    }
                    else
                    {
                        status = "Fail";
                        statusReason = "Your given seat numbers are already booked or not available in seat layout.";
                    }
                }
                #endregion

                #region KalladaTentativeBooking
                if (api == "Kal")
                {
                    string jDate = ""; string sId = ""; string dId = ""; string serviceId = ""; string selectedSeats = "";
                    int noOfSeats = 0; string bId = ""; string genderType = ""; string psgrName = "";
                    jDate = strArray[1].ToString();
                    sId = strArray[2].ToString();
                    dId = strArray[3].ToString();
                    serviceId = strArray[4].ToString();
                    selectedSeats = strArray[5].ToString();
                    bId = strArray[6].ToString();
                    noOfSeats = Convert.ToInt32(strArray[7].ToString());
                    genderType = dtTicketInfo.Rows[0]["Title"].ToString();
                    psgrName = dtTicketInfo.Rows[0]["FullName"].ToString();
                    if (noOfSeats > 1)
                    {
                        for (int i = 0; i < noOfSeats - 1; i++)
                        {
                            psgrName = psgrName + "," + dtTicketInfo.Rows[0]["FullName"].ToString();
                            genderType = genderType + "," + dtTicketInfo.Rows[0]["Title"].ToString();
                        }
                    }
                    DataTable dt1 = objKalladaAPILayer.SeatBlocking(jDate, sId, dId, serviceId, selectedSeats);
                    ds = new DataSet();
                    ds.Tables.Add(dt1);

                    if (dt1 != null && dt1.Columns.Count > 0 && dt1.Rows.Count > 0)
                    {
                        string sel_seats = dt1.Rows[0]["sel_seats"].ToString();
                        string sel_seat_row_cols = dt1.Rows[0]["sel_seat_row_cols"].ToString();
                        string total_fare = dt1.Rows[0]["total_fare"].ToString();
                        if (sel_seats != "" && total_fare != "")
                        {
                            status = "Success";
                            statusReason = "";
                        }
                        else
                        {
                            status = "Fail";
                            statusReason = "Your given seat numbers are already booked or not available in seat layout.";
                        }
                    }
                    else
                    {
                        status = "Fail";
                        statusReason = "Your given seat numbers are already booked or not available in seat layout.";
                    }
                }
                #endregion

                #region TicketGooseBooking
                if (api == "Tig")
                {
                    string scheduleId = ""; string TravelDate = ""; string FromStationId = "";
                    string ToStationId = ""; string boardingPointId = ""; string emailId = "";
                    string mobileNbr = ""; string address = "";

                    string[] otherInfo = dtTicketInfo.Rows[0]["OtherInfo"].ToString().Split(';');

                    FromStationId = otherInfo[1].ToString();
                    ToStationId = otherInfo[2].ToString();
                    TravelDate = otherInfo[3].ToString();
                    scheduleId = otherInfo[4].ToString();
                    boardingPointId = otherInfo[5].ToString();

                    emailId = dtTicketInfo.Rows[0]["EmailId"].ToString();
                    mobileNbr = dtTicketInfo.Rows[0]["PhoneNo"].ToString();
                    address = dtTicketInfo.Rows[0]["Address"].ToString();

                    string[] seatNos = dtTicketInfo.Rows[0]["SeatNos"].ToString().Split(',');
                    string[] ages = dtTicketInfo.Rows[0]["AgeList"].ToString().Split(',');
                    string[] genders = dtTicketInfo.Rows[0]["GenderList"].ToString().Split(',');
                    string[] names = dtTicketInfo.Rows[0]["FullNameList"].ToString().Split(',');

                    PassengerDetailDTO[] PassengerDetailDT = new PassengerDetailDTO[seatNos.Length];

                    for (int i = 0; i < seatNos.Length; i++)
                    {
                        PassengerDetailDTO PassengerDetailDTO1 = new PassengerDetailDTO();
                        PassengerDetailDTO1.age = ages[i].ToString();
                        PassengerDetailDTO1.name = names[i].ToString();
                        PassengerDetailDTO1.seatNbr = seatNos[i].ToString();
                        PassengerDetailDTO1.sex = genders[i].ToString();
                        PassengerDetailDT[i] = PassengerDetailDTO1;
                    }

                    DataTable dt = objTicketGooseAPILayer.BlockSeatsForBooking(scheduleId, TravelDate, FromStationId, ToStationId,
                        boardingPointId, emailId, mobileNbr, address, PassengerDetailDT);
                    ds = new DataSet();
                    ds.Tables.Add(dt);

                    if (dt != null)
                    {
                        if (dt.Rows.Count > 0)
                        {
                            if (dt.Columns.Contains("BookingId"))
                            {
                                status = "Success";
                                statusReason = "";
                            }
                            else
                            {
                                status = "Fail";
                                statusReason = "Your given seat numbers are already booked or not available in seat layout.";
                            }
                        }
                        else
                        {
                            status = "Fail";
                            statusReason = "Your given seat numbers are already booked or not available in seat layout.";
                        }
                    }
                    else
                    {
                        status = "Fail";
                        statusReason = "Your given seat numbers are already booked or not available in seat layout.";
                    }
                }
                #endregion

                return ds;
            }
            catch (Exception)
            {
                throw;
            }
        }