public static async Task <Bookingback> BookingHotel(HotelBookInput Value, string SessionID)
        {
            try
            {
                Bookingback    BackData       = new Bookingback();
                BookingService bookingService = new BookingService();
                var            data           = await bookingService.HotelBooking(Value, SessionID);

                var           OutPutData = data.Data.hotelX.book.booking;
                BookingMapper serMap     = new BookingMapper();
                if (data.Data.hotelX.book.errors == null && data.Data.hotelX.book.warnings == null && data.Data.hotelX.book.booking != null)
                {
                    BackData = serMap.MapResponseofBooking(OutPutData, SessionID);
                    BookingDataEntry db = new BookingDataEntry();
                    db.SaveSMRBooking(BackData, SessionID);
                }
                else
                {
                    return(new Bookingback());
                }
                return(BackData);
            }
            catch (Exception ex)
            {
                var requestData = JsonConvert.SerializeObject(ex);

                LoggerHelper.WriteToFile("c:/HotelsB2C/Logs/SMLogs/BookingException", "BookingException_" + SessionID, "BookingException", requestData);
                return(new Bookingback());
            }
        }
        public async Task <GraphQLResponse> HotelBooking(HotelBookInput data, string sessionid)
        {
            GraphQLResponse graphQLResponse = new GraphQLResponse();
            var             randomd         = "Book" + RandomString(5);

            try
            {
                var BooKingRequest = new GraphQLRequest
                {
                    //"01[180823[180824[1[14[1[EN[GB[en[EUR[0[1[422[1[14[1[0[1 | 30#30|1|2018-08-23|1|143250|143278|14|0|0[1[30#30[H4sIAAAAAAAA/8pNLUpOTMmPdvWLdq0oyCxKdUksSY02MtE3sNA3MjC0AAAAAP//AQAA//+mSODzIAAAAA=="
                    // rooms: [{occupancyRefId: $roomid, paxes: [{name: ""Test1"", surname: ""Test1"", age: 26}, {name: ""Test2"", surname: ""Test2"", age: 30}]}]
                    Query         = @"mutation Variablesdata($data:String!,$clientNum:String!,$cardtype:String!,$cardHolderName:String!,$cardHolderSurName:String!,$cardNum:String!,$cardCvc:String!,$expiredMonth:Int!,$expiredyear:Int!,$holderName:String!,$holdersurName:String!,$bookingRooms:[BookRoomInput!]!)
{
  hotelX {
    book(input: {optionRefId:$data,
      clientReference:$clientNum, deltaPrice: { amount: 10, percent: 10, applyBoth: true},
      paymentCard: {cardType:$cardtype, holder: {name:$cardHolderName, surname:$cardHolderSurName},
        number:$cardNum,
        CVC:$cardCvc, expire: {month:$expiredMonth, year:$expiredyear}},
      holder: {name:$holderName, surname:$holdersurName},
      rooms:$bookingRooms},
      settings: {client: ""Demo_Client"", testMode: true}) {
      booking {
        status
        payable
        remarks
        reference{
          supplier client
        }
        hotel {
          hotelCode
          checkIn checkOut creationDate boardCode
          rooms{
            occupancyRefId code description
            price{
              net gross currency binding exchange{rate currency}
            }
          }
          occupancies{
            id paxes{
              age 
            }
          }
        }
        price {
          currency
          binding
          net
          gross
          exchange {
            currency
            rate
          }
        }
        cancelPolicy{
          refundable 
          cancelPenalties{
            value currency hoursBefore penaltyType
          }
        }
      }
      errors {
        code
        type
        description
      }
      warnings {
        code
        description

      }
    }
  }
}",
                    OperationName = "Variablesdata",
                    Variables     = new
                    {
                        data              = data.optionRefId,
                        cardtype          = data.paymentCard.cardType,
                        cardHolderName    = data.paymentCard.holder.name,
                        cardHolderSurName = data.paymentCard.holder.surname,
                        cardNum           = data.paymentCard.number,
                        cardCvc           = data.paymentCard.CVC,
                        expiredMonth      = data.paymentCard.expire.month,
                        expiredyear       = data.paymentCard.expire.year,
                        holderName        = data.holder.name,
                        holdersurName     = data.holder.surname,
                        bookingRooms      = data.rooms,
                        clientNum         = randomd
                    }
                };
                string    path        = @"C:\Users\Dev User\source\repos\Hotels2\SMYROOMS\ConfigData.xml";
                XDocument doc         = XDocument.Load(path);
                var       url         = doc.Element("MetaData").Element("URL").Value;
                var       KeyData     = doc.Element("MetaData").Element("TokenKEY").Value;
                var       requestData = JsonConvert.SerializeObject(BooKingRequest);
                LoggerHelper.WriteToFile("SMLogs/BookingRequests", "BookingRequest_" + sessionid, "BookingRequest", requestData);
                var graphQLClient = new GraphQLClient(url);
                graphQLClient.DefaultRequestHeaders.Add("Authorization", KeyData);
                graphQLResponse = await graphQLClient.PostAsync(BooKingRequest);

                var ResponseData = JsonConvert.SerializeObject(graphQLResponse);
                LoggerHelper.WriteToFile("SMLogs/BookingResponse", "BookingResponse_" + sessionid, "BookingResponse", ResponseData);
                return(graphQLResponse);
            }
            catch (Exception ex)
            {
                var requestData = JsonConvert.SerializeObject(ex);

                LoggerHelper.WriteToFile("SMLogs/BookingQueryException", "BookingQueryException_" + sessionid, "BookingQueryException", requestData);
                throw;
            }
        }