<?xml version='1.0' encoding='UTF-8'?>
<wsdl:definitions xmlns:xs="http://www.w3.org/2001/XMLSchema"
	xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
	xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
	xmlns:tns="http://toursgds.com/api/01"
	targetNamespace="http://toursgds.com/api/01">
	<wsdl:types>
		<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
			<xs:import namespace="http://toursgds.com/api/01"
				schemaLocation="../xsd/api.xsd" />
		</xs:schema>
	</wsdl:types>
	<wsdl:message name="RequestError">
		<wsdl:part element="tns:RequestError" name="fault" />
	</wsdl:message>
	<wsdl:message name="BookingNotificationRequest">
		<wsdl:part element="tns:BookingNotificationRequest" name="BookingNotificationRequest" />
	</wsdl:message>
	<wsdl:message name="AvailabilityNotificationRequest">
		<wsdl:part element="tns:AvailabilityNotificationRequest"
			name="AvailabilityNotificationRequest" />
	</wsdl:message>
	<wsdl:message name="BookingNotificationResponse">
		<wsdl:part element="tns:BookingNotificationResponse" name="BookingNotificationResponse" />
	</wsdl:message>
	<wsdl:message name="AvailabilityNotificationResponse">
		<wsdl:part element="tns:AvailabilityNotificationResponse"
			name="AvailabilityNotificationResponse" />
	</wsdl:message>
	<wsdl:message name="ManifestRequest">
		<wsdl:part element="tns:ManifestRequest" name="ManifestRequest" />
	</wsdl:message>
	<wsdl:message name="ManifestResponse">
		<wsdl:part element="tns:ManifestResponse" name="ManifestResponse" />
	</wsdl:message>
	<wsdl:message name="BookingRedemptionRequest">
		<wsdl:part element="tns:BookingRedemptionRequest" name="BookingRedemptionRequest" />
	</wsdl:message>
	<wsdl:message name="BookingRedemptionResponse">
		<wsdl:part element="tns:BookingRedemptionResponse" name="BookingRedemptionResponse" />
	</wsdl:message>
	<wsdl:message name="SupplierBookingCancellationRequest">
		<wsdl:part element="tns:SupplierBookingCancellationRequest" name="SupplierBookingCancellationRequest" />
	</wsdl:message>
	<wsdl:message name="SupplierBookingCancellationResponse">
		<wsdl:part element="tns:SupplierBookingCancellationResponse" name="SupplierBookingCancellationResponse" />
	</wsdl:message>
	<wsdl:message name="AvailabilityNotification2Request">
		<wsdl:part element="tns:AvailabilityNotification2Request"
				   name="AvailabilityNotification2Request" />
	</wsdl:message>
	<wsdl:message name="AvailabilityNotification2Response">
		<wsdl:part element="tns:AvailabilityNotification2Response"
				   name="AvailabilityNotification2Response" />
	</wsdl:message>
	<wsdl:portType name="SupplierService">
		<wsdl:operation name="redeemBooking">
			<wsdl:input message="tns:BookingRedemptionRequest" name="BookingRedemptionRequest" />
			<wsdl:output message="tns:BookingRedemptionResponse" name="BookingRedemptionResponse" />
			<wsdl:fault message="tns:RequestError" name="RequestError" />
		</wsdl:operation>
		<wsdl:operation name="sendBookingNotification">
			<wsdl:input message="tns:BookingNotificationRequest" name="BookingNotificationRequest" />
			<wsdl:output message="tns:BookingNotificationResponse" name="BookingNotificationResponse" />
			<wsdl:fault message="tns:RequestError" name="RequestError" />
		</wsdl:operation>
		<wsdl:operation name="getBookingManifest">
			<wsdl:input message="tns:ManifestRequest" name="ManifestRequest" />
			<wsdl:output message="tns:ManifestResponse" name="ManifestResponse" />
			<wsdl:fault message="tns:RequestError" name="RequestError" />
		</wsdl:operation>
		<wsdl:operation name="cancelBooking">
			<wsdl:input message="tns:SupplierBookingCancellationRequest" name="SupplierBookingCancellationRequest" />
			<wsdl:output message="tns:SupplierBookingCancellationResponse" name="SupplierBookingCancellationResponse" />
			<wsdl:fault message="tns:RequestError" name="RequestError" />
		</wsdl:operation>
		<wsdl:operation name="sendAvailabilityNotificationRequest">
			<wsdl:input message="tns:AvailabilityNotificationRequest" name="AvailabilityNotificationRequest" />
			<wsdl:output message="tns:AvailabilityNotificationResponse" name="AvailabilityNotificationResponse" />
			<wsdl:fault name="RequestError" message="tns:RequestError" />
		</wsdl:operation>
		<wsdl:operation name="sendAvailabilityNotification2Request">
			<wsdl:input message="tns:AvailabilityNotification2Request" name="AvailabilityNotification2Request" />
			<wsdl:output message="tns:AvailabilityNotification2Response" name="AvailabilityNotification2Response" />
			<wsdl:fault name="RequestError" message="tns:RequestError" />
		</wsdl:operation>
	</wsdl:portType>
	<wsdl:binding name="SupplierServiceBinding" type="tns:SupplierService">
		<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
		<wsdl:operation name="redeemBooking">
			<soap:operation soapAction="http://toursgds.com/api/01#redeemBooking" />
			<wsdl:input><soap:body use="literal" /></wsdl:input>
			<wsdl:output><soap:body use="literal" /></wsdl:output>
			<wsdl:fault name="RequestError"><soap:fault name="RequestError" use="literal" /></wsdl:fault>
		</wsdl:operation>
		<wsdl:operation name="sendBookingNotification">
			<soap:operation soapAction="http://toursgds.com/api/01#sendBookingNotification" />
			<wsdl:input><soap:body use="literal" /></wsdl:input>
			<wsdl:output><soap:body use="literal" /></wsdl:output>
			<wsdl:fault name="RequestError"><soap:fault name="RequestError" use="literal" /></wsdl:fault>
		</wsdl:operation>
		<wsdl:operation name="getBookingManifest">
			<soap:operation soapAction="http://toursgds.com/api/01#getBookingManifest" />
			<wsdl:input><soap:body use="literal" /></wsdl:input>
			<wsdl:output><soap:body use="literal" /></wsdl:output>
			<wsdl:fault name="RequestError"><soap:fault name="RequestError" use="literal" /></wsdl:fault>
		</wsdl:operation>
		<wsdl:operation name="cancelBooking">
			<soap:operation soapAction="http://toursgds.com/api/01#cancelBooking" />
			<wsdl:input><soap:body use="literal" /></wsdl:input>
			<wsdl:output><soap:body use="literal" /></wsdl:output>
			<wsdl:fault name="RequestError"><soap:fault name="RequestError" use="literal" /></wsdl:fault>
		</wsdl:operation>
		<wsdl:operation name="sendAvailabilityNotificationRequest">
			<soap:operation soapAction="http://toursgds.com/api/01#sendAvailabilityNotificationRequest" />
			<wsdl:input><soap:body use="literal" /></wsdl:input>
			<wsdl:output><soap:body use="literal" /></wsdl:output>
			<wsdl:fault name="RequestError"><soap:fault name="RequestError" use="literal" /></wsdl:fault>
		</wsdl:operation>
		<wsdl:operation name="sendAvailabilityNotification2Request">
			<soap:operation soapAction="http://toursgds.com/api/01#sendAvailabilityNotification2Request" />
			<wsdl:input><soap:body use="literal" /></wsdl:input>
			<wsdl:output><soap:body use="literal" /></wsdl:output>
			<wsdl:fault name="RequestError"><soap:fault name="RequestError" use="literal" /></wsdl:fault>
		</wsdl:operation>
	</wsdl:binding>
	<wsdl:service name="SupplierServiceService">
		<wsdl:port name="SupplierServicePort" binding="tns:SupplierServiceBinding">
			<wsdl:documentation>
				Placeholder address. This service is hosted by Viator (the reseller) — the supplier's
				reservation system calls it to push booking redemptions, cancellations, and availability
				notifications. Direction inferred from the operations defined above; confirm with your
				API account manager before relying on it.
			</wsdl:documentation>
			<soap:address location="https://api.viator.com/tgds/reseller-to-supplier" />
		</wsdl:port>
	</wsdl:service>
</wsdl:definitions>
