public IActionResult ChangeBoardingStation([FromBody] ChangeBoardingRequest Request) //parameter will be as like /N
        {
            object        response = "";
            BoardingPoint Response = null;
            ErrorResponse error    = new ErrorResponse();

            if (!ModelState.IsValid || string.IsNullOrEmpty(Request.request.pnr) || string.IsNullOrEmpty(Request.request.boardingStation))
            {
                return(Ok(new Application_ResponseWrapper()
                {
                    ResponseCode = "1000", ResponseMessage = "Invalid model", Status = "failed", ResponseResult = ""
                }));
            }
            if (string.IsNullOrEmpty(_irctcUrl) || string.IsNullOrEmpty(_irctc_userName) || string.IsNullOrEmpty(_irctc_password))
            {
                return(Ok(new Application_ResponseWrapper()
                {
                    ResponseCode = "1001", ResponseMessage = "No IRCTC configuration found", Status = "failed"
                }));
            }
            _irctcUrl = _irctcUrl + "tatktservices/changeBoardingPoint/";// + Request.request.pnr + "/" + Request.request.boardingStation;
            try
            {
                CommunicationLog("OxiRail", "ChangeBoardingStation OUT->>" + _irctcUrl + ":" + JsonConvert.SerializeObject(Request.request).ToString(), Request.userSession);

                response = _booking.BoardingPointChange(_irctcUrl, Request.request, Request.userSession, _authInfo);
                if (Convert.ToString(response).Contains("error"))
                {
                    Response = (ChanageBoardingPointErrResponse)JsonConvert.DeserializeObject(response.ToString(), typeof(ChanageBoardingPointErrResponse));
                }
                else
                {
                    Response = (ChanageBoardingPointResponse)JsonConvert.DeserializeObject(response.ToString(), typeof(ChanageBoardingPointResponse));
                }
                if (Response.pnr != null)
                {
                    error.Dispose();
                    CommunicationLog("OxiRail", "changeBoardingPoint IN->>" + JsonConvert.SerializeObject(response).ToString(), Request.userSession);
                    return(Ok(new Application_ResponseWrapper()
                    {
                        ResponseCode = "0", ResponseMessage = "success", Status = "success", ResponseResult = Response
                    }));
                }
                else
                {
                    error = (ErrorResponse)JsonConvert.DeserializeObject(response.ToString(), typeof(ErrorResponse));
                    CommunicationLog("OxiRail", "changeBoardingPoint IN->>" + JsonConvert.SerializeObject(error).ToString(), Request.userSession);
                    return(Ok(new Application_ResponseWrapper()
                    {
                        ResponseCode = "1000", ResponseMessage = error.errorMessage, Status = "Error", ResponseResult = ""
                    }));
                }
            }
            catch (Exception e)
            {
                CommunicationLog("OxiRail", e.ToString(), Request.userSession);
                error.Dispose();
                return(Ok(new Application_ResponseWrapper()
                {
                    ResponseCode = "1000", ResponseMessage = "Api_Error", Status = "Error", ResponseResult = e
                }));
            }
        }