ArrayOfGetDocDownloadUrl

<xs:complexType name="ArrayOfGetDocDownloadUrl">
		<xs:sequence>
			<xs:element name="GetDocDownloadUrl" type="GetDocDownloadUrl" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
		</xs:sequence>
</xs:complexType>

CustomerResponse

<xs:complexType name="CustomerResponse" mixed="false">
		<xs:complexContent>
			<xs:extension base="CommandResponse">
				<xs:sequence>
					<xs:element name="CustomerId" type="xs:int"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
</xs:complexType>

GetCustomerByAssetCommand

<xs:complexType name="GetCustomerByAssetCommand" mixed="false">
		<xs:complexContent>
			<xs:extension base="CommandRequest">
				<xs:sequence>
					<xs:element name="AssetId" type="xs:int"/>
					<xs:element name="SearchCustomerInWorkZone" type="xs:boolean"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
</xs:complexType>

GetDocDownloadUrl

<xs:complexType name="GetDocDownloadUrl">
		<xs:sequence>
			<xs:element name="DocumentId" type="xs:int"/>
			<xs:element name="Url" type="xs:string" minOccurs="0"/>
			<xs:element name="FileName" type="xs:string" minOccurs="0"/>
		</xs:sequence>
</xs:complexType>

GetDocDownloadUrlCommand

<xs:complexType name="GetDocDownloadUrlCommand" mixed="false">
		<xs:complexContent>
			<xs:extension base="CommandRequest">
				<xs:sequence>
					<xs:element name="DocumentIds" type="ArrayOfInt" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
	</xs:complexType>
	<xs:complexType name="GetDocDownloadUrlTypeResponse" mixed="false">
		<xs:complexContent>
			<xs:extension base="CommandResponse">
				<xs:sequence>
					<xs:element name="Results" type="ArrayOfGetDocDownloadUrl" minOccurs="0"/>
				</xs:sequence>
			</xs:extension>
		</xs:complexContent>
</xs:complexType>