/// <summary>
        /// Build the XML for a PAPI patron registration
        /// </summary>
        /// <param name="_params"></param>
        /// <returns></returns>
        public static string BuildXml(PatronRegistrationParams _params)
        {
            var doc  = new XDocument();
            var root = new XElement("PatronRegistrationCreateData");

            foreach (var info in _params.GetType().GetProperties())
            {
                var val = info.GetValue(_params, null);
                if (val == null)
                {
                    continue;
                }

                root.Add(new XElement(info.Name, val.GetType() == typeof(DateTime) ? ((DateTime)val).ToString("s") : val));
            }

            doc.Add(root);

            return(doc.ToString());
        }
        /// <summary>
        /// Create a patron registration
        /// </summary>
        /// <param name="_params"></param>
        /// <returns></returns>
        public PapiResponse <PatronRegistrationCreateResult> PatronRegistrationCreate(PatronRegistrationParams _params)
        {
            Require.Argument("PatronBranchID", _params.PatronBranchID);
            Require.Argument("NameFirst", _params.NameFirst);
            Require.Argument("NameLast", _params.NameLast);

            var xml = PatronRegistrationHelper.BuildXml(_params);
            var url = "/PAPIService/REST/public/v1/1033/100/1/patron";

            return(Execute <PatronRegistrationCreateResult>(HttpMethod.Post, url, pin: null, body: xml));
        }