Risks WADL

Refer 'CrimeRisk.xsd', 'EarthquakeRisk.xsd', 'FloodRisk.xsd', 'FireRisk.xsd', 'FireStation.xsd', 'EarthquakeHistory.xsd', 'FireHistory.xsd', 'Errors.xsd','ShoreLine.xsd' for XML schema definition.
<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://wadl.dev.java.net/2009/02"
	xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<grammars>
		<xs:element name="crimeRiskLocationRequest" type="CrimeRiskByLocationRequest"/>
		<xs:element name="crimeRiskAddressRequest" type="CrimeRiskByAddressRequest"/>
		<xs:element name="fireRiskLocationRequest" type="fireRiskByLocationRequest"/>
		<xs:element name="earthquakeRiskAddressRequest" type="earthquakeRiskByAddressRequest"/>
		<xs:element name="earthquakeRiskLocationRequest" type="earthquakeRiskByLocationRequest"/>
		<xs:complexType name="earthquakeRiskByLocationRequest">
			<xs:sequence>
				<xs:element form="unqualified" maxOccurs="unbounded" minOccurs="0" name="location" type="Locations"/>
				<xs:element minOccurs="0" ref="preferences"/>
			</xs:sequence>
		</xs:complexType>
		<xs:complexType name="earthquakeRiskByAddressRequest">
			<xs:sequence>
				<xs:element maxOccurs="unbounded" minOccurs="0" ref="address"/>
				<xs:element minOccurs="0" ref="preferences"/>
			</xs:sequence>
		</xs:complexType>
		<xs:complexType name="CrimeRiskByLocationRequest">
			<xs:sequence>
				<xs:element form="unqualified" maxOccurs="unbounded" minOccurs="0" name="locations" type="Locations"/>
				<xs:element minOccurs="0" ref="preferences"/>
			</xs:sequence>
		</xs:complexType>
		<xs:complexType name="CrimeRiskByAddressRequest">
			<xs:sequence>
				<xs:element maxOccurs="unbounded" minOccurs="0" ref="address"/>
				<xs:element minOccurs="0" ref="preferences"/>
			</xs:sequence>
		</xs:complexType>
		<xs:complexType name="fireRiskByLocationRequest">
			<xs:sequence>
				<xs:element form="unqualified" maxOccurs="unbounded" minOccurs="0" name="locations" type="Locations"/>
				<xs:element minOccurs="0" ref="preferences"/>
			</xs:sequence>
		</xs:complexType>
		<xs:complexType name="Locations">
			<xs:sequence>
				<xs:element form="unqualified" name="geometry" type="Geometry"/>
				<xs:element form="unqualified" minOccurs="0" name="objectId" nillable="true" type="xs:string"/>
			</xs:sequence>
		</xs:complexType>
		<xs:complexType name="Geometry">
			<xs:sequence>
				<xs:element form="unqualified" name="type" type="xs:string"/>
				<xs:element form="unqualified" maxOccurs="unbounded" minOccurs="0" name="coordinates" type="xs:double"/>
			</xs:sequence>
		</xs:complexType>
		<xs:element name="preferences" type="riskPreferences"/>
		<xs:complexType name="riskPreferences">
			<xs:sequence>
				<xs:element form="unqualified" minOccurs="0" name="includeGeometry" type="xs:string"/>
				<xs:element form="unqualified" minOccurs="0" name="includeZoneDesc" type="xs:string"/>
				<xs:element form="unqualified" minOccurs="0" name="richterValue" type="xs:string"/>
			</xs:sequence>
		</xs:complexType>
		<xs:element name="fireRiskAddressRequest" type="fireRiskByAddressRequest"/>
		<xs:complexType name="fireRiskByAddressRequest">
			<xs:sequence>
				<xs:element maxOccurs="unbounded" minOccurs="0" ref="address"/>
				<xs:element minOccurs="0" ref="preferences"/>
			</xs:sequence>
		</xs:complexType>
		<xs:element name="address" type="address"/>
		<xs:complexType name="address">
			<xs:sequence>
				<xs:element form="unqualified" minOccurs="0" name="objectId" type="xs:string"/>
				<xs:element form="unqualified" minOccurs="0" name="displayName" type="xs:string"/>
				<xs:element form="unqualified" minOccurs="0" name="streetSide" type="xs:string"/>
				<xs:element form="unqualified" minOccurs="0" name="addressLine1" type="xs:string"/>
				<xs:element form="unqualified" minOccurs="0" name="addressLine2" type="xs:string"/>
				<xs:element form="unqualified" minOccurs="0" name="addressLine3" type="xs:string"/>
				<xs:element form="unqualified" minOccurs="0" name="city" type="xs:string"/>
				<xs:element form="unqualified" minOccurs="0" name="stateProvince" type="xs:string"/>
				<xs:element form="unqualified" minOccurs="0" name="county" type="xs:string"/>
				<xs:element form="unqualified" minOccurs="0" name="postalCode" type="xs:string"/>
				<xs:element form="unqualified" minOccurs="0" name="latitude" type="xs:string"/>
				<xs:element form="unqualified" minOccurs="0" name="longitude" type="xs:string"/>
				<xs:element form="unqualified" minOccurs="0" name="status" type="xs:string"/>
				<xs:element form="unqualified" minOccurs="0" name="urbanizationName" type="xs:string"/>
				<xs:element form="unqualified" minOccurs="0" name="formattedAddress" type="xs:string"/>
				<xs:element form="unqualified" minOccurs="0" name="mainAddressLine" type="xs:string"/>
				<xs:element form="unqualified" minOccurs="0" name="addressLastLine" type="xs:string"/>
				<xs:element form="unqualified" minOccurs="0" name="placeName" type="xs:string"/>
				<xs:element form="unqualified" minOccurs="0" name="areaName1" type="xs:string"/>
				<xs:element form="unqualified" minOccurs="0" name="areaName2" type="xs:string"/>
				<xs:element form="unqualified" minOccurs="0" name="areaName3" type="xs:string"/>
				<xs:element form="unqualified" minOccurs="0" name="areaName4" type="xs:string"/>
				<xs:element form="unqualified" minOccurs="0" name="postCode" type="xs:string"/>
				<xs:element form="unqualified" minOccurs="0" name="postCodeExt" type="xs:string"/>
				<xs:element form="unqualified" minOccurs="0" name="country" type="xs:string"/>
				<xs:element form="unqualified" minOccurs="0" name="addressNumber" type="xs:string"/>
				<xs:element form="unqualified" minOccurs="0" name="streetName" type="xs:string"/>
				<xs:element form="unqualified" minOccurs="0" name="unitType" type="xs:string"/>
				<xs:element form="unqualified" minOccurs="0" name="unitValue" type="xs:string"/>
			</xs:sequence>
		</xs:complexType>

		<xs:element name="floodRiskAddressRequest" type="floodRiskByAddressRequest"/>
		<xs:complexType name="floodRiskByAddressRequest">
			<xs:sequence>
				<xs:element maxOccurs="unbounded" minOccurs="0" ref="address"/>
				<xs:element minOccurs="0" ref="preferences"/>
			</xs:sequence>
		</xs:complexType>
		<xs:element name="floodRiskLocationRequest" type="floodRiskByLocationRequest"/>
		<xs:complexType name="floodRiskByLocationRequest">
			<xs:sequence>
				<xs:element form="unqualified" maxOccurs="unbounded" minOccurs="0" name="location" type="Locations"/>
				<xs:element minOccurs="0" ref="preferences"/>
			</xs:sequence>
		</xs:complexType>

		<xs:element name="waterBodiesLocationRequest" type="waterBodiesLocationRequest"/>
		<xs:complexType name="waterBodiesLocationRequest">
			<xs:sequence>
				<xs:element form="unqualified" maxOccurs="unbounded" minOccurs="0" name="location" type="Locations"/>
				<xs:element minOccurs="0" ref="preferences"/>
			</xs:sequence>
		</xs:complexType>

		<xs:element name="preferences" type="distanceToFloodHazardPreferences"/>
		<xs:complexType name="distanceToFloodHazardPreferences">
			<xs:sequence>
				<xs:element form="unqualified" minOccurs="0" name="waterBodyType" type="xs:string"/>
				<xs:element form="unqualified" minOccurs="0" name="maxCandidates" type="xs:string"/>
				<xs:element form="unqualified" minOccurs="0" name="searchDistance" type="xs:string"/>
				<xs:element form="unqualified" minOccurs="0" name="searchDistanceUnit" type="xs:string"/>
			</xs:sequence>
		</xs:complexType>
		<xs:element name="waterBodiesAddressRequest" type="waterBodiesAddressRequest"/>
		<xs:complexType name="waterBodiesAddressRequest">
			<xs:sequence>
				<xs:element maxOccurs="unbounded" minOccurs="0" ref="address"/>
				<xs:element minOccurs="0" ref="preferences"/>
			</xs:sequence>
		</xs:complexType>

	</grammars>
	<resources
		base="https://api.precisely.com">
		<resource path="/risks/v1/crime">
			<resource path="/byaddress">
				<method name="GET">
					<request>
						<param name="address" style="query" type="xs:string" required="true"/>
						<param name="type" style="query" type="xs:string"/>
						<param name="includeGeometry" style="query" type="xs:string"/>
					</request>
					<response>
						<representation mediaType="application/json" element="crimeRisk"/>
						<fault status="400" mediaType="application/json" element="errors"/>
					</response>
				</method>
				<method name="POST">
					<request>
						<representation mediaType="application/json"/>
					</request>
					<response>
						<representation mediaType="application/json"/>
					</response>
				</method>
			</resource>
			<resource path="/bylocation">
				<method name="GET">
					<request>
						<param name="longitude" style="query" type="xs:string" required="true"/>
						<param name="latitude" style="query" type="xs:string" required="true"/>
						<param name="type" style="query" type="xs:string"/>
						<param name="includeGeometry" style="query" type="xs:string"/>
					</request>					
					<response>
						<representation mediaType="application/json" element="crimeRisk"/>
						<fault status="400" mediaType="application/json" element="errors"/>
						<representation mediaType="application/xml" element="crimeRisk"/>
						<fault status="400" mediaType="application/xml" element="errors"/>
					</response>
				</method>
				<method name="POST">
					<request>
						<representation mediaType="application/json"/>
					</request>
					<response>
						<representation mediaType="application/json"/>
					</response>
				</method>
			</resource>
		</resource>
		<resource path="/risks/v1/earthquake">
			<resource path="/byaddress">
				<method name="GET">
					<request>
						<param name="address" style="query" type="xs:string" required="true"/>
						<param name="richterValue" style="query" type="xs:string"/>
						<param name="includeGeometry" style="query" type="xs:string"/>
					</request>
					<response>
						<representation mediaType="application/json" element="earthquakeRisk"/>
						<fault status="400" mediaType="application/json" element="errors"/>
					</response>
				</method>
				<method name="POST">
					<request>
						<representation mediaType="application/json"/>
					</request>
					<response>
						<representation mediaType="application/json"/>
					</response>
				</method>
			</resource>
			<resource path="/bylocation">
				<method name="GET">
					<request>
						<param name="longitude" style="query" type="xs:string" required="true"/>
						<param name="latitude" style="query" type="xs:string" required="true"/>
						<param name="richterValue" style="query" type="xs:string"/>
						<param name="includeGeometry" style="query" type="xs:string"/>
					</request>
					<response>
						<representation mediaType="application/json" element="earthquakeRisk"/>
						<fault status="400" mediaType="application/json" element="errors"/>
					</response>
				</method>
				<method name="POST">
					<request>
						<representation mediaType="application/json"/>
					</request>
					<response>
						<representation mediaType="application/json"/>
					</response>
				</method>
			</resource>
		</resource>
		<resource path="/risks/v1/earthquakehistory">
			<method name="GET">
				<request>
					<param name="postCode" style="query" type="xs:string" required="true"/>
					<param name="startDate" style="query" type="xs:string" />
					<param name="endDate" style="query" type="xs:string"/>
					<param name="minMagnitude" style="query" type="xs:string"/>
					<param name="maxMagnitude" style="query" type="xs:string"/>
					<param name="maxCandidates" style="query" type="xs:string"/>
				</request>
				<response>
					<representation mediaType="application/json" element="earthquakeHistory"/>
					<fault status="400" mediaType="application/json" element="errors"/>
				</response>
			</method>
		</resource>
		<resource path="/risks/v1/flood">
			<resource path="/byaddress">
				<method name="GET">
					<request>
						<param name="address" style="query" type="xs:string" required="true"/>
						<param name="includeZoneDesc" style="query" type="xs:string"/>
						<param name="includeGeometry" style="query" type="xs:string"/>
					</request>
					<response>
						<representation mediaType="application/json" element="floodRisk"/>
						<fault status="400" mediaType="application/json" element="errors"/>
					</response>
				</method>
				<method name="POST">
					<request>
						<representation mediaType="application/json"/>
					</request>
					<response>
						<representation mediaType="application/json"/>
					</response>
				</method>
			</resource>
			<resource path="/bylocation">
				<method name="GET">
					<request>
						<param name="longitude" style="query" type="xs:string" required="true"/>
						<param name="latitude" style="query" type="xs:string" required="true"/>
						<param name="includeZoneDesc" style="query" type="xs:string"/>
						<param name="includeGeometry" style="query" type="xs:string"/>
					</request>
					<response>
						<representation mediaType="application/json" element="floodRisk"/>
						<fault status="400" mediaType="application/json" element="errors"/>
						<representation mediaType="application/xml" element="floodRisk"/>
						<fault status="400" mediaType="application/xml" element="errors"/>
					</response>
				</method>
				<method name="POST">
					<request>
						<representation mediaType="application/json"/>
					</request>
					<response>
						<representation mediaType="application/json"/>
					</response>
				</method>
			</resource>
		</resource>
		<resource path="/risks/v1/fire">
			<resource path="/byaddress">
				<method name="GET">
					<request>
						<param name="address" style="query" type="xs:string" required="true"/>
					</request>
					<response>
						<representation mediaType="application/json" element="fireRisk"/>
						<fault status="400" mediaType="application/json" element="errors"/>
						<representation mediaType="application/xml" element="fireRisk"/>
						<fault status="400" mediaType="application/xml" element="errors"/>
					</response>
				</method>
				<method name="POST">
					<request>
						<representation mediaType="application/json"/>
					</request>
					<response>
						<representation mediaType="application/json"/>
					</response>
				</method>
			</resource>
			<resource path="/bylocation">
				<method name="GET">
					<request>
						<param name="longitude" style="query" type="xs:string" required="true"/>
						<param name="latitude" style="query" type="xs:string" required="true"/>
					</request>
					<response>
						<representation mediaType="application/json" element="fireRisk"/>
						<fault status="400" mediaType="application/json" element="errors"/>
					</response>
				</method>
				<method name="POST">
					<request>
						<representation mediaType="application/json"/>
					</request>
					<response>
						<representation mediaType="application/json"/>
					</response>
				</method>
			</resource>
		</resource>
		<resource path="/risks/v1/firehistory">
			<method name="GET">
				<request>
					<param name="postCode" style="query" type="xs:string" required="true"/>
					<param name="startDate" style="query" type="xs:string" />
					<param name="endDate" style="query" type="xs:string"/>
					<param name="maxCandidates" style="query" type="xs:string"/>
				</request>
				<response>
					<representation mediaType="application/json" element="fireHistory"/>
					<fault status="400" mediaType="application/json" element="errors"/>
				</response>
			</method>
		</resource>
		<resource path="/risks/v1/firestation">
			<resource path="/byaddress">
				<method name="GET">
					<request>
						<param name="address" style="query" type="xs:string" required="true"/>
						<param name="maxCandidates" style="query" type="xs:string"/>  
						<param name="travelTime" style="query" type="xs:string"/>
						<param name="travelTimeUnit" style="query" type="xs:string"/>
						<param name="travelDistance" style="query" type="xs:string"/>
						<param name="travelDistanceUnit" style="query" type="xs:string"/>
						<param name="sortBy" style="query" type="xs:string" />
					</request>
					<response>
						<representation mediaType="application/json" element="fireStations"/>
						<fault status="400" mediaType="application/json" element="errors"/>
					</response>
				</method>
			</resource>
			<resource path="/bylocation">
				<method name="GET">
					<request>
						<param name="longitude" style="query" type="xs:string" required="true"/>
						<param name="latitude" style="query" type="xs:string" required="true"/>
						<param name="maxCandidates" style="query" type="xs:string"/>  
						<param name="travelTime" style="query" type="xs:string"/>
						<param name="travelTimeUnit" style="query" type="xs:string"/>
						<param name="travelDistance" style="query" type="xs:string"/>
						<param name="travelDistanceUnit" style="query" type="xs:string"/>
						<param name="sortBy" style="query" type="xs:string" required="false"/>
					</request>
					<response>
						<representation mediaType="application/json" element="fireStations"/>
						<fault status="400" mediaType="application/json" element="errors"/>
					</response>
				</method>
			</resource>
		</resource>

		<resource path="/risks/v1/shoreline/distancetofloodhazard">
			<resource path="/byaddress">
				<method name="GET">
					<request>
						<param name="address" style="query" type="xs:string" required="true"/>
						<param name="maxCandidates" style="query" type="xs:string"/>
						<param name="waterBodyType" style="query" type="xs:string"/>
						<param name="searchDistance" style="query" type="xs:string"/>
						<param name="searchDistanceUnit" style="query" type="xs:string"/>
					</request>
					<response>
						<representation mediaType="application/json" element="waterBody"/>
						<fault status="400" mediaType="application/json" element="errors"/>
					</response>
				</method>
				<method name="POST">
					<request>
						<representation mediaType="application/json"/>
					</request>
					<response>
						<representation mediaType="application/json"/>
					</response>
				</method>
			</resource>
			<resource path="/bylocation">
				<method name="GET">
					<request>
						<param name="longitude" style="query" type="xs:string" required="true"/>
						<param name="latitude" style="query" type="xs:string" required="true"/>
						<param name="maxCandidates" style="query" type="xs:string"/>
						<param name="waterBodyType" style="query" type="xs:string"/>
						<param name="searchDistance" style="query" type="xs:string"/>
						<param name="searchDistanceUnit" style="query" type="xs:string"/>
					</request>
					<response>
						<representation mediaType="application/json" element="waterBody"/>
						<fault status="400" mediaType="application/json" element="errors"/>
					</response>
				</method>
				<method name="POST">
					<request>
						<representation mediaType="application/json"/>
					</request>
					<response>
						<representation mediaType="application/json"/>
					</response>
				</method>
			</resource>
		</resource>
	</resources>
</application>