def build_request(options = {})

				src_creds_name = SRC_CREDS

				options = options.dup #Don't clobber the original hash
				#NOTE: Could extend this to read WSDL document or using Savon client to tell which nodes are allowed in the request
				#performing the same type of test against passed in variables on each and replacing with the appropriate value

				final_opts = options.dup

				options.keys.each do |key|
					orig_key = key
					new_key = orig_key.to_s.gsub("_", "").downcase
					if (new_key == src_creds_name.downcase)
						final_opts[src_creds_name] = final_opts[key] #Set "SourceCredentials" to hash referenced by similarly named
						final_opts.delete(orig_key)
					end
				end
				
				opts = {};
				final_opts.each  do |key, value|
					new_val = value
					if value.kind_of?(Array)
						tranformed = {}	
						if item[0].kind_of? Integer
							transformed[:int] = value
						elsif item[0].kind_of? String
							transformed[:string] = value
						else
							break #Don't know how to deal with it, return regular
						end
						 new_val = transformed
					end
					opts[key] = new_val
				end
		
				request_body = 
				{
					"PageSize" => 10, 
					"CurrentPageIndex" => 0
				}

				request_body["XMLDetail"] = "Bare" unless opts["Fields"]


				request_body[src_creds_name] = @src_creds.to_hash if @src_creds
				request_body["UserCredentials"] = @usr_creds.to_hash if @usr_creds	

				return request_body.merge!(opts)
		end
def build_request(options = {})

				src_creds_name = SRC_CREDS

				options = options.dup #Don't clobber the original hash
				#NOTE: Could extend this to read WSDL document or using Savon client to tell which nodes are allowed in the request
				#performing the same type of test against passed in variables on each and replacing with the appropriate value

				final_opts = options.dup

				options.keys.each do |key|
					orig_key = key
					new_key = orig_key.to_s.gsub("_", "").downcase
					if (new_key == src_creds_name.downcase)
						final_opts[src_creds_name] = final_opts[key] #Set "SourceCredentials" to hash referenced by similarly named
						final_opts.delete(orig_key)
					end
				end
				
				opts = {};
				final_opts.each  do |key, value|
					new_val = value
					if value.kind_of?(Array)
						tranformed = {}	
						if item[0].kind_of? Integer
							transformed[:int] = value
						elsif item[0].kind_of? String
							transformed[:string] = value
						else
							break #Don't know how to deal with it, return regular
						end
						 new_val = transformed
					end
					opts[key] = new_val
				end
		
				request_body = 
				{
					"PageSize" => 10, 
					"CurrentPageIndex" => 0
				}

				request_body["XMLDetail"] = "Bare" unless opts["Fields"]


				request_body[src_creds_name] = @src_creds.to_hash if @src_creds
				request_body["UserCredentials"] = @usr_creds.to_hash if @usr_creds	

				return request_body.merge!(opts)
		end
Builds the inner XML of the Mindbody SOAP call