<?xml version="1.0" encoding="UTF-8" ?>
 <!--  ebXML Business Process Specification Schema, V2.0 -->
 <!--  Author: SmartDraw.com     -->
 <!--  Created: 2004-07-08T18:46:51Z -->

<ProcessSpecification name="SampleProcess" nameID="SampleProcess-01" version="1.1"
                      uuid="3C591B20-1F13-101B-B826-00DD01103DE1">
	 <Signals>
		<Signal name="DefaultContext" nameID="DefaultContext2.6"
		 specificationLocation="none"    specificationID="BPSS-2.6" specificationType="ebContext" signalPurpose="setContext" signalType="context"/>
		<Signal name="ReceiptAck" nameID="ReceiptAck2.7" 
		 specificationLocation="none" specificationID="BPSS-2.7" specificationType="" signalPurpose="signal" signalType="success"/>
		<Signal name="AcceptanceAck" nameID="AcceptanceAck2.8" 
		 specificationLocation="none" specificationID="BPSS-2.8" specificationType="" signalPurpose="signal" signalType="failure"/>
	 </Signals>
	 <ExternalRoles>
	   <BusinessPartnerRole>
	      <Performs BinaryCollaboration="SampleProcess" BinaryCollaborationID="SampleProcess-01" RoleName="ReSeller" RoleID="ReSeller-01" />
	   </BusinessPartnerRole>
	   <BusinessPartnerRole>
	      <Performs BinaryCollaboration="SampleProcess" BinaryCollaborationID="SampleProcess-01" RoleName="Supplier" RoleID="Supplier-01" />
	   </BusinessPartnerRole>
	 </ExternalRoles>
	 <Package name="Request-Response with signals" nameID="BPSS.01">
		<BusinessDocument name="OrderConfirm" nameID="OrderConfirm-D01" specificationLocation="http://registry.myserver.com/cam/confirm-template.cam" specificationID="CAM-3.1" specificationType="CAM">
		  <ConditionExpression expressionLanguage="CAM RefID" expression="headerID='UBL-order-OP70'"/>
		</BusinessDocument>
		<BusinessDocument name="PurchaseOrder" nameID="PurchaseOrder-D01" specificationLocation="http://registry.myserver.com/cam/order-template.cam" specificationID="CAM-3.2" specificationType="CAM">
		  <ConditionExpression expressionLanguage="ebMS envelope" expression="headerID='UBL-order-OP70'"/>
		</BusinessDocument>
		<BusinessDocument name="ShipNotice" nameID="ShipNotice-D01" specificationLocation="http://registry.myserver.com/cam/shipping-template.cam" specificationID="CAM-3.3" specificationType="CAM">
		  <ConditionExpression expressionLanguage="EDI ISA" expression="headerID='EDI850'"/>
		</BusinessDocument>
		<BusinessDocument name="DeliveryConfirmation" nameID="DeliveryConfirmation-D01" specificationLocation="http://registry.myserver.com/cam/delivery-template.cam" specificationID="CAM-3.4" specificationType="CAM">
		  <ConditionExpression expressionLanguage="EDI ISA" expression="headerID='UPS-shipment-856'"/>
		</BusinessDocument>
		<BusinessDocument name="PaymentInvoice" nameID="PaymentInvoice-D01" specificationLocation="BODinvoice.xsd" specificationID="XSD-3.5" specificationType="XSD">
		  <ConditionExpression expressionLanguage="XML tag" expression="headerID='SettlementInvoice'"/>
		</BusinessDocument>
		<BusinessDocument name="PaymentConfirmation" nameID="PaymentConfirmation-D01" specificationLocation="BODpayment.xsd" specificationID="XSD-3.6" specificationType="XSD">
		  <ConditionExpression expressionLanguage="XML tag" expression="headerID='PaymentConfirm'"/>
		</BusinessDocument>
		<BusinessDocument name="OrderRejected" nameID="OrderRejected-D01" specificationLocation="BODorderInvalid.xsd" specificationID="XSD-3.7" specificationType="XSD">
		  <ConditionExpression expressionLanguage="XML tag" expression="headerID='OrderRejected'"/>
		</BusinessDocument>
		<BusinessDocument name="NoActionNeeded" nameID="NoActionNeeded-D01" specificationLocation="none" specificationID="none-3.8" specificationType="none">
		  <ConditionExpression expressionLanguage="Paper" expression="headerID='none'"/>
		</BusinessDocument>
			<BusinessTransaction
		     name="CreateOrder"
		     nameID="GUID6.1.1"
		     isGuaranteedDeliveryRequired="false">
		<RequestingBusinessActivity
		          name="Request6.1.1"
		          nameID="BPM6.1.1"
		          isAuthorizationRequired="false"
		          isNonRepudiationReceiptRequired="false" 
		          isNonRepudiationRequired="false"
		
		          isIntelligibleCheckRequired="false"
		          timeToAcknowledgeReceipt="PT10S"
		          retryCount="1">  
					<DocumentEnvelope
			               isPositiveResponse="false"
			               isAuthenticated="none"
			               isConfidential="none"
			               isTamperDetectable="none"
			               businessDocument="PurchaseOrder"
			               nameID="PurchaseOrder-01"/> 
		 </RequestingBusinessActivity>
		<RespondingBusinessActivity
		          name="OrderRejected"
		          nameID="RESP6.1.3.1.1"
		          isAuthorizationRequired="false"
		          isNonRepudiationReceiptRequired="false"
		          isNonRepudiationRequired="false"
		          isIntelligibleCheckRequired="true"
		          timeToAcknowledgeReceipt="PT10S"
		          >   
		          <DocumentEnvelope
		               businessDocument="OrderRejected"
		               nameID="OrderRejected-01"
		               isPositiveResponse="false" />
		           <DocumentEnvelope
		               businessDocument="OrderConfirm"
		               nameID="OrderConfirm-01"
		               isPositiveResponse="false" />
		           <DocumentEnvelope
		               businessDocument="ShipNotice"
		               nameID="ShipNotice-01"
		               isPositiveResponse="false" />
	      </RespondingBusinessActivity>
	    </BusinessTransaction>
			<BusinessTransaction
		     name="OrderFulfilment"
		     nameID="GUID6.2.1"
		     isGuaranteedDeliveryRequired="false">
		<RequestingBusinessActivity
		          name="Request6.2.1"
		          nameID="BPM6.2.1"
		          isAuthorizationRequired="false"
		          isNonRepudiationReceiptRequired="false" 
		          isNonRepudiationRequired="false"
		
		          isIntelligibleCheckRequired="false"
		          timeToAcknowledgeReceipt="PT10S"
		          retryCount="1">  
					<DocumentEnvelope
			               isPositiveResponse="false"
			               isAuthenticated="none"
			               isConfidential="none"
			               isTamperDetectable="none"
			               businessDocument="DeliveryConfirmation"
			               nameID="DeliveryConfirmation-01"/> 
		 </RequestingBusinessActivity>
		<RespondingBusinessActivity
		          name="PaymentInvoice"
		          nameID="RESP6.2.3.1.1"
		          isAuthorizationRequired="false"
		          isNonRepudiationReceiptRequired="false"
		          isNonRepudiationRequired="false"
		          isIntelligibleCheckRequired="true"
		          timeToAcknowledgeReceipt="PT10S"
		          >   
		          <DocumentEnvelope
		               businessDocument="PaymentInvoice"
		               nameID="PaymentInvoice-01"
		               isPositiveResponse="false" />
		           <DocumentEnvelope
		               businessDocument="ReceiptAck"
		               nameID="ReceiptAck-01"
		               isPositiveResponse="false" />
	      </RespondingBusinessActivity>
	    </BusinessTransaction>
			<InformationDistribution
		     name="PaymentNotice"
		     nameID="GUID6.3.1"
		     isGuaranteedDeliveryRequired="false">
		<RequestingBusinessActivity
		          name="Request6.3.1"
		          nameID="BPM6.3.1"
		          isAuthorizationRequired="false"
		          isNonRepudiationReceiptRequired="false" 
		          isNonRepudiationRequired="false"
		
		          isIntelligibleCheckRequired="false"
		          timeToAcknowledgeReceipt="PT10S"
		          retryCount="1">  
					<DocumentEnvelope
			               isPositiveResponse="false"
			               isAuthenticated="none"
			               isConfidential="none"
			               isTamperDetectable="none"
			               businessDocument="PaymentConfirmation"
			               nameID="PaymentConfirmation-01"/> 
		 </RequestingBusinessActivity>
	 <!-- transaction defined -->
	    </InformationDistribution>
			<InformationDistribution
		     name="No action needed"
		     nameID="GUID6.4.1"
		     isGuaranteedDeliveryRequired="false">
		<RequestingBusinessActivity
		          name="Request6.4.1"
		          nameID="BPM6.4.1"
		          isAuthorizationRequired="false"
		          isNonRepudiationReceiptRequired="false" 
		          isNonRepudiationRequired="false"
		
		          isIntelligibleCheckRequired="false"
		          timeToAcknowledgeReceipt="PT10S"
		          retryCount="1">  
					<DocumentEnvelope
			               isPositiveResponse="false"
			               isAuthenticated="none"
			               isConfidential="none"
			               isTamperDetectable="none"
			               businessDocument="NoActionNeeded"
			               nameID="NoActionNeeded-01"/> 
		 </RequestingBusinessActivity>
	 <!-- transaction defined -->
	    </InformationDistribution>
	<BinaryCollaboration name="SampleProcess" nameID="SampleProcess-01">
	  <Role name="ReSeller" nameID="ReSeller-01" />
	  <Role name="Supplier" nameID="Supplier-01" />   
	  <Start nameID="Start-Step-1" toBusinessState="Step-1" />
		<BusinessTransactionActivity name="Step-1" nameID="StepID-1" businessTransaction="CreateOrder" fromRole="ReSeller" toRole="Supplier" isConcurrent="true"/> 
	      <Failure name="OrderRejected" nameID="OrderRejected-7.3.1.1" fromBusinessState="Step-1" conditionGuard="business problem" >
	        <ConditionExpression expressionLanguage="bpssFlag" expression='isBusinessSuccess = "false"'/>
	      </Failure> 
	      <Failure name="OrderRejected" nameID="OrderRejected-7.3.1.2" fromBusinessState="Step-1" conditionGuard="fail" >
	        <ConditionExpression expressionLanguage="bpssFlag" expression='isRequestAcceptanceFailure = "true"'/>
	      </Failure> 
	      <Success name="OrderConfirm" nameID="OrderConfirm-7.3.1.3" fromBusinessState="Step-1" conditionGuard="succeed" >
	        <ConditionExpression expressionLanguage="bpssFlag" expression='isPositiveResponse="true"'/>
	      </Success> 
	      <Success name="ShipNotice" nameID="ShipNotice-7.3.1.4" fromBusinessState="Step-1" conditionGuard="succeed" >
	        <ConditionExpression expressionLanguage="bpssFlag" expression='isPositiveResponse="true"'/>
	      </Success> 
	 <Join name="join-7.3.1.5.1" nameID="joinID-7.3.1.5.1" waitForAll="true">
	   <BusinessStateLink toBusinessState="this.hookend.7.3.1.5.1" fromBusinessState="step-7.3" />
	 </Join>
	<BusinessTransactionActivity name="Step-2" nameID="StepID-2" businessTransaction="OrderFulfilment" fromRole="ReSeller" toRole="Supplier" isConcurrent="true"/> 
	      <Failure name="PaymentInvoice" nameID="PaymentInvoice-7.5.1.1" fromBusinessState="Step-2" conditionGuard="timeout" >
	        <ConditionExpression expressionLanguage="bpssFlag" expression='isConfirmReceived = "false"'/>
	      </Failure> 
	      <Success name="PaymentInvoice" nameID="PaymentInvoice-7.5.1.3" fromBusinessState="Step-2" conditionGuard="succeed" >
	        <ConditionExpression expressionLanguage="bpssFlag" expression='isPositiveResponse="true"'/>
	      </Success> 
	<Fork name="Fork-3" nameID="Fork-3">
		<BusinessTransactionActivity name="Step-3" nameID="StepID-3" businessTransaction="No action needed" fromRole="ReSeller" toRole="Supplier" isConcurrent="true"/> 
		<BusinessTransactionActivity name="Step-4" nameID="StepID-4" businessTransaction="PaymentNotice" fromRole="ReSeller" toRole="Supplier" isConcurrent="true"/> 
	</Fork>
    </BinaryCollaboration>
  <!-- end of BPSS -->
 </Package>
</ProcessSpecification>
