<!-- edited with XML Spy v4.0.1 U (http://www.xmlspy.com) by Martin M E Roberts (private) -->
<schema targetNamespace="http://www.ossj.org/TroubleTicket" xmlns:co="http://www.ossj.org/Common" xmlns:tt="http://www.ossj.org/TroubleTicket" xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
	<annotation>
		<documentation>
            	The following Schema is the Trouble Ticket API Request Response Schema.
           	 Pierre Gauthier Nortel Networks 2001.
		 </documentation>
	</annotation>
	<import namespace="http://www.ossj.org/Common" schemaLocation="XmlCommonSchema.xsd"/>
	<!--==============TT Event Property Descriptors and FIlterable Properties================-->
	<complexType name="TroubleTicketEventPropertyDescriptor" abstract="true">
		<annotation>
			<documentation>Trouble Ticket Event Property Descriptor. Extends the EventPropertyDescriptor.
			</documentation>
		</annotation>
		<complexContent>
			<extension base="co:EventPropertyDescriptor">
				<sequence>
					<element name="OSS_ORIGINATOR" type="string" nillable="false"/>
					<element name="OSS_RELATED_ALARMID_LIST" type="string" nillable="false"/>
					<element name="OSS_SUSPECTOID_LIST" type="string" nillable="false"/>
					<element name="OSS_SYSTEMDN" type="string" nillable="false"/>
					<element name="OSS_CUSTOMERID" type="string" nillable="false"/>
					<element name="OSS_TROUBLEDOID" type="string" nillable="false"/>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<complexType name="TroubleTicketCreateEventPropertyDescriptor">
		<annotation>
			<documentation>Trouble Ticekt CreateEvent Property Descriptor. Extends the 
			TroubleTicketEventPropertyDescriptor.
			</documentation>
		</annotation>
		<complexContent>
			<extension base="tt:TroubleTicketEventPropertyDescriptor">
				<sequence/>
			</extension>
		</complexContent>
	</complexType>
	<complexType name="TroubleTicketCloseOutEventPropertyDescriptor">
		<annotation>
			<documentation>TroubleTicketCloseOutEventPropertyDescriptor. Extends the 
			TroubleTicketEventPropertyDescriptor.
			</documentation>
		</annotation>
		<complexContent>
			<extension base="tt:TroubleTicketEventPropertyDescriptor">
				<sequence/>
			</extension>
		</complexContent>
	</complexType>
	<complexType name="TroubleTicketCancellationEventPropertyDescriptor">
		<annotation>
			<documentation>TroubleTicketCancellationEventPropertyDescriptor. Extends the 
			TroubleTicketEventPropertyDescriptor.
			</documentation>
		</annotation>
		<complexContent>
			<extension base="tt:TroubleTicketEventPropertyDescriptor">
				<sequence/>
			</extension>
		</complexContent>
	</complexType>
	<complexType name="TroubleTicketAttributeValueChangeEventPropertyDescriptor">
		<annotation>
			<documentation>TroubleTicketAttributeValueChangeEventPropertyDescriptor. Extends the 
			TroubleTicketEventPropertyDescriptor.
			</documentation>
		</annotation>
		<complexContent>
			<extension base="tt:TroubleTicketEventPropertyDescriptor">
				<sequence/>
			</extension>
		</complexContent>
	</complexType>
	<complexType name="TroubleTicketStatusChangeEventPropertyDescriptor">
		<annotation>
			<documentation>TroubleTicketStatusChangeEventPropertyDescriptor. Extends the 
			TroubleTicketEventPropertyDescriptor.
			</documentation>
		</annotation>
		<complexContent>
			<extension base="tt:TroubleTicketEventPropertyDescriptor">
				<sequence/>
			</extension>
		</complexContent>
	</complexType>
	<!--==============TT Operations Defined as Request/Response/Exception================-->
	<element name="queryTroubleTicketsRequest">
		<annotation>
			<documentation>The following request runs a (complex) query and returns the matching TroubleTickets. 
			The howMany attribute is used to restrict the returning result set.  
			If the result set exceeds the "howMany" value then consequent response messages are returned.</documentation>
		</annotation>
		<complexType>
			<complexContent>
				<extension base="co:IteratorRequest">
					<sequence>
						<element name="query" type="co:QueryValue"/>
						<element name="attrNames" type="co:ArrayOfString" nillable="true" minOccurs="0"/>
					</sequence>
				</extension>
			</complexContent>
		</complexType>
	</element>
	<element name="queryTroubleTicketsResponse">
		<annotation>
			<documentation>The result set is a list (the amount in the list is determined by the howMany attribute) 
			of TroubleTicketValues. The endOfReply indicates whether there are any more result sets being returned. 
			The sequence number indicates the result set TroubleTicket i.e. since there can be a number of response 
			messages generated and there is no mechanism to insure the responses are sent sequentially, 
			there needs to be a method of preserving the TroubleTicket of the response messages that are returned.</documentation>
		</annotation>
		<complexType>
			<complexContent>
				<extension base="co:IteratorResponse">
					<sequence>
						<element name="troubleTicketValues" type="tt:ArrayOfTroubleTicketValue" nillable="true" minOccurs="0"/>
					</sequence>
				</extension>
			</complexContent>
		</complexType>
	</element>
	<element name="queryTroubleTicketsException">
		<annotation>
			<documentation>The following exceptions are returned if an error occurrs.</documentation>
		</annotation>
		<complexType>
			<choice>
				<element name="illegalArgumentException" type="co:IllegalArgumentException"/>
				<element name="remoteException" type="co:RemoteException"/>
			</choice>
		</complexType>
	</element>
	<element name="getTroubleTicketByKeyRequest">
		<annotation>
			<documentation>Returns values for the TroubleTicket identified by the (unique) key. 
			The value object returned will always have a type that is derived from TroubleTicketValue(polymorphism). 
			The attributeName list indicates which attributes are to be returned. 
			If no attributeName is provided then all possible attributes are returned. </documentation>
		</annotation>
		<complexType>
			<sequence>
				<element name="key" type="tt:TroubleTicketKey"/>
				<element name="attrNames" type="co:ArrayOfString" nillable="true" minOccurs="0"/>
			</sequence>
		</complexType>
	</element>
	<element name="getTroubleTicketByKeyResponse">
		<annotation>
			<documentation> The value for the TroubleTicket is returned.</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element name="troubleTicketValue" type="tt:TroubleTicketValue"/>
			</sequence>
		</complexType>
	</element>
	<!-- Modified 
		1. removed the UnsupportedOp exception -->
	<element name="getTroubleTicketByKeyException">
		<annotation>
			<documentation>The following exceptions are returned if an error occurrs.</documentation>
		</annotation>
		<complexType>
			<choice>
				<element name="illegalArgumentException" type="co:IllegalArgumentException"/>
				<element name="objectNotFoundException" type="co:ObjectNotFoundException"/>
				<element name="remoteException" type="co:RemoteException"/>
			</choice>
		</complexType>
	</element>
	<element name="getTroubleTicketsByKeysRequest">
		<annotation>
			<documentation>This is the plural version of getTroubleTicketByKey. It takes in a list of TroubleTicket keys.</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element name="keys" type="tt:ArrayOfTroubleTicketKey"/>
				<element name="attrNames" type="co:ArrayOfString" nillable="true" minOccurs="0"/>
			</sequence>
		</complexType>
	</element>
	<!--Modified
		1. Changed the name tag to "troubleTicketValues"  -->
	<element name="getTroubleTicketsByKeysResponse">
		<annotation>
			<documentation>A list of TroubleTicket values is returned.</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element name="troubleTicketValues" type="tt:ArrayOfTroubleTicketValue"/>
			</sequence>
		</complexType>
	</element>
	<!--Modified 
		1. Replaced the UnsupportedOp exception with IllegalArg  -->
	<element name="getTroubleTicketsByKeysException">
		<annotation>
			<documentation>The following exceptions are returned if an error occurrs.</documentation>
		</annotation>
		<complexType>
			<choice>
				<element name="illegalArgumentException" type="co:IllegalArgumentException"/>
				<element name="finderException" type="co:FinderException"/>
				<element name="remoteException" type="co:RemoteException"/>
			</choice>
		</complexType>
	</element>
	<element name="getTroubleTicketsByTemplateRequest">
		<annotation>
			<documentation>This is an associative lookup which will return values for the TroubleTicket, 
			identified by the TroubleTicketValue template. The value object returned will always have a type 
			that is derived from TroubleTicketValue(polymorphism).  The attributeName list indicates which attributes 
			are to be returned. If the attributeName is null then all possible attributes are returned. 
			The howMany attribute is used to restrict the returning result set.  
			If the result set exceeds the "howMany" value than consequent response messages are returned.</documentation>
		</annotation>
		<complexType>
			<complexContent>
				<extension base="co:IteratorRequest">
					<sequence>
						<element name="template" type="tt:TroubleTicketValue"/>
						<element name="attrNames" type="co:ArrayOfString" nillable="true" minOccurs="0"/>
					</sequence>
				</extension>
			</complexContent>
		</complexType>
	</element>
	<element name="getTroubleTicketsByTemplateResponse">
		<annotation>
			<documentation>The result set is a list (the amount in the list is determined by the howMany attribute) of
			TroubleTicketValues. The endOfReply indicates whether there are any more result sets being returned. 
			The sequence number indicates the result set TroubleTicket, since there can be a number of response messages 
			generated and there is no mechanism to insure the responses are sent sequentially, 
			there needs to be a method of preserving the TroubleTicket of the response messages.</documentation>
		</annotation>
		<complexType>
			<complexContent>
				<extension base="co:IteratorResponse">
					<sequence>
						<element name="troubleTicketValues" type="tt:ArrayOfTroubleTicketValue" nillable="true" minOccurs="0"/>
					</sequence>
				</extension>
			</complexContent>
		</complexType>
	</element>
	<element name="getTroubleTicketsByTemplateException">
		<annotation>
			<documentation>The following exceptions are returned if an error occurrs.</documentation>
		</annotation>
		<complexType>
			<choice>
				<element name="illegalArgumentException" type="co:IllegalArgumentException"/>
				<element name="remoteException" type="co:RemoteException"/>
				<element name="objectNotFoundException" type="co:ObjectNotFoundException"/>
			</choice>
		</complexType>
	</element>
	<element name="getTroubleTicketsByTemplatesRequest">
		<annotation>
			<documentation>This is an associative lookup which will return values for the TroubleTicket, 
			identified by the TroubleTicketValue templates. The value object returned will always have a type 
			that is derived from TroubleTicketValue(polymorphism).  The attributeName list indicates which attributes 
			are to be returned. If the attributeName is null then all possible attributes are returned. 
			The howMany attribute is used to restrict the returning result set.  
			If the result set exceeds the "howMany" value than consequent response messages are returned.</documentation>
		</annotation>
		<complexType>
			<complexContent>
				<extension base="co:IteratorRequest">
					<sequence>
						<element name="templates" type="tt:ArrayOfTroubleTicketValue" maxOccurs="unbounded"/>
						<element name="attrNames" type="co:ArrayOfString" nillable="true" minOccurs="0"/>
					</sequence>
				</extension>
			</complexContent>
		</complexType>
	</element>
	<element name="getTroubleTicketsByTemplatesResponse">
		<annotation>
			<documentation>The result set is a list (the amount in the list is determined by the howMany attribute) of
			TroubleTicketValues. The endOfReply indicates whether there are any more result sets being returned. 
			The sequence number indicates the result set TroubleTicket, since there can be a number of response messages 
			generated and there is no mechanism to insure the responses are sent sequentially, 
			there needs to be a method of preserving the TroubleTicket of the response messages.</documentation>
		</annotation>
		<complexType>
			<complexContent>
				<extension base="co:IteratorResponse">
					<sequence>
						<element name="troubleTicketValues" type="tt:ArrayOfTroubleTicketValue" nillable="true" minOccurs="0"/>
					</sequence>
				</extension>
			</complexContent>
		</complexType>
	</element>
	<element name="getTroubleTicketsByTemplatesException">
		<annotation>
			<documentation>The following exceptions are returned if an error occurrs.</documentation>
		</annotation>
		<complexType>
			<choice>
				<element name="illegalArgumentException" type="co:IllegalArgumentException"/>
				<element name="unsupportedOperationException" type="co:UnsupportedOperationException"/>
				<element name="finderException" type="co:FinderException"/>
				<element name="remoteException" type="co:RemoteException"/>
			</choice>
		</complexType>
	</element>
	<element name="setTroubleTicketByValueRequest">
		<annotation>
			<documentation>This request is used to change the attributes of an TroubleTicket. Only the attributes which are 
			 populated are changed.</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element name="value" type="tt:TroubleTicketValue"/>
				<element name="resyncRequired" type="boolean"/>
			</sequence>
		</complexType>
	</element>
	<element name="setTroubleTicketByValueResponse">
		<annotation>
			<documentation>Only the message header is returned. This is sufficient to indicate that the TroubleTicket was changed. </documentation>
		</annotation>
		<complexType>
			<sequence/>
		</complexType>
	</element>
	<element name="setTroubleTicketByValueException">
		<annotation>
			<documentation>The following exceptions are returned if an error occurrs.</documentation>
		</annotation>
		<complexType>
			<choice>
				<element name="setException" type="co:SetException"/>
				<element name="illegalArgumentException" type="co:IllegalArgumentException"/>
				<element name="objectNotFoundException" type="co:ObjectNotFoundException"/>
				<element name="remoteException" type="co:RemoteException"/>
				<element name="resyncRequiredException" type="co:ResyncRequiredException"/>
			</choice>
		</complexType>
	</element>
	<element name="closeTroubleTicketByKeyRequest">
		<annotation>
			<documentation>The following request will close a TroubleTicket. 
			Exceptions are returned if for example the TroubleTicket does not exist or if closing the TroubleTicket 
			is not allowed</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element name="key" type="tt:TroubleTicketKey"/>
				<element name="status" type="tt:TroubleStatus"/>
				<element name="closeOutNarr" type="string"/>
			</sequence>
		</complexType>
	</element>
	<element name="closeTroubleTicketResponse">
		<annotation>
			<documentation>Only the message header is returned. This is sufficient to indicate that the TroubleTicket was removed. </documentation>
		</annotation>
		<complexType>
			<sequence/>
		</complexType>
	</element>
	<element name="closeTroubleTicketByKeyException">
		<annotation>
			<documentation>The following exceptions are returned if an error occurrs.</documentation>
		</annotation>
		<complexType>
			<choice>
				<element name="illegalArgumentException" type="co:IllegalArgumentException"/>
				<element name="objectNotFoundException" type="co:ObjectNotFoundException"/>
				<element name="remoteException" type="co:RemoteException"/>
				<element name="closeException" type="tt:CloseException"/>
			</choice>
		</complexType>
	</element>
	<element name="createTroubleTicketByValueRequest">
		<annotation>
			<documentation>Creates a new TroubleTicket object in the system and returns the key for the new object. 
			A single TroubleTicketValue is the only value passed into the request. 
			</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element name="value" type="tt:TroubleTicketValue"/>
			</sequence>
		</complexType>
	</element>
	<element name="createTroubleTicketByValueResponse">
		<annotation>
			<documentation>This returns the TroubleTicketKey corresponding to the TroubleTicket which was created in the system</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element name="troubleTicketKey" type="tt:TroubleTicketKey"/>
			</sequence>
		</complexType>
	</element>
	<element name="createTroubleTicketByValueException">
		<annotation>
			<documentation>This is returned if an exception occurrs.</documentation>
		</annotation>
		<complexType>
			<choice>
				<element name="illegalArgumentException" type="co:IllegalArgumentException"/>
				<element name="duplicateKeyException" type="co:DuplicateKeyException"/>
				<element name="createException" type="co:CreateException"/>
				<element name="remoteException" type="co:RemoteException"/>
			</choice>
		</complexType>
	</element>
	<element name="escalateTroubleTicketByKeyRequest">
		<annotation>
			<documentation>The following request will escalate a TroubleTicket. 
			Exceptions are returned if for example the TroubleTicket does not exist or if escalating the TroubleTicket 
			has failed</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element name="key" type="tt:TroubleTicketKey"/>
				<element name="escalation" type="tt:EscalationList"/>
			</sequence>
		</complexType>
	</element>
	<element name="escalateTroubleTicketResponse">
		<annotation>
			<documentation>Only the message header is returned. This is sufficient to indicate that the TroubleTicket was escalated. </documentation>
		</annotation>
		<complexType>
			<sequence/>
		</complexType>
	</element>
	<element name="escalateTroubleTicketByKeyException">
		<annotation>
			<documentation>The following exceptions are returned if an error occurrs.</documentation>
		</annotation>
		<complexType>
			<choice>
				<element name="illegalArgumentException" type="co:IllegalArgumentException"/>
				<element name="objectNotFoundException" type="co:ObjectNotFoundException"/>
				<element name="remoteException" type="co:RemoteException"/>
				<element name="escalateException" type="tt:EscalateException"/>
			</choice>
		</complexType>
	</element>
	<element name="cancelTroubleTicketByKeyRequest">
		<annotation>
			<documentation>The following request will cancel a TroubleTicket. 
			Exceptions are returned if for example the TroubleTicket does not exist or if canceling  the TroubleTicket 
			is not allowed</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element name="key" type="tt:TroubleTicketKey"/>
				<element name="status" type="tt:TroubleStatus"/>
				<element name="closeOutNarr" type="string"/>
			</sequence>
		</complexType>
	</element>
	<element name="cancelTroubleTicketByKeyResponse">
		<annotation>
			<documentation>Only the message header is returned. This is sufficient to indicate that the TroubleTicket was removed. </documentation>
		</annotation>
		<complexType>
			<sequence/>
		</complexType>
	</element>
	<element name="cancelTroubleTicketByKeyException">
		<annotation>
			<documentation>The following exceptions are returned if an error occurrs.</documentation>
		</annotation>
		<complexType>
			<choice>
				<element name="illegalArgumentException" type="co:IllegalArgumentException"/>
				<element name="objectNotFoundException" type="co:ObjectNotFoundException"/>
				<element name="remoteException" type="co:RemoteException"/>
				<element name="cancelException" type="tt:CancelException"/>
			</choice>
		</complexType>
	</element>
	<element name="tryCreateTroubleTicketsByValuesRequest">
		<annotation>
			<documentation>The following request tries to create multiple Trouble Tickets each with a different set of values. 
			The operation is best effort  i.e. the operation will try to set the attributes of every newly created trouble tickets 
			with their new set of values. 			 
			</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element name="values" type="tt:ArrayOfTroubleTicketValue"/>
			</sequence>
		</complexType>
	</element>
	<element name="tryCreateTroubleTicketsByValuesResponse">
		<annotation>
			<documentation>The return value is an array of TroubleTicketKeyResult which contains only the trouble ticket keys 
			for which the update operation failed. 
			The return value is an array of TroubleTicketKeyResult which contains ALL the trouble ticket results (both the failed 
			and success). Each trouble ticket key result should contain the exception that would have been raised if the 
			CREATE operation had been called on a single trouble ticket. 			
			</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element name="troubleTicketKeyResults" type="tt:ArrayOfTroubleTicketKeyResult" nillable="true" minOccurs="0"/>
			</sequence>
		</complexType>
	</element>
	<!-- Modified:
		1. Do we need a DuplicateKey exception in this operation?  -->
	<element name="tryCreateTroubleTicketsByValuesException">
		<annotation>
			<documentation>The following exceptions are returned if an error occurrs. If the operation can’t proceed 
			for any other reason (backend failure) then the javax.oss.CreateException should be raised. If none of the
			objects could be created then the javax.oss.CreateException should be raised.			
			</documentation>
		</annotation>
		<complexType>
			<choice>
				<element name="illegalArgumentException" type="co:IllegalArgumentException"/>
				<element name="createException" type="co:CreateException"/>
				<element name="remoteException" type="co:RemoteException"/>
			</choice>
		</complexType>
	</element>
	<element name="trySetTroubleTicketsByValuesRequest">
		<annotation>
			<documentation>The following request tries to set multiple Trouble Tickets each with different values. 
			The operation is best effort  i.e. the operation will try to update the attributes of every targeted trouble 
			tickets with their new value. 
			</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element name="values" type="tt:ArrayOfTroubleTicketValue"/>
				<element name="resyncRequired" type="boolean"/>
			</sequence>
		</complexType>
	</element>
	<element name="trySetTroubleTicketsByValuesResponse">
		<annotation>
			<documentation>The return value is an array of TroubleTicketKeyResult which contains only the trouble ticket keys 
			for which the update operation failed. 
			</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element name="troubleTicketKeyResults" type="tt:ArrayOfTroubleTicketKeyResult" nillable="true" minOccurs="0"/>
			</sequence>
		</complexType>
	</element>
	<element name="trySetTroubleTicketsByValuesException">
		<annotation>
			<documentation>The following exceptions are returned if an error occurrs. The operation may fail because the trouble ticket could 			not be found or because the update could not be applied to the targeted trouble ticket. Each trouble ticket key result should
			contain the exception that would have been raised if the SET operation had been called on a single trouble ticket. If no trouble
			ticket are found then the javax.ejb.FinderException is raised. If the operation can’t proceed for any other reason (backend failure)
			then the javax.oss.SetException should be raised. If none of the objects could be modified then the javax.oss.SetException 
			should be raised.
			</documentation>
		</annotation>
		<complexType>
			<choice>
				<element name="illegalArgumentException" type="co:IllegalArgumentException"/>
				<element name="setException" type="co:SetException"/>
				<element name="remoteException" type="co:RemoteException"/>
				<element name="resyncRequiredException" type="co:ResyncRequiredException"/>
			</choice>
		</complexType>
	</element>
	<element name="trySetTroubleTicketsByKeysRequest">
		<annotation>
			<documentation>The operation is best effort  i.e. the operation will try to update the attributes of ALL the 
			targeted trouble tickets with the provided value.</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element name="keys" type="tt:ArrayOfTroubleTicketKey"/>
				<element name="value" type="tt:TroubleTicketValue"/>
			</sequence>
		</complexType>
	</element>
	<element name="trySetTroubleTicketsByKeysResponse">
		<annotation>
			<documentation>The return value is an array of TroubleTicketKeyResult which contains only the trouble ticket keys 
			for which the update operation failed.</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element name="troubleTicketKeyResults" type="tt:ArrayOfTroubleTicketKeyResult" nillable="true" minOccurs="0"/>
			</sequence>
		</complexType>
	</element>
	<element name="trySetTroubleTicketsByKeysException">
		<annotation>
			<documentation>The operation may fail because the trouble ticket could not be found or because the update 
			could not be applied to the targeted trouble ticket. Each trouble ticket key result should contain the exception 
			that would have been raised if the SET operation had been called on a single trouble ticket. If no trouble ticket 
			are found then the javax.ejb.FinderException is raised. If the operation can’t proceed for any other reason 
			(backend failure) then the javax.oss.SetException should be raised. If none of the objects could be modified 
			then the javax.oss.SetException should be raised.</documentation>
		</annotation>
		<complexType>
			<choice>
				<element name="illegalArgumentException" type="co:IllegalArgumentException"/>
				<element name="setException" type="co:SetException"/>
				<element name="remoteException" type="co:RemoteException"/>
			</choice>
		</complexType>
	</element>
	<element name="trySetTroubleTicketsByTemplateRequest">
		<annotation>
			<documentation>All the trouble tickets matching the attribute values provided in the value template 
			are set with the attribute values provided in the trouble ticket value. Only the trouble tickets matching 
			all the attribute values provided in the value template are updated.The operation is best effort  i.e. the
			operation will try to update the attributes of ALL the targeted trouble tickets matching the Template 
			with the provided Trouble ticket Value.</documentation>
		</annotation>
		<complexType>
			<complexContent>
				<extension base="co:IteratorRequest">
					<sequence>
						<element name="template" type="tt:TroubleTicketValue" nillable="true"/>
						<element name="value" type="tt:TroubleTicketValue"/>
						<element name="failuresOnly" type="boolean"/>
					</sequence>
				</extension>
			</complexContent>
		</complexType>
	</element>
	<element name="trySetTroubleTicketsByTemplateResponse">
		<annotation>
			<documentation>The result set is a list (the amount in the list is determined by the HowMany element) of
			TroubleTicketKeyResult. The endOfReply indicates whether there are any more result sets being returned. 
			The sequence number indicates the result set TroubleTicketKeyResult, since there can be a number of response messages 
			generated and there is no mechanism to insure the responses are sent sequentially, 
			there needs to be a method of preserving the TroubleTicketKeyResult of the response messages.
			</documentation>
		</annotation>
		<complexType>
			<complexContent>
				<extension base="co:IteratorResponse">
					<sequence>
						<element name="troubleTicketKeyResults" type="tt:ArrayOfTroubleTicketKeyResult" nillable="true" minOccurs="0"/>
					</sequence>
				</extension>
			</complexContent>
		</complexType>
	</element>
	<element name="trySetTroubleTicketsByTemplateException">
		<annotation>
			<documentation>The operation may fail because the trouble ticket could not be found or because the update 
			could not be applied to the targeted trouble ticket. Each trouble ticket key result should contain the exception
			that would have been raised if the SET operation had been called on a single trouble ticket. If no trouble ticket 
			are found then the javax.ejb.FinderException is raised. If the operation can’t proceed for any other reason 
			(backend failure) then the javax.oss.SetException should be raised. If none of the objects could be modified 
			then the javax.oss.SetException should be raised.</documentation>
		</annotation>
		<complexType>
			<choice>
				<element name="illegalArgumentException" type="co:IllegalArgumentException"/>
				<element name="setException" type="co:SetException"/>
				<element name="remoteException" type="co:RemoteException"/>
			</choice>
		</complexType>
	</element>
	<element name="trySetTroubleTicketsByTemplatesRequest">
		<annotation>
			<documentation>All the trouble tickets matching the attribute values provided in the value template(s) 
			are set with the attribute values provided in the trouble ticket value. Only the trouble tickets matching 
			all the attribute values provided in the value template(s) are updated.The operation is best effort  i.e. the
			operation will try to update the attributes of ALL the targeted trouble tickets matching the Template(s) 
			with the provided Trouble ticket Value. If multiple Templates are provided then the semantic is to apply 
			an OR operation between the Templates.
			</documentation>
		</annotation>
		<complexType>
			<complexContent>
				<extension base="co:IteratorRequest">
					<sequence>
						<element name="templates" type="tt:ArrayOfTroubleTicketValue" nillable="true"/>
						<element name="values" type="tt:TroubleTicketValue"/>
						<element name="failuresOnly" type="boolean"/>
					</sequence>
				</extension>
			</complexContent>
		</complexType>
	</element>
	<element name="trySetTroubleTicketsByTemplatesResponse">
		<annotation>
			<documentation>The result set is a list (the amount in the list is determined by the HowMany element) of
			TroubleTicketKeyResult. The endOfReply indicates whether there are any more result sets being returned. 
			The sequence number indicates the result set TroubleTicketKeyResult, since there can be a number of response messages 
			generated and there is no mechanism to insure the responses are sent sequentially, 
			there needs to be a method of preserving the TroubleTicketKeyResult of the response messages.
			</documentation>
		</annotation>
		<complexType>
			<complexContent>
				<extension base="co:IteratorResponse">
					<sequence>
						<element name="troubleTicketKeyResults" type="tt:ArrayOfTroubleTicketKeyResult" nillable="true" minOccurs="0"/>
					</sequence>
				</extension>
			</complexContent>
		</complexType>
	</element>
	<element name="trySetTroubleTicketsByTemplatesException">
		<annotation>
			<documentation>The operation may fail because the trouble ticket could not be found or because the update 
			could not be applied to the targeted trouble ticket. Each trouble ticket key result should contain the exception
			that would have been raised if the SET operation had been called on a single trouble ticket. If no trouble ticket 
			are found then the javax.ejb.FinderException is raised. If the operation can’t proceed for any other reason 
			(backend failure) then the javax.oss.SetException should be raised. If none of the objects could be modified 
			then the javax.oss.SetException should be raised.</documentation>
		</annotation>
		<complexType>
			<choice>
				<element name="illegalArgumentException" type="co:IllegalArgumentException"/>
				<element name="setException" type="co:SetException"/>
				<element name="remoteException" type="co:RemoteException"/>
			</choice>
		</complexType>
	</element>
	<element name="tryEscalateTroubleTicketsByKeysRequest">
		<annotation>
			<documentation>This request is used to escalate multiple Trouble Tickets given their keys. 
			The operation is best effort i.e. the operation will try to close all the targeted trouble tickets given their keys.					 
			</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element name="keys" type="tt:ArrayOfTroubleTicketKey"/>
				<element name="escalations" type="tt:EscalationList"/>
			</sequence>
		</complexType>
	</element>
	<element name="tryEscalateTroubleTicketsByKeysResponse">
		<annotation>
			<documentation>The return value is a list ( representing an array of TroubleTicketKeyResult ) which contains 
			only the trouble ticket keys for which the escalate operation failed. 					
			</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element name="troubleTicketKeyResults" type="tt:ArrayOfTroubleTicketKeyResult" nillable="true" minOccurs="0"/>
			</sequence>
		</complexType>
	</element>
	<element name="tryEscalateTroubleTicketsByKeysException">
		<annotation>
			<documentation>The operation may fail because the trouble ticket could not be found or because escalating 
			the targeted trouble ticket is not allowed. Each trouble ticket key result should contain the exception that 
			would have been raised if the ESCALATE operation had been called on a single trouble ticket. If no trouble 
			tickets are found then the javax.ejb.FinderException is raised. If the operation can’t proceed for any other reason
			(backend failure) then the javax.oss.trouble.EscalateException should be raised. 
			</documentation>
		</annotation>
		<complexType>
			<choice>
				<element name="illegalArgumentException" type="co:IllegalArgumentException"/>
				<element name="remoteException" type="co:RemoteException"/>
				<element name="escalateTroubleTicketException" type="tt:EscalateException"/>
			</choice>
		</complexType>
	</element>
	<element name="tryEscalateTroubleTicketsByTemplateRequest">
		<annotation>
			<documentation>This is the best effort version of the EscalateTroubleTicketByTemplate request that allows the 
			client to escalate all the TroubleTickets matching an TroubleTicket Template .

			</documentation>
		</annotation>
		<complexType>
			<complexContent>
				<extension base="co:IteratorRequest">
					<sequence>
						<element name="troubleTicketTemplate" type="tt:TroubleTicketValue" nillable="true"/>
						<element name="escalations" type="tt:EscalationList"/>
						<element name="failuresOnly" type="boolean"/>
					</sequence>
				</extension>
			</complexContent>
		</complexType>
	</element>
	<element name="tryEscalateTroubleTicketsByTemplateResponse">
		<annotation>
			<documentation>The result set is a list (the amount in the list is determined by the HowMany element) of
			TroubleTicketKeyResult. The endOfReply indicates whether there are any more result sets being returned. 
			The sequence number indicates the result set TroubleTicketKeyResult, since there can be a number of response messages 
			generated and there is no mechanism to insure the responses are sent sequentially, 
			there needs to be a method of preserving the TroubleTicketKeyResult of the response messages.
		
			</documentation>
		</annotation>
		<complexType>
			<complexContent>
				<extension base="co:IteratorResponse">
					<sequence>
						<element name="troubleTicketKeyResults" type="tt:ArrayOfTroubleTicketKeyResult" nillable="true" minOccurs="0"/>
					</sequence>
				</extension>
			</complexContent>
		</complexType>
	</element>
	<!-- Modified:
	1. I have added the EscalateTroubleTicket exception  - It is not in the code -->
	<element name="tryEscalateTroubleTicketsByTemplateException">
		<annotation>
			<documentation>The following exceptions are returned if an error occurrs.
			The operation may fail because the trouble ticket could not be found or because escalating the targeted
			trouble ticket is not allowed. Each trouble ticket key result should contain the exception that would have
			been raised if the ESCALATE operation had been called on a single trouble ticket. If no trouble tickets are 
			found then the javax.ejb.ObjectNotFoundException is raised. If the operation can’t proceed for any other reason 
			(backend failure) then the EscalateTroubleTicketException should be raised.</documentation>
		</annotation>
		<complexType>
			<choice>
				<element name="escalateTroubleTicketException" type="tt:EscalateException"/>
				<element name="illegalArgumentException" type="co:IllegalArgumentException"/>
				<element name="remoteException" type="co:RemoteException"/>
			</choice>
		</complexType>
	</element>
	<!--Modified: Added new Try Escalate element Req/Res/Exception -->
	<element name="tryEscalateTroubleTicketsByTemplatesRequest">
		<annotation>
			<documentation>This is the best effort version of the EscalateTroubleTicketsByTemplates request that allows the 
			client to escalate all the TroubleTickets matching an TroubleTicket Template(s). If multiple Templates are provided 
			then the semantic is to apply an OR operation between the Templates. The return value is a list of TroubleTicketKeyResults
			which can be used to extract the operation results based on the value of the return_mode parameter:
			</documentation>
		</annotation>
		<complexType>
			<complexContent>
				<extension base="co:IteratorRequest">
					<sequence>
						<element name="templates" type="tt:ArrayOfTroubleTicketValue" nillable="true"/>
						<element name="escalations" type="tt:EscalationList"/>
						<element name="failuresOnly" type="boolean"/>
					</sequence>
				</extension>
			</complexContent>
		</complexType>
	</element>
	<element name="tryEscalateTroubleTicketsByTemplatesResponse">
		<annotation>
			<documentation>The result set is a list (the amount in the list is determined by the HowMany element) of
			TroubleTicketKeyResult. The endOfReply indicates whether there are any more result sets being returned. 
			The sequence number indicates the result set TroubleTicketKeyResult, since there can be a number of response
			messages generated and there is no mechanism to insure the responses are sent sequentially, there needs 
			to be a method of preserving the TroubleTicketKeyResult of the response messages.
					
			</documentation>
		</annotation>
		<complexType>
			<complexContent>
				<extension base="co:IteratorResponse">
					<sequence>
						<element name="troubleTicketKeyResults" type="tt:ArrayOfTroubleTicketKeyResult" nillable="true" minOccurs="0"/>
					</sequence>
				</extension>
			</complexContent>
		</complexType>
	</element>
	<element name="tryEscalateTroubleTicketsByTemplatesException">
		<annotation>
			<documentation>The following exceptions are returned if an error occurrs. The operation may fail because 
			the trouble ticket could not be found or because escalating the targeted trouble ticket is not allowed. 
			Each trouble ticket key result should contain the exception that would have been raised if the ESCALATE
			operation had been called on a single trouble ticket. If no trouble tickets are found then the javax.ejb.FinderException 
			is raised. If the operation can’t proceed for any other reason (backend failure) then the EscalateTroubleTicketException
			should be raised.</documentation>
		</annotation>
		<complexType>
			<choice>
				<element name="escalateTroubleTicketException" type="tt:EscalateException"/>
				<element name="illegalArgumentException" type="co:IllegalArgumentException"/>
				<element name="remoteException" type="co:RemoteException"/>
			</choice>
		</complexType>
	</element>
	<element name="tryCloseTroubleTicketsByKeysRequest">
		<annotation>
			<documentation>This request is used to close multiple Trouble Tickets given their keys. 
			The operation is best effort i.e. the operation will try to close all the targeted trouble tickets. 				
			</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element name="keys" type="tt:ArrayOfTroubleTicketKey"/>
				<element name="status" type="tt:TroubleStatus"/>
				<element name="closeOutNarr" type="string"/>
			</sequence>
		</complexType>
	</element>
	<element name="tryCloseTroubleTicketsByKeysResponse">
		<annotation>
			<documentation>The return value is a list (representing an array) of TroubleTicketKeyResult which contains 
			only the trouble ticket keys for which the close operation failed. 						
			</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element name="troubleTicketKeyResults" type="tt:ArrayOfTroubleTicketKeyResult" nillable="true" minOccurs="0"/>
			</sequence>
		</complexType>
	</element>
	<element name="tryCloseTroubleTicketsByKeysException">
		<annotation>
			<documentation>The operation may fail because the trouble ticket could not be found or because removing 
			the targeted trouble ticket is not allowed. Each trouble ticket key result should contain the exception that 
			would have been raised if the CLOSE operation had been called on a single trouble ticket. If no trouble ticket 
			are found then the javax.ejb.FinderException is raised. If the operation can’t proceed for any other reason 
			(backend failure) then the javax.oss.trouble.CloseException should be raised. If none of the objects could 
			be modified then the javax.oss.trouble.CloseException should be raised.			
			</documentation>
		</annotation>
		<complexType>
			<choice>
				<element name="illegalArgumentException" type="co:IllegalArgumentException"/>
				<element name="remoteException" type="co:RemoteException"/>
				<element name="closeTroubleTicketException" type="tt:CloseException"/>
			</choice>
		</complexType>
	</element>
	<element name="tryCloseTroubleTicketsByTemplateRequest">
		<annotation>
			<documentation>This is the best effort version of the CloseTroubleTicketByTemplate request that allows the 
			client to close all the TroubleTickets matching an TroubleTicket Template .
			The returnMode attribute is used to indicate what information should be returned.
			</documentation>
		</annotation>
		<complexType>
			<complexContent>
				<extension base="co:IteratorRequest">
					<sequence>
						<element name="template" type="tt:TroubleTicketValue" nillable="true"/>
						<element name="status" type="tt:TroubleStatus"/>
						<element name="closeOutNarr" type="string"/>
						<element name="failuresOnly" type="boolean"/>
					</sequence>
				</extension>
			</complexContent>
		</complexType>
	</element>
	<element name="tryCloseTroubleTicketsByTemplateResponse">
		<annotation>
			<documentation>The result set is a list (the amount in the list is determined by the HowMany element) of
			TroubleTicketKeyResult. The endOfReply indicates whether there are any more result sets being returned. 
			The sequence number indicates the result set TroubleTicketKeyResult, since there can be a number of response messages 
			generated and there is no mechanism to insure the responses are sent sequentially, 
			there needs to be a method of preserving the TroubleTicketKeyResult of the response messages.
			</documentation>
		</annotation>
		<complexType>
			<complexContent>
				<extension base="co:IteratorResponse">
					<sequence>
						<element name="troubleTicketKeyResults" type="tt:ArrayOfTroubleTicketKeyResult" nillable="true" minOccurs="0"/>
					</sequence>
				</extension>
			</complexContent>
		</complexType>
	</element>
	<!-- Modified:
	1. Is it CloseTroubleTicketException because the spec says it is a close exception while the XVT
	    code says it is a RemoveException -->
	<element name="tryCloseTroubleTicketsByTemplateException">
		<annotation>
			<documentation>The following exceptions are returned if an error occurrs.</documentation>
		</annotation>
		<complexType>
			<choice>
				<element name="closeTroubleTicketException" type="tt:CloseException"/>
				<element name="illegalArgumentException" type="co:IllegalArgumentException"/>
				<element name="remoteException" type="co:RemoteException"/>
				<element name="unsupportedOperationException" type="co:UnsupportedOperationException"/>
			</choice>
		</complexType>
	</element>
	<!--Modified: Added new element Req/Res/Exception -->
	<element name="tryCloseTroubleTicketsByTemplatesRequest">
		<annotation>
			<documentation>This is the best effort version of the CloseTroubleTicketsByTemplates request that allows the 
			client to close all the TroubleTickets matching an TroubleTicket Template. This operation will try to close all the 
			trouble tickets matching the Template(s) . If multiple Templates are provided then the semantic is to apply an 
			OR operation between the Templates. The return value is a list of TroubleTicketKeyResults which can be used
			to extract the operation results based on the value of the return_mode parameter:

			</documentation>
		</annotation>
		<complexType>
			<complexContent>
				<extension base="co:IteratorRequest">
					<sequence>
						<element name="troubleTicketTemplateList" type="tt:ArrayOfTroubleTicketValue" nillable="true"/>
						<element name="status" type="tt:TroubleStatus"/>
						<element name="closeOutNarr" type="string"/>
						<element name="failuresOnly" type="boolean"/>
					</sequence>
				</extension>
			</complexContent>
		</complexType>
	</element>
	<element name="tryCloseTroubleTicketsByTemplatesResponse">
		<annotation>
			<documentation>The result set is a list (the amount in the list is determined by the HowMany element) of
			TroubleTicketKeyResult. The endOfReply indicates whether there are any more result sets being returned. 
			The sequence number indicates the result set TroubleTicketKeyResult, since there can be a number of response messages 
			generated and there is no mechanism to insure the responses are sent sequentially, 
			there needs to be a method of preserving the TroubleTicketKeyResult of the response messages.
					
			</documentation>
		</annotation>
		<complexType>
			<complexContent>
				<extension base="co:IteratorResponse">
					<sequence>
						<element name="troubleTicketKeyResults" type="tt:ArrayOfTroubleTicketKeyResult" nillable="true" minOccurs="0"/>
					</sequence>
				</extension>
			</complexContent>
		</complexType>
	</element>
	<element name="tryCloseTroubleTicketsByTemplatesException">
		<annotation>
			<documentation>The following exceptions are returned if an error occurrs. The operation may fail 
			because the trouble ticket could not be found or because removing the targeted trouble ticket is not 
			allowed. Each trouble ticket key result should contain the exception that would have been raised if 
			the CLOSE operation had been called on a single trouble ticket. If no trouble ticket are found then 
			the javax.ejb.FinderException is raised. If the operation can’t proceed for any other reason 
			(backend failure) then the javax.oss.trouble.CloseException should be raised.</documentation>
		</annotation>
		<complexType>
			<choice>
				<element name="closeTroubleTicketException" type="tt:CloseException"/>
				<element name="illegalArgumentException" type="co:IllegalArgumentException"/>
				<element name="remoteException" type="co:RemoteException"/>
				<element name="unsupportedOperationException" type="co:UnsupportedOperationException"/>
			</choice>
		</complexType>
	</element>
	<!--Modified: 
		1. Added new elements: TryCancel...Req/Res/Exceptions -->
	<element name="tryCancelTroubleTicketsByKeysRequest">
		<annotation>
			<documentation>This request is used to close multiple Trouble Tickets given their keys. 
			The operation is best effort i.e. the operation will try to close all the targeted trouble tickets given their keys.					 
			</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element name="troubleTicketKeyList" type="tt:ArrayOfTroubleTicketKey"/>
				<element name="status" type="tt:TroubleStatus"/>
				<element name="closeOutNarr" type="string"/>
				<element name="failuresOnly" type="boolean"/>
			</sequence>
		</complexType>
	</element>
	<element name="tryCancelTroubleTicketsByKeysResponse">
		<annotation>
			<documentation>The return value is list ( representing an array) of TroubleTicketKeyResult which contains only the trouble 
			ticket keys for which the Cancel operation failed. 					
			</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element name="troubleTicketKeyResults" type="tt:ArrayOfTroubleTicketKeyResult" nillable="true" minOccurs="0"/>
			</sequence>
		</complexType>
	</element>
	<!--Modified:
	1. Added CancelTroubleTicketException. - Not found in code.
	2. Specs, code and schema need to be reviewed wrt the exceptions.  -->
	<element name="tryCancelTroubleTicketsByKeysException">
		<annotation>
			<documentation>The operation may fail because the trouble ticket could not be found or because
			Closing the targeted trouble ticket is not allowed. Each trouble ticket key result should contain the exception 
			that would have been raised if the CANCEL operation had been called on a single trouble ticket. 
			If no trouble ticket are found then the javax.ejb.FinderException is raised. If the operation can’t proceed for any other reason 
			(backend failure) then the CancelTroubleTicketException should be raised. If none of the objects could 
			be modified then the CancelTroubleTicketException should be raised.	
			</documentation>
		</annotation>
		<complexType>
			<choice>
				<element name="illegalArgumentException" type="co:IllegalArgumentException"/>
				<element name="remoteException" type="co:RemoteException"/>
				<element name="cancelTroubleTicketException" type="tt:CancelException"/>
			</choice>
		</complexType>
	</element>
	<!-- Modified:
		1. Added the TryCancel Req/Res/Exception -->
	<element name="tryCancelTroubleTicketsByTemplateRequest">
		<annotation>
			<documentation>This is the best effort version of the CancelTroubleTicketByTemplate request that allows the 
			client to cancel all the TroubleTickets matching an TroubleTicket Template .
			The returnMode attribute is used to indicate what information should be returned.

			</documentation>
		</annotation>
		<complexType>
			<complexContent>
				<extension base="co:IteratorRequest">
					<sequence>
						<element name="template" type="tt:TroubleTicketValue" nillable="true"/>
						<element name="status" type="tt:TroubleStatus"/>
						<element name="closeOutNarr" type="string"/>
						<element name="failuresOnly" type="boolean"/>
					</sequence>
				</extension>
			</complexContent>
		</complexType>
	</element>
	<element name="tryCancelTroubleTicketsByTemplateResponse">
		<annotation>
			<documentation>The result set is a list (the amount in the list is determined by the HowMany element) of
			TroubleTicketKeyResult. The endOfReply indicates whether there are any more result sets being returned. 
			The sequence number indicates the result set TroubleTicketKeyResult, since there can be a number of response messages 
			generated and there is no mechanism to insure the responses are sent sequentially, 
			there needs to be a method of preserving the TroubleTicketKeyResult of the response messages.
			</documentation>
		</annotation>
		<complexType>
			<complexContent>
				<extension base="co:IteratorResponse">
					<sequence>
						<element name="troubleTicketKeyResults" type="tt:ArrayOfTroubleTicketKeyResult" nillable="true" minOccurs="0"/>
					</sequence>
				</extension>
			</complexContent>
		</complexType>
	</element>
	<!-- Modified:
	1. I have added the CancelTroubleTicket exception  - It is not in the code -->
	<element name="tryCancelTroubleTicketsByTemplateException">
		<annotation>
			<documentation>The following exceptions are returned if an error occurrs.
			The operation may fail because the trouble ticket could not be found or because removing the targeted
			trouble ticket is not allowed. Each trouble ticket key result should contain the exception that would have
			been raised if the CANCEL operation had been called on a single trouble ticket. If no trouble ticket are 
			found then the javax.ejb.FinderException is raised. If the operation can’t proceed for any other reason 
			(backend failure) then the CancelTroubleTicketException should be raised. If none of the objects could 
			be canceld then the CancelTroubleTicketException should be raised.</documentation>
		</annotation>
		<complexType>
			<choice>
				<element name="cancelTroubleTicketException" type="tt:CancelException"/>
				<element name="illegalArgumentException" type="co:IllegalArgumentException"/>
				<element name="remoteException" type="co:RemoteException"/>
			</choice>
		</complexType>
	</element>
	<!--Modified: Added new Try Cancel element Req/Res/Exception -->
	<element name="tryCancelTroubleTicketsByTemplatesRequest">
		<annotation>
			<documentation>This is the best effort version of the CancelTroubleTicketsByTemplates request that allows the 
			client to cancel all the TroubleTickets matching an TroubleTicket Template(s). If multiple Templates are provided 
			then the semantic is to apply an OR operation between the Templates. The return value is a list of TroubleTicketKeyResults
			which can be used to extract the operation results based on the value of the return_mode parameter:

			</documentation>
		</annotation>
		<complexType>
			<complexContent>
				<extension base="co:IteratorRequest">
					<sequence>
						<element name="templates" type="tt:ArrayOfTroubleTicketValue" nillable="true"/>
						<element name="status" type="tt:TroubleStatus"/>
						<element name="closeOutNarr" type="string"/>
						<element name="failuresOnly" type="boolean"/>
					</sequence>
				</extension>
			</complexContent>
		</complexType>
	</element>
	<element name="tryCancelTroubleTicketsByTemplatesResponse">
		<annotation>
			<documentation>The result set is a list (the amount in the list is determined by the HowMany element) of
			TroubleTicketKeyResult. The endOfReply indicates whether there are any more result sets being returned. 
			The sequence number indicates the result set TroubleTicketKeyResult, since there can be a number of response
			messages generated and there is no mechanism to insure the responses are sent sequentially, there needs 
			to be a method of preserving the TroubleTicketKeyResult of the response messages.
).						
			</documentation>
		</annotation>
		<complexType>
			<complexContent>
				<extension base="co:IteratorResponse">
					<sequence>
						<element name="troubleTicketKeyResults" type="tt:ArrayOfTroubleTicketKeyResult" nillable="true" minOccurs="0"/>
					</sequence>
				</extension>
			</complexContent>
		</complexType>
	</element>
	<element name="tryCancelTroubleTicketsByTemplatesException">
		<annotation>
			<documentation>The following exceptions are returned if an error occurrs. The operation may fail because 
			the trouble ticket could not be found or because caneling the targeted trouble ticket is not allowed. 
			Each trouble ticket key result should contain the exception that would have been raised if the CANCEL
			operation had been called on a single trouble ticket. If no trouble ticket are found then the javax.ejb.FinderException 
			is raised. If the operation can’t proceed for any other reason (backend failure) then the CancelTroubleTicketException
			should be raised. If none of the objects could be canceld then the CancelTroubleTicketException should be raised.</documentation>
		</annotation>
		<complexType>
			<choice>
				<element name="cancelTroubleTicketException" type="tt:CancelException"/>
				<element name="illegalArgumentException" type="co:IllegalArgumentException"/>
				<element name="remoteException" type="co:RemoteException"/>
				<element name="unsupportedOperationException" type="co:UnsupportedOperationException"/>
			</choice>
		</complexType>
	</element>
	<element name="createTroubleTicketsByValuesRequest">
		<annotation>
			<documentation>This is the same as createTroubleTicket except it allows the client to create 
			a number of TroubleTickets in the system. A list of TroubleTicketValues 
			is passed into the request.</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element name="values" type="tt:ArrayOfTroubleTicketValue"/>
			</sequence>
		</complexType>
	</element>
	<element name="createTroubleTicketsByValuesResponse">
		<annotation>
			<documentation>This returns a list of TroubleTicketKeys corresponding to each 
			TroubleTicket which was created in the system. It is assumed that a successful completion will create 
			all the trouble tickets with their corresponding values and that no changes will be commited otherwise.</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element name="troubleTicketKeys" type="tt:ArrayOfTroubleTicketKey"/>
			</sequence>
		</complexType>
	</element>
	<element name="createTroubleTicketsByValuesException">
		<annotation>
			<documentation>This is returned if an exception occurrs.</documentation>
		</annotation>
		<complexType>
			<choice>
				<element name="duplicateKeyException" type="co:DuplicateKeyException"/>
				<element name="createException" type="co:CreateException"/>
				<element name="illegalArgumentException" type="co:IllegalArgumentException"/>
				<element name="remoteException" type="co:RemoteException"/>
				<element name="unsupportedOperationException" type="co:UnsupportedOperationException"/>
			</choice>
		</complexType>
	</element>
	<element name="setTroubleTicketsByValuesRequest">
		<annotation>
			<documentation>This is the plural version of the setTroubleTicket request. The only difference is that it takes a list
			of TroubleTicketValues. 	This operation is used to set multiple trouble tickets each with a different set of
			attribute values. Each trouble ticket is set with the attribute values provided in the corresponding element of 
			the trouble ticket value array. All the entities matching the provided keys (i.e contained in each TroubleTicketValue 
			of the array) must be found otherwise the XML FinderException message should be sent. If the same key is
			duplicated (i.e there is more than one entry in the array targeting the same trouble ticket) then the XML
			DuplicateKeyException message is sent. The operation is atomic i.e. the operation must successfully update all 
			the attributes of the ALL the corresponding trouble ticket otherwise the XML SetException message is sent 
			(assuming that all the trouble tickets were found i.e XML FinderException was not sent and no 
			key duplication was present). 			
			</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element name="values" type="tt:ArrayOfTroubleTicketValue"/>
				<element name="resyncRequired" type="boolean"/>
			</sequence>
		</complexType>
	</element>
	<element name="setTroubleTicketsByValuesResponse">
		<annotation>
			<documentation>The Response is the SetTroubleTicketsByValuesResponse message which contains only the message
			header. This is sufficient to indicate that the TroubleTickets were changed.It is assumed that a successful 
			completion will update all the attribute values of the ALL the trouble tickets matching the provided keys
			with values with their corresponding values and no changes will be commited otherwise.</documentation>
		</annotation>
		<complexType>
			<sequence/>
		</complexType>
	</element>
	<element name="setTroubleTicketsByValuesException">
		<annotation>
			<documentation>The following exceptions are returned if an error occurrs.
			All the entities matching the provided keys (i.e contained in each TroubleTicketValue 
			of the array) must be found otherwise the XML FinderException message should be sent. If the same key is
			duplicated (i.e there is more than one entry in the array targeting the same trouble ticket) then the XML
			DuplicateKeyException message is sent. The operation is atomic i.e. the operation must successfully update all 
			the attributes of the ALL the corresponding trouble ticket otherwise the XML SetException message is sent 
			(assuming that all the trouble tickets were found i.e XML FinderException was not sent and no 
			key duplication was present). </documentation>
		</annotation>
		<complexType>
			<choice>
				<element name="setException" type="co:SetException"/>
				<element name="illegalArgumentException" type="co:IllegalArgumentException"/>
				<element name="duplicateKeyException" type="co:DuplicateKeyException"/>
				<element name="finderException" type="co:FinderException"/>
				<element name="remoteException" type="co:RemoteException"/>
				<element name="unsupportedOperationException" type="co:UnsupportedOperationException"/>
				<element name="resyncRequiredException" type="co:ResyncRequiredException"/>
			</choice>
		</complexType>
	</element>
	<element name="setTroubleTicketsByKeysRequest">
		<annotation>
			<documentation>This is a version of the setTroubleTicket request that allows the client to set a number
			of TroubleTickets (passing in a list of TroubleTicketKeys to identify those TroubleTickets) with the same values 
		    (passing in a single TroubleTicketValue).
			All the trouble tickets matching the provided keys are set with the attribute values provided in the trouble
			ticket value. All the entities matching the provided keys must be found otherwise the javax.ejb.FinderException 
			should be raised. The operation is atomic i.e. the operation must successfully update all the attributes of the 
			ALL the corresponding trouble ticket otherwise the javax.oss.SetException is raised (assuming that all the trouble
			tickets were found i.e the javax.ejb.FinderException was not raised). 		
		</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element name="keys" type="tt:ArrayOfTroubleTicketKey"/>
				<element name="value" type="tt:TroubleTicketValue"/>
			</sequence>
		</complexType>
	</element>
	<element name="setTroubleTicketsByKeysResponse">
		<annotation>
			<documentation>Only the message header is returned. This is sufficient to indicate that the TroubleTickets were changed. 
			It is assumed that a successful completion will update all the attribute values of the ALL the trouble tickets matching 
			the provided keys with values based on the Trouble ticket Value modifier or that no changes will be commited.
			</documentation>
		</annotation>
		<complexType>
			<sequence/>
		</complexType>
	</element>
	<element name="setTroubleTicketsByKeysException">
		<annotation>
			<documentation>The following exceptions are returned if an error occurrs.
			All the trouble tickets matching the provided keys are set with the attribute values provided in the trouble
			ticket value. All the entities matching the provided keys must be found otherwise the javax.ejb.FinderException 
			should be raised. The operation is atomic i.e. the operation must successfully update all the attributes of the 
			ALL the corresponding trouble ticket otherwise the javax.oss.SetException is raised (assuming that all the trouble
			tickets were found i.e the javax.ejb.FinderException was not raised).
			</documentation>
		</annotation>
		<complexType>
			<choice>
				<element name="setException" type="co:SetException"/>
				<element name="illegalArgumentException" type="co:IllegalArgumentException"/>
				<element name="finderException" type="co:FinderException"/>
				<element name="remoteException" type="co:RemoteException"/>
				<element name="unsupportedOperationException" type="co:UnsupportedOperationException"/>
			</choice>
		</complexType>
	</element>
	<element name="setTroubleTicketsByTemplateRequest">
		<annotation>
			<documentation>This is a version of the setTroubleTicket request that allows the client to set all
			the TroubleTickets matching an TroubleTicketTemplate with the same values (passing in a single TroubleTicketValue).
			Only the trouble tickets matching all the attribute values provided in the value template are updated.			
			</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element name="template" type="tt:TroubleTicketValue"/>
				<element name="value" type="tt:TroubleTicketValue"/>
			</sequence>
		</complexType>
	</element>
	<element name="setTroubleTicketsByTemplateResponse">
		<annotation>
			<documentation>Only the message header is returned. This is sufficient to indicate that the TroubleTickets were changed.
			It is assumed that a successful completion will update all the attribute values of the ALL the trouble tickets 
			matching the template with values based on the Trouble ticket Value modifier.
			 </documentation>
		</annotation>
		<complexType>
			<sequence/>
		</complexType>
	</element>
	<element name="setTroubleTicketsByTemplateException">
		<annotation>
			<documentation>The following exceptions are returned if an error occurrs.
			If no trouble ticket matching the value templates are found then no exception is raised. The exceptions and
			their semantics are the same than the ones raised in the equivalent JVT operation. The operations are 
			atomic i.e. the operation must successfully update all the attributes of the ALL the corresponding trouble 
			ticket otherwise the javax.oss.SetException is raised.</documentation>
		</annotation>
		<complexType>
			<choice>
				<element name="setException" type="co:SetException"/>
				<element name="illegalArgumentException" type="co:IllegalArgumentException"/>
				<element name="objectNotFoundException" type="co:ObjectNotFoundException"/>
				<element name="remoteException" type="co:RemoteException"/>
				<element name="unsupportedOperationException" type="co:UnsupportedOperationException"/>
			</choice>
		</complexType>
	</element>
	<element name="setTroubleTicketsByTemplatesRequest">
		<annotation>
			<documentation>This is a version of the setTroubleTicket request that allows the client to set all
			the TroubleTickets matching at least one of the TroubleTicketTemplate with the same values (passing in a single TroubleTicketValue).
			</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element name="templates" type="tt:ArrayOfTroubleTicketValue"/>
				<element name="value" type="tt:TroubleTicketValue"/>
			</sequence>
		</complexType>
	</element>
	<element name="setTroubleTicketsByTemplatesResponse">
		<annotation>
			<documentation>Only the message header is returned. This is sufficient to indicate that the TroubleTickets were changed. </documentation>
		</annotation>
		<complexType>
			<sequence/>
		</complexType>
	</element>
	<element name="setTroubleTicketsByTemplatesException">
		<annotation>
			<documentation>The following exceptions are returned if an error occurrs.
			If no trouble ticket matching the value templates are found then no exception is raised. The exceptions and
			their semantics are the same than the ones raised in the equivalent JVT operation. The operations are 
			atomic i.e. the operation must successfully update all the attributes of the ALL the corresponding trouble 
			ticket otherwise the javax.oss.SetException is raised.</documentation>
		</annotation>
		<complexType>
			<choice>
				<element name="setException" type="co:SetException"/>
				<element name="illegalArgumentException" type="co:IllegalArgumentException"/>
				<element name="finderException" type="co:FinderException"/>
				<element name="remoteException" type="co:RemoteException"/>
				<element name="unsupportedOperationException" type="co:UnsupportedOperationException"/>
				<element name="duplicateKeyException" type="co:DuplicateKeyException"/>
			</choice>
		</complexType>
	</element>
	<element name="escalateTroubleTicketsByKeysRequest">
		<annotation>
			<documentation>This request is used to escalate multiple Trouble Tickets given their keys. 
			The operation is atomic i.e. the operation must successfully escalate all the corresponding trouble tickets
			otherwise the EscalateTroubleTicketException is raised (assuming that all the trouble tickets were found
			FinderException was not raised).				 
			</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element name="keys" type="tt:ArrayOfTroubleTicketKey"/>
				<element name="escalations" type="tt:EscalationList"/>
			</sequence>
		</complexType>
	</element>
	<element name="escalateTroubleTicketsByKeysResponse">
		<annotation>
			<documentation>The return type for the operation is just the header. It is assumed that a successful 
			completion will escalate all the trouble tickets matching the provided keys or that no changes will be commited. 					
			</documentation>
		</annotation>
		<complexType>
			<sequence/>
		</complexType>
	</element>
	<!--Modified:
	1. Added EscalateTroubleTicketException. - Not found in xvt code.
	2. Specs, code and schema need to be reviewed wrt the exceptions.  -->
	<element name="escalateTroubleTicketsByKeysException">
		<annotation>
			<documentation>The operation is atomic i.e. the operation must successfully escalate all the corresponding trouble tickets
			otherwise the EscalateTroubleTicketException is raised (assuming that all the trouble tickets were found
			FinderException was not raised).	
			</documentation>
		</annotation>
		<complexType>
			<choice>
				<element name="illegalArgumentException" type="co:IllegalArgumentException"/>
				<element name="finderException" type="co:FinderException"/>
				<element name="remoteException" type="co:RemoteException"/>
				<element name="escalateTroubleTicketException" type="tt:EscalateException"/>
				<element name="unsupportedOperationException" type="co:UnsupportedOperationException"/>
			</choice>
		</complexType>
	</element>
	<!-- Modified:
		1. Added the TryEscalate Req/Res/Exception -->
	<element name="escalateTroubleTicketsByTemplateRequest">
		<annotation>
			<documentation>This request is used to escalate all the targeted TroubleTickets using the template Trouble
			Ticket value. All the trouble tickets matching the attribute values provided in the value template are escalated.
			The operation is atomic i.e. the operation must successfully escalate all the corresponding trouble tickets
			otherwise the EscalateTroubleTicketException is raised.
			</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element name="template" type="tt:TroubleTicketValue" nillable="true"/>
				<element name="escalations" type="tt:EscalationList"/>
			</sequence>
		</complexType>
	</element>
	<element name="escalateTroubleTicketsByTemplateResponse">
		<annotation>
			<documentation>The return type for the operation is just the header. It is assumed that a successful 
			completion will escalate all the trouble tickets matching the template.			
			</documentation>
		</annotation>
		<complexType>
			<sequence/>
		</complexType>
	</element>
	<!-- Modified:
	1. I have added the EscalateTroubleTicket exception  - It is not in the code -->
	<element name="escalateTroubleTicketsByTemplateException">
		<annotation>
			<documentation>If no trouble ticket matching the value template is found then no exception is raised. The
			javax.ejb.ObjectNotFoundException should only be raised if the TroubleTicketKey is provided as part of
			the Value template.</documentation>
		</annotation>
		<complexType>
			<choice>
				<element name="escalateTroubleTicketException" type="tt:CancelException"/>
				<element name="illegalArgumentException" type="co:IllegalArgumentException"/>
				<element name="objectNotFoundException" type="co:ObjectNotFoundException"/>
				<element name="remoteException" type="co:RemoteException"/>
				<element name="unsupportedOperationException" type="co:UnsupportedOperationException"/>
			</choice>
		</complexType>
	</element>
	<!--Modified: Added new Try Escalate element Req/Res/Exception -->
	<element name="escalateTroubleTicketsByTemplatesRequest">
		<annotation>
			<documentation>This request is used to escalate all the targeted TroubleTickets using the Trouble
			Ticket template(s). All the trouble tickets matching the attribute values provided in the value template(s) are escalated.
			The operation is atomic i.e. the operation must successfully escalate all the corresponding trouble tickets
			otherwise the EscalateTroubleTicketException is raised.</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element name="templates" type="tt:ArrayOfTroubleTicketValue" nillable="true"/>
				<element name="escalations" type="tt:EscalationList"/>
			</sequence>
		</complexType>
	</element>
	<element name="escalateTroubleTicketsByTemplatesResponse">
		<annotation>
			<documentation>The return type for the operation is just the header. It is assumed that a successful 
			completion will escalate all the trouble tickets matching the template(s).</documentation>
		</annotation>
		<complexType>
			<sequence/>
		</complexType>
	</element>
	<element name="escalateTroubleTicketsByTemplatesException">
		<annotation>
			<documentation>If no trouble ticket matching the value templates is found then no exception is raised.
			The FinderException should only be raised if all the Value Template(s) are populated with a 
			TroubleTicketKey value and no object is found.</documentation>
		</annotation>
		<complexType>
			<choice>
				<element name="escalateTroubleTicketException" type="tt:EscalateException"/>
				<element name="illegalArgumentException" type="co:IllegalArgumentException"/>
				<element name="finderException" type="co:FinderException"/>
				<element name="remoteException" type="co:RemoteException"/>
				<element name="unsupportedOperationException" type="co:UnsupportedOperationException"/>
			</choice>
		</complexType>
	</element>
	<element name="closeTroubleTicketsByKeysRequest">
		<annotation>
			<documentation>This is the plural version of the CloseTroubleTicket request. 
			The only difference is that it takes a list of TroubleTickets  to be closed
			(indicated by a list of TroubleTicketKeys). All the trouble tickets matching the provided keys are closed. 
			The operation is atomic i.e. the operation must successfully close all the corresponding trouble tickets 
			otherwise the proper Exception messages should be sent. </documentation>
		</annotation>
		<complexType>
			<sequence>
				<element name="keys" type="tt:ArrayOfTroubleTicketKey"/>
				<element name="status" type="tt:TroubleStatus"/>
				<element name="closeOutNarr" type="string"/>
			</sequence>
		</complexType>
	</element>
	<element name="closeTroubleTicketsByKeysResponse">
		<annotation>
			<documentation>Only the message header is returned. This is sufficient to indicate that 
			the TroubleTickets were closed. It is assumed that a successful completion will close all
			the trouble tickets matching the provided keys or that no changes will be commited.</documentation>
		</annotation>
		<complexType>
			<sequence/>
		</complexType>
	</element>
	<!--Modified
	1. Remove exception was replaced by CloseTroubleTicektException.
	2. The spec and code should be updated. -->
	<element name="closeTroubleTicketsByKeysException">
		<annotation>
			<documentation>The following exceptions are returned if an error occurrs.</documentation>
		</annotation>
		<complexType>
			<choice>
				<element name="illegalArgumentException" type="co:IllegalArgumentException"/>
				<element name="finderException" type="co:FinderException"/>
				<element name="closeTroubleTicketException" type="tt:CloseException"/>
				<element name="remoteException" type="co:RemoteException"/>
				<element name="unsupportedOperationException" type="co:UnsupportedOperationException"/>
			</choice>
		</complexType>
	</element>
	<element name="closeTroubleTicketsByTemplateRequest">
		<annotation>
			<documentation>This is a close operation, that determines which TroubleTicket to close by using an 
			associative lookup. TroubleTickets are closed based on the values of the attributes in the TroubleTicketValue 
			template passed into this request. This operation is not MANDATORY. </documentation>
		</annotation>
		<complexType>
			<sequence>
				<element name="template" type="tt:TroubleTicketValue"/>
				<element name="status" type="tt:TroubleStatus"/>
				<element name="closeOutNarr" type="string"/>
			</sequence>
		</complexType>
	</element>
	<element name="closeTroubleTicketsByTemplateResponse">
		<annotation>
			<documentation>Only the message header is returned. This is sufficient to indicate that 
			ALL the TroubleTickets were closed. </documentation>
		</annotation>
		<complexType>
			<sequence/>
		</complexType>
	</element>
	<!--Modified:
		1. Replced the FinderException with ObjectNot foundEx. 
		2. In XVT code there is a remove exception that needs to be converted to a CloseTroubleTicket Exception
		    and also in the spec.
		3. Few typo stuff in the atomic close signatures and comments in the code.  -->
	<element name="closeTroubleTicketsByTemplateException">
		<annotation>
			<documentation>The following exceptions are returned if an error occurrs.</documentation>
		</annotation>
		<complexType>
			<choice>
				<element name="objectNotFoundException" type="co:ObjectNotFoundException"/>
				<element name="closeTroubleTicketException" type="tt:CloseException"/>
				<element name="remoteException" type="co:RemoteException"/>
				<element name="unsupportedOperationException" type="co:UnsupportedOperationException"/>
			</choice>
		</complexType>
	</element>
	<element name="closeTroubleTicketsByTemplatesRequest">
		<annotation>
			<documentation>This is a close operation, that determines which TroubleTicket to close by using an 
			associative lookup. TroubleTickets are closed based on the values of the attributes in the TroubleTicketValue 
			templates passed into this request. </documentation>
		</annotation>
		<complexType>
			<sequence>
				<element name="templates" type="tt:ArrayOfTroubleTicketValue"/>
				<element name="status" type="tt:TroubleStatus"/>
				<element name="closeOutNarr" type="string"/>
			</sequence>
		</complexType>
	</element>
	<element name="closeTroubleTicketsByTemplatesResponse">
		<annotation>
			<documentation>Only the message header is returned. This is sufficient to indicate that 
			ALL the TroubleTickets were closed. </documentation>
		</annotation>
		<complexType>
			<sequence/>
		</complexType>
	</element>
	<!-- Modified:
	1. Remove exception need to be replaced by the CloseTroubleTicketException in XVT code and in the spec-->
	<element name="closeTroubleTicketsByTemplatesException">
		<annotation>
			<documentation>The following exceptions are returned if an error occurrs.</documentation>
		</annotation>
		<complexType>
			<choice>
				<element name="illegalArgumentException" type="co:IllegalArgumentException"/>
				<element name="finderException" type="co:FinderException"/>
				<element name="closeTroubleTicketException" type="tt:CloseException"/>
				<element name="remoteException" type="co:RemoteException"/>
				<element name="unsupportedOperationException" type="co:UnsupportedOperationException"/>
			</choice>
		</complexType>
	</element>
	<!--Modified: 
		1. Added new elements: TryCancel...Req/Res/Exceptions -->
	<element name="cancelTroubleTicketsByKeysRequest">
		<annotation>
			<documentation>This request is used to cancel multiple Trouble Tickets given their keys. 
			All the trouble tickets matching the provided keys are canceld. All the entities matching the provided keys
			must be found otherwise the FinderException should be raised. The operation is atomic i.e. the operation 
			must successfully cancel all the corresponding trouble tickets otherwise the CancelTroubleTicketException 
			is raised (assuming that all the trouble tickets were found i.e the javax.ejb.FinderException was not raised).
			</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element name="keys" type="tt:ArrayOfTroubleTicketKey"/>
				<element name="status" type="tt:TroubleStatus"/>
				<element name="closeOutNarr" type="string"/>
			</sequence>
		</complexType>
	</element>
	<element name="cancelTroubleTicketsByKeysResponse">
		<annotation>
			<documentation>The return type for the operation is just the header. It is assumed that a successful completion will
			cancel all the trouble tickets matching the provided keys or that no changes will be commited.				
			</documentation>
		</annotation>
		<complexType>
			<sequence/>
		</complexType>
	</element>
	<!--Modified:
	1. Added CancelTroubleTicketException. - Not found in code.
	2. Specs, code and schema need to be reviewed wrt the exceptions.  -->
	<element name="cancelTroubleTicketsByKeysException">
		<annotation>
			<documentation>The operation is atomic i.e. the operation must successfully cancel all the 
			corresponding trouble tickets otherwise the CancelTroubleTicketException is raised (assuming that all the 
			trouble tickets were found i.e the javax.ejb.FinderException was not raised).
			</documentation>
		</annotation>
		<complexType>
			<choice>
				<element name="illegalArgumentException" type="co:IllegalArgumentException"/>
				<element name="finderException" type="co:FinderException"/>
				<element name="remoteException" type="co:RemoteException"/>
				<element name="cancelTroubleTicketException" type="tt:CancelException"/>
				<element name="unsupportedOperationException" type="co:UnsupportedOperationException"/>
			</choice>
		</complexType>
	</element>
	<!-- Modified:
		1. Added the TryCancel Req/Res/Exception elements-->
	<element name="cancelTroubleTicketsByTemplateRequest">
		<annotation>
			<documentation>All the trouble tickets matching the attribute values provided in the value template  are canceld.
			If no trouble ticket matching the value template is found then no exception is raised. The operations are atomic 
			i.e. the operation must successfully cancel all the corresponding trouble tickets otherwise the 
			CancelTroubleTicketException is raised.
			</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element name="template" type="tt:TroubleTicketValue" nillable="true"/>
				<element name="status" type="tt:TroubleStatus"/>
				<element name="closeOutNarr" type="string"/>
			</sequence>
		</complexType>
	</element>
	<element name="cancelTroubleTicketsByTemplateResponse">
		<annotation>
			<documentation>The return type for the operations is just the header. It is assumed that a successful completion will
			cancel all the trouble tickets matching the template.					
			</documentation>
		</annotation>
		<complexType>
			<sequence/>
		</complexType>
	</element>
	<!-- Modified:
	1. I have added the CancelTroubleTicket exception  - It is not in the XVT code. -->
	<element name="cancelTroubleTicketsByTemplateException">
		<annotation>
			<documentation>If no trouble ticket matching the value templates are found then no exception is raised. The
			ObjectNotFoundException should only be raised if the TroubleTicketKey is provided as part of the Value template. 
			</documentation>
		</annotation>
		<complexType>
			<choice>
				<element name="cancelTroubleTicketException" type="tt:CancelException"/>
				<element name="illegalArgumentException" type="co:IllegalArgumentException"/>
				<element name="objectNotFoundException" type="co:ObjectNotFoundException"/>
				<element name="remoteException" type="co:RemoteException"/>
				<element name="unsupportedOperationException" type="co:UnsupportedOperationException"/>
			</choice>
		</complexType>
	</element>
	<!--Modified: Added new Try Cancel element Req/Res/Exception -->
	<element name="cancelTroubleTicketsByTemplatesRequest">
		<annotation>
			<documentation>All the trouble tickets matching the attribute values provided in the value template(s) are cancelled.
			If no trouble ticket matching the value templates is found then no exception is raised. The operations are atomic 
			i.e. the operation must successfully cancel all the corresponding trouble tickets otherwise the 
			CancelTroubleTicketException is raised. 			
			</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element name="templates" type="tt:ArrayOfTroubleTicketValue" nillable="true"/>
				<element name="status" type="tt:TroubleStatus"/>
				<element name="closeOutNarr" type="string"/>
			</sequence>
		</complexType>
	</element>
	<element name="cancelTroubleTicketsByTemplatesResponse">
		<annotation>
			<documentation>The return type for the operations is just the header. It is assumed that a successful completion will
			cancel all the trouble tickets matching the template.						
			</documentation>
		</annotation>
		<complexType>
			<sequence/>
		</complexType>
	</element>
	<!-- Modified:
	1. I have added the CancelTroubleTicket exception  - It is not in the java code
	2. Is it the FinderException or the ObjectNotFound for this type of bulk request -->
	<element name="cancelTroubleTicketsByTemplatesException">
		<annotation>
			<documentation>If no trouble ticket matching the value templates are found then no exception is raised.
			The FinderException should only be raised if all the Value Templates are populated with a TroubleTicketKey 
			value and no object is found.</documentation>
		</annotation>
		<complexType>
			<choice>
				<element name="cancelTroubleTicketException" type="tt:CancelException"/>
				<element name="illegalArgumentException" type="co:IllegalArgumentException"/>
				<element name="finderException" type="co:FinderException"/>
				<element name="remoteException" type="co:RemoteException"/>
				<element name="unsupportedOperationException" type="co:UnsupportedOperationException"/>
			</choice>
		</complexType>
	</element>
	<!--==============TroubleTicketValue, TroubleTicketKey and Related Types================-->
	<complexType name="TroubleTicketValue" abstract="false">
		<annotation>
			<documentation>The following is an XML representation of an TroubleTicket. 
		    TroubleTicketKey (uniquely identifies an TroubleTicket) </documentation>
		</annotation>
		<complexContent>
			<extension base="co:ManagedEntityValue">
				<sequence>
					<element name="troubleTicketKey" type="tt:TroubleTicketKey" nillable="true" minOccurs="0"/>
					<element name="accountOwner" type="tt:PersonReach" nillable="true" minOccurs="0"/>
					<element name="activityDurationList" type="tt:ActivityDurationList" nillable="true" minOccurs="0"/>
					<element name="additionalTroubleInfoList" type="co:ArrayOfString" nillable="true" minOccurs="0"/>
					<element name="afterHoursRepairAuthority" type="boolean" nillable="true" minOccurs="0"/>
					<element name="authorizationList" type="tt:ArrayOfAuthorization" nillable="true" minOccurs="0"/>
					<element name="cancelRequestedByCustomer" type="boolean" nillable="true" minOccurs="0"/>
					<element name="clearancePerson" type="tt:PersonReach" nillable="true" minOccurs="0"/>
					<element name="closeOutNarr" type="string" nillable="true" minOccurs="0"/>
					<element name="closeOutVerification" type="boolean" nillable="true" minOccurs="0"/>
					<element name="commitmentTime" type="dateTime" nillable="true" minOccurs="0"/>
					<element name="commitmentTimeRequested" type="dateTime" nillable="true" minOccurs="0"/>
					<element name="customer" type="tt:PersonReach" nillable="true" minOccurs="0"/>
					<element name="customerRoleAssignmentList" type="tt:ArrayOfCustomerRoleAssignment" nillable="true" minOccurs="0"/>
					<element name="customerTroubleNum" type="string" nillable="true" minOccurs="0"/>
					<element name="dialog" type="string" nillable="true" minOccurs="0"/>
					<element name="escalationList" type="tt:EscalationList" nillable="true" minOccurs="0"/>
					<element ref="tt:baseInitiatingMode" nillable="true" minOccurs="0"/>
					<element name="lastUpdateTime" type="dateTime" nillable="true" minOccurs="0"/>
					<element name="maintServiceCharge" type="boolean" nillable="true" minOccurs="0"/>
					<element name="originator" type="string" nillable="true" minOccurs="0"/>
					<element name="outageDuration" type="tt:TimeLength" nillable="true" minOccurs="0"/>
					<element name="receivedTime" type="dateTime" nillable="true" minOccurs="0"/>
					<element name="relatedAlarmList" type="tt:RelatedAlarmList" nillable="true" minOccurs="0"/>
					<element name="relatedTroubleTicketKeyList" type="tt:ArrayOfTroubleTicketKey" nillable="true" minOccurs="0"/>
					<element name="repairActivityList" type="tt:RepairActivityList" nillable="true" minOccurs="0"/>
					<element name="repeatReport" type="boolean" nillable="true" minOccurs="0"/>
					<element name="restoredTime" type="dateTime" nillable="true" minOccurs="0"/>
					<element name="serviceUnavailableBeginTime" type="dateTime" nillable="true" minOccurs="0"/>
					<element name="serviceUnavailableEndTime" type="dateTime" nillable="true" minOccurs="0"/>
					<element name="sPRoleAssignmentList" type="tt:ArrayOfSPRoleAssignment" nillable="true" minOccurs="0"/>
					<element name="suspectObjectList" type="tt:ArrayOfSuspectObject" nillable="true" minOccurs="0"/>
					<element name="troubleDescription" type="string" nillable="true" minOccurs="0"/>
					<element ref="tt:baseFoundType" nillable="true" minOccurs="0"/>
					<element name="troubleLocation" type="tt:TroubleLocationInfo" nillable="true" minOccurs="0"/>
					<element name="troubleNumList" type="co:ArrayOfString" nillable="true" minOccurs="0"/>
					<element name="troubledObject" type="string" nillable="true" minOccurs="0"/>
					<element ref="tt:baseTroubleType" nillable="true" minOccurs="0"/>
					<element ref="tt:baseState" nillable="true" minOccurs="0"/>
					<element ref="tt:baseStatus" nillable="true" minOccurs="0"/>
					<element name="troubleStatusTime" type="dateTime" nillable="true" minOccurs="0"/>
					<element ref="tt:basePerceivedTroubleSeverity" nillable="true" minOccurs="0"/>
					<element ref="tt:basePreferredPriority" nillable="true" minOccurs="0"/>
					<element name="troubleDetectionTime" type="dateTime" nillable="true" minOccurs="0"/>
					<element name="troubleLocationInfoList" type="tt:ArrayOfTroubleLocationInfo" nillable="true" minOccurs="0"/>
					<element name="troubledObjectAccessFromTime" type="dateTime" nillable="true" minOccurs="0"/>
					<element name="troubledObjectAccessHoursList" type="tt:ArrayOfAccessHours" nillable="true" minOccurs="0"/>
					<element name="troubledObjectAccessToTime" type="dateTime" nillable="true" minOccurs="0"/>
					<element name="troubleSystemDN" type="string" nillable="true" minOccurs="0"/>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<complexType name="ArrayOfTroubleTicketValue">
		<annotation>
			<documentation>This is a representation of a Trouble Ticket Value array.</documentation>
		</annotation>
		<sequence>
			<element name="Item" type="tt:TroubleTicketValue" nillable="true" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	<complexType name="TroubleTicketKey">
		<annotation>
			<documentation>The TroubleTicketKey uniquely identifies an TroubleTicket.</documentation>
		</annotation>
		<complexContent>
			<extension base="co:ManagedEntityKey">
				<sequence>
					<element name="primaryKey" type="string"/>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<complexType name="ArrayOfTroubleTicketKey">
		<annotation>
			<documentation>This is a representation of a Trouble Ticket Key array.</documentation>
		</annotation>
		<sequence>
			<element name="Item" type="tt:TroubleTicketKey" nillable="true" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	<complexType name="TroubleTicketKeyResult">
		<annotation>
			<documentation>The TroubleTicketKeyResult encapsulates all the information necessary to indicate the result of 
			 a BEST EFFORT operation on a specific trouble ticket. The trouble ticket key result is used in operations 
			 involving the update of multiple managed entities, in the deletion of multiple managed entities 
			 or in the creation of multiple managed entities. It contains thetrouble ticket entity key, a Boolean value 
			 indicating if the set, delete or create operation was succesfull for that managed entity  and finally 
			 a reason for the failure</documentation>
		</annotation>
		<complexContent>
			<extension base="co:ManagedEntityKeyResult">
				<sequence>
					<element name="key" type="tt:TroubleTicketKey" nillable="true" maxOccurs="unbounded"/>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<complexType name="ArrayOfTroubleTicketKeyResult">
		<annotation>
			<documentation>This is a representation of an array of Trouble Ticket Key Results returned by a Best Effort
			Template based bulk operation </documentation>
		</annotation>
		<sequence>
			<element name="Item" type="tt:TroubleTicketKeyResult" nillable="true" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	<complexType name="ActivityDuration">
		<sequence>
			<element ref="tt:baseActivityType" nillable="true" minOccurs="0"/>
			<element name="billable" type="boolean" nillable="true" minOccurs="0"/>
			<element name="duration" type="tt:TimeLength" minOccurs="0"/>
		</sequence>
	</complexType>
	<complexType name="ArrayOfActivityDuration">
		<annotation>
			<documentation>This is a representation of a ActivityDuration array.</documentation>
		</annotation>
		<sequence>
			<element name="Item" type="tt:ActivityDuration" nillable="true" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	<element name="baseActivityType" type="string"/>
	<element name="activityType" type="tt:ActivityType" substitutionGroup="tt:baseActivityType"/>
	<simpleType name="ActivityType">
		<restriction base="string">
			<enumeration value="ACTIVITYTYPERELEASE"/>
			<enumeration value="AFTERHOURSREPAIR"/>
			<enumeration value="AFTERHOURSSTANDBY"/>
			<enumeration value="CUSTOMERINITIATEDTEST"/>
			<enumeration value="DELAYEDMAINTENANCE"/>
			<enumeration value="DEREGULATEDWORK"/>
			<enumeration value="DISPATCH"/>
			<enumeration value="NOACCESS"/>
			<enumeration value="STANDBY"/>
			<enumeration value="TEST"/>
		</restriction>
	</simpleType>
	<!--Modified:
		1. Used tt time constituent types -->
	<complexType name="TimeLength">
		<sequence>
			<element name="years" type="nonNegativeInteger" nillable="true" minOccurs="0"/>
			<element name="months" type="tt:Months" nillable="true" minOccurs="0"/>
			<element name="days" type="tt:Days" nillable="true" minOccurs="0"/>
			<element name="hours" type="tt:Hours" nillable="true" minOccurs="0"/>
			<element name="minutes" type="tt:Minutes" nillable="true" minOccurs="0"/>
			<element name="seconds" type="tt:Seconds" nillable="true" minOccurs="0"/>
			<element name="msecs" type="tt:Msecs" nillable="true" minOccurs="0"/>
		</sequence>
	</complexType>
	<complexType name="Authorization">
		<sequence>
			<element ref="tt:baseActivityType" nillable="true" minOccurs="0"/>
			<element name="authPerson" type="tt:PersonReach" nillable="true" minOccurs="0"/>
			<element name="authTime" type="dateTime" nillable="true" minOccurs="0"/>
			<element name="requestState" type="tt:RequestState" nillable="true" minOccurs="0"/>
		</sequence>
	</complexType>
	<complexType name="ArrayOfAuthorization">
		<annotation>
			<documentation>This is a representation of an Authorization array.</documentation>
		</annotation>
		<sequence>
			<element name="Item" type="tt:Authorization" nillable="true" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	<!-- Modified:
		1. Used BaseRole -->
	<complexType name="CustomerRoleAssignment">
		<sequence>
			<element ref="tt:baseRole" nillable="true" minOccurs="0"/>
			<element name="contactPerson" type="tt:PersonReach" nillable="true" minOccurs="0"/>
		</sequence>
	</complexType>
	<complexType name="ArrayOfCustomerRoleAssignment">
		<annotation>
			<documentation>This is a representation of a CustomerRoleAssignment array.</documentation>
		</annotation>
		<sequence>
			<element name="Item" type="tt:CustomerRoleAssignment" nillable="true" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	<complexType name="Escalation">
		<sequence>
			<element name="escPerson" type="tt:PersonReach" nillable="true" minOccurs="0"/>
			<element name="escTime" type="dateTime" nillable="true" minOccurs="0"/>
			<element name="level" type="tt:OrgLevel" nillable="true" minOccurs="0"/>
			<element name="requestPerson" type="tt:PersonReach" nillable="true" minOccurs="0"/>
			<element name="state" type="string" nillable="true" minOccurs="0"/>
		</sequence>
	</complexType>
	<complexType name="ArrayOfEscalation">
		<annotation>
			<documentation>This is a representation of a Escalation array.</documentation>
		</annotation>
		<sequence>
			<element name="Item" type="tt:Escalation" nillable="true" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	<element name="baseInitiatingMode" type="string"/>
	<element name="intiatingMode" type="tt:InitiatingMode" substitutionGroup="tt:baseInitiatingMode"/>
	<simpleType name="InitiatingMode">
		<restriction base="string">
			<enumeration value="CUSTOMERDIRECT"/>
			<enumeration value="CUSTOMERINDIRECT"/>
			<enumeration value="PROVIDERORIGINATED"/>
			<enumeration value="CUSTOMERINDIRECTEMAIL"/>
			<enumeration value="CUSTOMERINDIRECTFAX"/>
			<enumeration value="CUSTOMERINDIRECTPERSONAL"/>
			<enumeration value="CUSTOMERINDIRECTPHONE"/>
			<enumeration value="ALARMORIGINATED"/>
		</restriction>
	</simpleType>
	<complexType name="PersonReach">
		<sequence>
			<element name="email" type="string" nillable="true" minOccurs="0"/>
			<element name="fax" type="string" nillable="true" minOccurs="0"/>
			<element name="location" type="tt:Address" nillable="true" minOccurs="0"/>
			<element name="name" type="string" nillable="true" minOccurs="0"/>
			<element name="number" type="string" nillable="true" minOccurs="0"/>
			<element name="phone" type="string" nillable="true" minOccurs="0"/>
			<element name="responsible" type="string" nillable="true" minOccurs="0"/>
			<element name="sMSAddress" type="string" nillable="true" minOccurs="0"/>
		</sequence>
	</complexType>
	<complexType name="RepairActivity">
		<sequence>
			<element name="activityCode" type="string" nillable="true" minOccurs="0"/>
			<element name="activityInfo" type="string" nillable="true" minOccurs="0"/>
			<element name="activityPerson" type="tt:PersonReach" nillable="true" minOccurs="0"/>
			<element name="entryTime" type="dateTime" nillable="true" minOccurs="0"/>
		</sequence>
	</complexType>
	<complexType name="ArrayOfRepairActivity">
		<annotation>
			<documentation>This is a representation of a RepairActivity array.</documentation>
		</annotation>
		<sequence>
			<element name="Item" type="tt:RepairActivity" nillable="true" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	<complexType name="SPRoleAssignment">
		<sequence>
			<element ref="tt:baseRole" nillable="true" minOccurs="0"/>
			<element name="contactPerson" type="tt:PersonReach" nillable="true" minOccurs="0"/>
		</sequence>
	</complexType>
	<complexType name="ArrayOfSPRoleAssignment">
		<annotation>
			<documentation>This is a representation of a SPRoleAssignment array.</documentation>
		</annotation>
		<sequence>
			<element name="Item" type="tt:SPRoleAssignment" nillable="true" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	<element name="baseFoundType" type="string"/>
	<element name="troubleFound" type="tt:TroubleFound" substitutionGroup="tt:baseFoundType"/>
	<simpleType name="TroubleFound">
		<restriction base="string">
			<enumeration value="PENDING"/>
			<enumeration value="CAMECLEAR"/>
			<enumeration value="CENTRALOFFICE"/>
			<enumeration value="SWITCHTROUBLE"/>
			<enumeration value="CUSTOMERPROVIDEDEQUIPMENT"/>
			<enumeration value="FACILITY"/>
			<enumeration value="CENTRALOFFICEFACILITY"/>
			<enumeration value="ICFACILITY"/>
			<enumeration value="INTEREXCHANGECARRIER"/>
			<enumeration value="TROUBLEFOUNDINFORMATION"/>
			<enumeration value="NONPLANCLASSIFIED"/>
			<enumeration value="NONPLANCLASSIFIEDIC"/>
			<enumeration value="NONPLANCLASSIFIEDEA"/>
			<enumeration value="NOTROUBLEFOUND"/>
			<enumeration value="STATION"/>
			<enumeration value="STATIONPRODUCTDATA"/>
			<enumeration value="STATIONPRODUCTTERMINAL"/>
			<enumeration value="STATIONPRODUCTVIDEO"/>
			<enumeration value="STATIONPRODUCTVOICE"/>
			<enumeration value="TROUBLEFOUNDSTATIONWIRING"/>
			<enumeration value="OTHERSTATIONEQUIPMENT"/>
			<enumeration value="FOUNDOKSTATION"/>
			<enumeration value="SERVINGBUREAU"/>
			<enumeration value="TESTOK"/>
			<enumeration value="PUBLICSERVICESCOINSET"/>
			<enumeration value="CUSTOMEROPERATINGINSTRUCTIONS"/>
			<enumeration value="TESTEDOKVERIFIEDOK"/>
			<enumeration value="COFACILITYTESTEDFOUNDOK"/>
			<enumeration value="OUTSIDEFACILITYTESTEDFOUNDOK"/>
			<enumeration value="REFERREDOUTTOOTHERDEPT"/>
			<enumeration value="PROTECTIVECONNECTINGARRANG"/>
			<enumeration value="CPECUSTOMERRESPONSIBILITY"/>
			<enumeration value="PRESERVICE"/>
			<enumeration value="PRESERVICEIC"/>
			<enumeration value="PRESERVICEEA"/>
			<enumeration value="SERVICENODE"/>
			<enumeration value="TROUBLEFOUNDDATA"/>
			<enumeration value="CUSTOMERREFERREDTOVENDOR"/>
			<enumeration value="EXCHANGEACCESS"/>
			<enumeration value="INTERNATIONAL"/>
			<enumeration value="OTHERPROVIDEDACCESS"/>
			<enumeration value="EXISTINGREPORT"/>
			<enumeration value="CANCELEXCLUDE"/>
			<enumeration value="PABX"/>
			<enumeration value="OUTSIDEWIRE"/>
			<enumeration value="OUTSIDETERMINALS"/>
			<enumeration value="OUTSIDEPLANTEQUIPMENT"/>
			<enumeration value="OUTSIDEPLANTFIBEROPTIC"/>
			<enumeration value="OUTSIDEPLANTOTHER"/>
			<enumeration value="COEQUIPMENTOTHER"/>
			<enumeration value="COEQUIPMENTFRAMES"/>
			<enumeration value="COCONCENTRATOR"/>
			<enumeration value="RECEIVEROFFHOOK"/>
			<enumeration value="CPEAUTHORIZED"/>
			<enumeration value="CPETELCOMAINTAINED"/>
			<enumeration value="INDEPENDENTCOMPANY"/>
			<enumeration value="CPECALLEDNUMBER"/>
			<enumeration value="ASSIGNINGPROVISIONING"/>
			<enumeration value="INTERSERVICECENTER"/>
			<enumeration value="REFERREDOUT"/>
			<enumeration value="NETWORKTROUBLEFOUND"/>
		</restriction>
	</simpleType>
	<complexType name="TroubleLocationInfo">
		<sequence>
			<element name="accessHoursList" type="tt:ArrayOfAccessHours" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
			<element name="locationPerson" type="tt:PersonReach" nillable="true" minOccurs="0"/>
			<element name="objectIdDN" type="string" nillable="true" minOccurs="0"/>
			<element name="premiseAddress" type="tt:Address" nillable="true" minOccurs="0"/>
			<element name="premiseName" type="string" nillable="true" minOccurs="0"/>
		</sequence>
	</complexType>
	<complexType name="ArrayOfTroubleLocationInfo">
		<annotation>
			<documentation>This is a representation of a TroubleLocationInfo array.</documentation>
		</annotation>
		<sequence>
			<element name="Item" type="tt:TroubleLocationInfo" nillable="true" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	<complexType name="AccessHours">
		<sequence>
			<element name="dayOfWeek" type="tt:DayOfWeek" nillable="true" minOccurs="0"/>
			<element name="timeIntervalList" type="tt:ArrayOfTimeInterval" nillable="true" minOccurs="0"/>
		</sequence>
	</complexType>
	<complexType name="ArrayOfAccessHours">
		<annotation>
			<documentation>This is a representation of a AccessHours array.</documentation>
		</annotation>
		<sequence>
			<element name="Item" type="tt:AccessHours" nillable="true" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	<simpleType name="DayOfWeek">
		<restriction base="string">
			<enumeration value="SUNDAY"/>
			<enumeration value="MONDAY"/>
			<enumeration value="TUESDAY"/>
			<enumeration value="WEDNESDAY"/>
			<enumeration value="THURSDAY"/>
			<enumeration value="FRIDAY"/>
			<enumeration value="SATURDAY"/>
		</restriction>
	</simpleType>
	<complexType name="TimeInterval">
		<annotation>
			<documentation>This is a representation of a TimeInterval .</documentation>
		</annotation>
		<sequence>
			<element name="intervalBegin" type="tt:Time" nillable="true" minOccurs="0"/>
			<element name="intervalEnd" type="tt:Time" nillable="true" minOccurs="0"/>
		</sequence>
	</complexType>
	<complexType name="ArrayOfTimeInterval">
		<annotation>
			<documentation>This is a representation of a TimeInterval array.</documentation>
		</annotation>
		<sequence>
			<element name="Item" type="tt:TimeInterval" nillable="true" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	<!--Modified:
		1. Added more details to the types and upper bound of time constituents.
		2. Added UtcOffset element -->
	<complexType name="Time">
		<annotation>
			<documentation>This is a representation of a TimeInterval .</documentation>
		</annotation>
		<sequence>
			<element name="hours" type="tt:Hours" nillable="true" minOccurs="0"/>
			<element name="minutes" type="tt:Minutes" nillable="true" minOccurs="0"/>
			<element name="seconds" type="tt:Seconds" nillable="true" minOccurs="0"/>
			<element name="msecs" type="tt:Msecs" nillable="true" minOccurs="0"/>
			<element name="utcOffset" type="tt:UtcOffset" nillable="true" minOccurs="0"/>
		</sequence>
	</complexType>
	<simpleType name="Months">
		<restriction base="nonNegativeInteger">
			<maxInclusive value="11"/>
		</restriction>
	</simpleType>
	<simpleType name="Days">
		<restriction base="nonNegativeInteger">
			<maxInclusive value="31"/>
		</restriction>
	</simpleType>
	<simpleType name="Hours">
		<restriction base="nonNegativeInteger">
			<maxInclusive value="23"/>
		</restriction>
	</simpleType>
	<simpleType name="Minutes">
		<restriction base="nonNegativeInteger">
			<maxInclusive value="59"/>
		</restriction>
	</simpleType>
	<simpleType name="Seconds">
		<restriction base="nonNegativeInteger">
			<maxInclusive value="59"/>
		</restriction>
	</simpleType>
	<simpleType name="Msecs">
		<restriction base="nonNegativeInteger">
			<maxInclusive value="999"/>
		</restriction>
	</simpleType>
	<simpleType name="UtcOffset">
		<restriction base="integer">
			<minInclusive value="-23"/>
			<maxInclusive value="23"/>
		</restriction>
	</simpleType>
	<complexType name="Address">
		<sequence>
			<element name="civicAddress" type="string" nillable="true" minOccurs="0"/>
			<element name="city" type="string" nillable="true" minOccurs="0"/>
			<element name="state" type="string" nillable="true" minOccurs="0"/>
			<element name="zip" type="string" nillable="true" minOccurs="0"/>
		</sequence>
	</complexType>
	<element name="baseTroubleType" type="string"/>
	<element name="troubleType" type="tt:TroubleType" substitutionGroup="tt:baseTroubleType"/>
	<simpleType name="TroubleType">
		<restriction base="string">
			<enumeration value="NODIALTONEGROUP"/>
			<enumeration value="NODIALTONE"/>
			<enumeration value="SLOWDIALTONE"/>
			<enumeration value="CIRCUITDEAD"/>
			<enumeration value="CANNOTCALLOUTGROUP"/>
			<enumeration value="CANNOTCALLOUT"/>
			<enumeration value="CANNOTBREAKDIALTONE"/>
			<enumeration value="DIALTONEAFTERDIALING"/>
			<enumeration value="HIGHANDDRY"/>
			<enumeration value="CANNOTRAISE"/>
			<enumeration value="ALLACCESSBUSY"/>
			<enumeration value="CANNOTCALLOUT2"/>
			<enumeration value="CANNOTCALLLONGDISTANCE"/>
			<enumeration value="CANNOTCALLOVERSEAS"/>
			<enumeration value="SPEEDCALL"/>
			<enumeration value="CANNOTCALL911"/>
			<enumeration value="CANNOTCALL700"/>
			<enumeration value="CANNOTCALL800OR888"/>
			<enumeration value="CANNOTCALL900"/>
			<enumeration value="CANNOTCALLDA"/>
			<enumeration value="CANNOTCALLINTRALATATOLL"/>
			<enumeration value="CANNOTBECALLEDGROUP"/>
			<enumeration value="CANNOTBECALLED"/>
			<enumeration value="CANNOTBECALLEDBUSY"/>
			<enumeration value="DONOTGETCALLED"/>
			<enumeration value="CANNOTTRIPRING"/>
			<enumeration value="FALSERINGS"/>
			<enumeration value="DONOTANSWER"/>
			<enumeration value="REACHRECORDING"/>
			<enumeration value="CANNOTRAISEASTATION"/>
			<enumeration value="CANNOTRAISEADROP"/>
			<enumeration value="CANNOTRAISEACIRCUITLOCATION"/>
			<enumeration value="RINGNOANSWER"/>
			<enumeration value="REORDER"/>
			<enumeration value="ALWAYSBUSY"/>
			<enumeration value="BELLDOESNOTRING"/>
			<enumeration value="BELLDOESNOTRING2"/>
			<enumeration value="BELLRINGSCANNOTANSWER"/>
			<enumeration value="BELLRINGSAFTERANSWER"/>
			<enumeration value="NORINGNOANSWER"/>
			<enumeration value="OTHERRINGTROUBLE"/>
			<enumeration value="RECEIVESCALLSFORWRONGNUMBER"/>
			<enumeration value="RECORDINGONLINE"/>
			<enumeration value="RINGSTHENGOESBUSY"/>
			<enumeration value="CANNOTBEHEARDGROUP"/>
			<enumeration value="CANNOTBEHEARD"/>
			<enumeration value="CANNOTHEAR"/>
			<enumeration value="FADING"/>
			<enumeration value="DISTANT"/>
			<enumeration value="REACHEDWRONGNUMBERGROUP"/>
			<enumeration value="WRONGNUMBER"/>
			<enumeration value="WRONGPSAPNUMBER"/>
			<enumeration value="CIRCUITOPERATIONGROUP"/>
			<enumeration value="OPEN"/>
			<enumeration value="FALSEDISCONNECT"/>
			<enumeration value="GROUNDED"/>
			<enumeration value="CANNOTBESIGNALLED"/>
			<enumeration value="CANNOTSIGNAL"/>
			<enumeration value="PERMANENTSIGNAL"/>
			<enumeration value="IMPROPERSUPERVISION"/>
			<enumeration value="SUPERVISION"/>
			<enumeration value="CANNOTMEET"/>
			<enumeration value="CANNOTRELEASECIRCUIT"/>
			<enumeration value="HUNGUP"/>
			<enumeration value="NOWINKSTART"/>
			<enumeration value="NOSF"/>
			<enumeration value="LOWSF"/>
			<enumeration value="NOCONTINUITY"/>
			<enumeration value="CUTCABLE"/>
			<enumeration value="OPENTODEMARC"/>
			<enumeration value="NORINGGENERATOR"/>
			<enumeration value="BADERL"/>
			<enumeration value="ECHO"/>
			<enumeration value="HOLLOW"/>
			<enumeration value="CIRCUITOPERATIONSCIRCUITDEAD"/>
			<enumeration value="CIRCUITDOWN"/>
			<enumeration value="FAILINGCIRCUIT"/>
			<enumeration value="NOSIGNAL"/>
			<enumeration value="SEIZUREONCIRCUIT"/>
			<enumeration value="LOSSEPSCSORSWITCHEDSERVICES"/>
			<enumeration value="MONITORCIRCUIT"/>
			<enumeration value="NEWSERVICENOTWORKING"/>
			<enumeration value="OPENEPSCSORSWITCHEDSERVICES"/>
			<enumeration value="OTHERVOICEDESCRIBEADDITINFO"/>
			<enumeration value="TRUNKBLOCKEDFAREND"/>
			<enumeration value="BADBALANCE"/>
			<enumeration value="HIGHRATEINCOMPLETEINCOMING"/>
			<enumeration value="OUTGOINGFAILUREAFTERWINK"/>
			<enumeration value="CUTOFFGROUP"/>
			<enumeration value="CUTOFF"/>
			<enumeration value="NOISEPROBLEMGROUP"/>
			<enumeration value="INTERMITTENTNOISE"/>
			<enumeration value="NOISY"/>
			<enumeration value="FOREIGNTONE"/>
			<enumeration value="CLIPPING"/>
			<enumeration value="CROSSTALK"/>
			<enumeration value="STATICONLINE"/>
			<enumeration value="GROUNDHUM"/>
			<enumeration value="HEARSOTHERONLINE"/>
			<enumeration value="HUMONLINE"/>
			<enumeration value="CLICKING"/>
			<enumeration value="NOISEEPSCSORSWITCHEDSERVICES"/>
			<enumeration value="LEVELTROUBLESGROUP"/>
			<enumeration value="LOWLEVELS"/>
			<enumeration value="HIGHLEVELS"/>
			<enumeration value="LONGLEVELS"/>
			<enumeration value="HOTLEVELS"/>
			<enumeration value="HIGHENDROLLOFF"/>
			<enumeration value="LOWENDROLLOFF"/>
			<enumeration value="NEEDSEQUALIZED"/>
			<enumeration value="LINELOSS"/>
			<enumeration value="DOESNOTPASSFREQRESPONSE"/>
			<enumeration value="LEVELSOUTOFLIMIT"/>
			<enumeration value="MISCELLANEOUSTROUBLEGROUP"/>
			<enumeration value="HICAPDOWN"/>
			<enumeration value="CARRIERDOWN"/>
			<enumeration value="BIPOLARVIOLATIONS"/>
			<enumeration value="FRAMEERRORSHICAP"/>
			<enumeration value="OUTOFFRAME"/>
			<enumeration value="LOSSOFSYNC"/>
			<enumeration value="FRAMESLIPS"/>
			<enumeration value="NOLOOPBACK"/>
			<enumeration value="CANNOTLOOPBACKDEMARC"/>
			<enumeration value="RECORDINGONCIRCUIT"/>
			<enumeration value="LINESNEEDTAGGING"/>
			<enumeration value="OUTWATSRINGINGIN"/>
			<enumeration value="REMOTEACCESS"/>
			<enumeration value="OTHER"/>
			<enumeration value="ALARM"/>
			<enumeration value="MULTIPLESHORTDURATIONHIT"/>
			<enumeration value="FRAMEERRORS"/>
			<enumeration value="FACILITYALARM"/>
			<enumeration value="SOFTWAREGROUPALARM"/>
			<enumeration value="DCHANNELDOWN"/>
			<enumeration value="DEGRADATIONOFT1"/>
			<enumeration value="NETWORKFAILURE"/>
			<enumeration value="NOPSAPINFO"/>
			<enumeration value="MEMORYSERVICEPROBLEMGROUP"/>
			<enumeration value="PICTROUBLE"/>
			<enumeration value="CALLTRANSFER"/>
			<enumeration value="CALLWAITING"/>
			<enumeration value="CUSTOMCALLFEATURE"/>
			<enumeration value="THREEWAYCALLING"/>
			<enumeration value="CALLTRACENOTWORKING"/>
			<enumeration value="CALLTRACEBLOCKNOTWORKING"/>
			<enumeration value="REPEATDIALNOTWORKING"/>
			<enumeration value="REPEATDIALBLOCKNOTWORKING"/>
			<enumeration value="CALLRETURNNOTWORKING"/>
			<enumeration value="CALLRETURNBLOCKNOTWORKING"/>
			<enumeration value="CALLERIDENTIFICATIONNOTWORKING"/>
			<enumeration value="CALLBLOCKINGNOTWORKING"/>
			<enumeration value="VOICEMESSAGINGSERVICESPROBLEM"/>
			<enumeration value="CALLFORWARDINGNOTWORKING"/>
			<enumeration value="CALLFORWARDINGBUSYLINENOTWORKING"/>
			<enumeration value="CALLFORWARDNOANSWERNOTWORKING"/>
			<enumeration value="HUNTINGNOTWORKING"/>
			<enumeration value="SELECTIVECALLFORWARDINGNOTWORKING"/>
			<enumeration value="CANNOTSETUPUNIQUERINGID"/>
			<enumeration value="CALLERIDBLOCKNOTWORKINGPERLINE"/>
			<enumeration value="CALLERIDBLOCKNOTWORKINGPERCALL"/>
			<enumeration value="CANNOTREMOVEBLOCKINGONASINGLECALL"/>
			<enumeration value="REMOTECALLFORWARDING"/>
			<enumeration value="COMMONBLOCKCENTREXPROBLEMS"/>
			<enumeration value="INCORRECTCALLERID"/>
			<enumeration value="DATATROUBLEGROUP"/>
			<enumeration value="CANNOTRECEIVEDATA"/>
			<enumeration value="CANNOTSENDDATA"/>
			<enumeration value="CANNOTTRANSMITCANNOTRECEIVE"/>
			<enumeration value="NORECEIVE"/>
			<enumeration value="NORESPONSE"/>
			<enumeration value="DELAY"/>
			<enumeration value="IMPULSENOISE"/>
			<enumeration value="PHASEJITTER"/>
			<enumeration value="HARMONICDISTORTION"/>
			<enumeration value="HIGHDISTORTION"/>
			<enumeration value="NODATALOOPBACK"/>
			<enumeration value="NOCARRIER"/>
			<enumeration value="NOTPOLLING"/>
			<enumeration value="DATAFRAMINGERRORS"/>
			<enumeration value="DROPOUTS"/>
			<enumeration value="HITS"/>
			<enumeration value="NOANSWERBACK"/>
			<enumeration value="STREAMER"/>
			<enumeration value="OUTOFSPECIFICATION"/>
			<enumeration value="CANNOTRUNTOCSU"/>
			<enumeration value="CANNOTRUNTOOCU"/>
			<enumeration value="DEADDATACIRCUIT"/>
			<enumeration value="CIRCUITINLOOPBACK"/>
			<enumeration value="ERRORS"/>
			<enumeration value="GARBLEDDATA"/>
			<enumeration value="INVALIDDATA"/>
			<enumeration value="CROSSMODULATION"/>
			<enumeration value="SLOWRESPONSE"/>
			<enumeration value="OTHERDATADESCRIBEADDITINFO"/>
			<enumeration value="GETTINGALLONES"/>
			<enumeration value="SLIP"/>
			<enumeration value="STATIONTROUBLEGROUP"/>
			<enumeration value="VOICEEQUIPMENT"/>
			<enumeration value="DATAEQUIPMENT"/>
			<enumeration value="VIDEOEQUIPMENT"/>
			<enumeration value="OTHEREQUIPMENT"/>
			<enumeration value="STATIONWIRING"/>
			<enumeration value="PHYSICALTROUBLEGROUP"/>
			<enumeration value="LIGHTBURNEDOUT"/>
			<enumeration value="DATASET"/>
			<enumeration value="TTYSET"/>
			<enumeration value="HIGHSPEEDPRINTER"/>
			<enumeration value="ANI"/>
			<enumeration value="ALI"/>
			<enumeration value="CANNOTACTIVATEPC"/>
			<enumeration value="MODEM"/>
			<enumeration value="CATHODERAYTUBE"/>
			<enumeration value="LOOSEJACK"/>
			<enumeration value="OFFHOOK"/>
			<enumeration value="PHYSICALPROBLEM"/>
			<enumeration value="PROCESSORDEAD"/>
			<enumeration value="WIRINGPROBLEM"/>
			<enumeration value="WIREBROKENSETBROKENPOLEDOWN"/>
			<enumeration value="NOREGISTER"/>
			<enumeration value="STUCKSENDER"/>
			<enumeration value="OTHERSTATIONTROUBLE"/>
			<enumeration value="OTHERCASEGROUP"/>
			<enumeration value="CALLTRANSFERPROBLEM"/>
			<enumeration value="CALLWAITINGPROBLEM"/>
			<enumeration value="CUSTOMCALLFEATUREDONOTWORK"/>
			<enumeration value="INFORMATION"/>
			<enumeration value="THREEWAYCALLINGPROBLEM"/>
			<enumeration value="ORDERWORK"/>
			<enumeration value="RELEASECKTREQUESTEDBYIC"/>
			<enumeration value="RELEASECKTREQUESTEDBYEC"/>
			<enumeration value="RELEASEFACILITYREQUESTEDBYIC"/>
			<enumeration value="RELEASEFACILITYREQUESTEDBYEC"/>
			<enumeration value="REQUESTFORROUTINE"/>
			<enumeration value="RELEASE"/>
			<enumeration value="REQUESTDISPATCH"/>
			<enumeration value="REQUESTMONITOROFCIRCUIT"/>
			<enumeration value="ROUTINETESTFAILURE"/>
			<enumeration value="LOSTTIMERREPORTS"/>
			<enumeration value="HISTORICALREPORTS"/>
			<enumeration value="SWITCHORTRUNKRELATED"/>
			<enumeration value="REQUESTTESTASSIST"/>
			<enumeration value="ANALOGTESTLINE"/>
			<enumeration value="DIGITALTESTLINE"/>
			<enumeration value="MANUALINTERVENTIONREQUESTED"/>
			<enumeration value="RECOVERY"/>
			<enumeration value="RECOVERYREPORT"/>
			<enumeration value="SWITCHEDNETWORKPROBLEMSGROUP"/>
			<enumeration value="ANITIMEOUT"/>
			<enumeration value="EXTRADIGIT"/>
			<enumeration value="EXTRAPULSE"/>
			<enumeration value="FALSEKEYPULSE"/>
			<enumeration value="MISPLACEDSTARTPULSE"/>
			<enumeration value="MUTILATEDDIGITGROUP"/>
			<enumeration value="NOKEYPULSE"/>
			<enumeration value="PARTIALDIALTIMEOUT"/>
			<enumeration value="SIGNALINGNETWORKFAILUREINCOMING"/>
			<enumeration value="STATIONGROUPDESIGNATIONDIGITFAILURE"/>
			<enumeration value="ANIPROBLEM"/>
			<enumeration value="OSPSEQUALACCESSSIGNALING"/>
			<enumeration value="MISSINGANI"/>
			<enumeration value="VACANTCODEANNOUNCEMENT"/>
			<enumeration value="INVALIDDIGIT"/>
			<enumeration value="HIGHANDWET"/>
			<enumeration value="PAYPHONEPROBLEMSGROUP"/>
			<enumeration value="NOCOINRETURN"/>
			<enumeration value="COINSTUCK"/>
			<enumeration value="CANNOTDEPOSITCOIN"/>
			<enumeration value="COINSFALLTHROUGH"/>
			<enumeration value="COINSDONOTREGISTER"/>
			<enumeration value="PAYPHONEDAMAGE"/>
		</restriction>
	</simpleType>
	<element name="baseState" type="string"/>
	<element name="troubleState" type="tt:TroubleState" substitutionGroup="tt:baseState"/>
	<simpleType name="TroubleState">
		<restriction base="string">
			<enumeration value="UNKNOWNTROUBLESTATE"/>
			<enumeration value="QUEUED"/>
			<enumeration value="OPENACTIVE"/>
			<enumeration value="DEFERRED"/>
			<enumeration value="CLEARED"/>
			<enumeration value="CLOSED"/>
			<enumeration value="DISABLED"/>
		</restriction>
	</simpleType>
	<element name="baseStatus" type="string"/>
	<element name="troubleStatus" type="tt:TroubleStatus" substitutionGroup="tt:baseStatus"/>
	<simpleType name="TroubleStatus">
		<restriction base="string">
			<enumeration value="SCREENING"/>
			<enumeration value="TESTING"/>
			<enumeration value="DISPATCHEDIN"/>
			<enumeration value="DISPATCHEDOUT"/>
			<enumeration value="PREASSIGNEDOUT"/>
			<enumeration value="BULKDISPATCHEDOUT"/>
			<enumeration value="STARTREPAIR"/>
			<enumeration value="PENDINGTEST"/>
			<enumeration value="PENDINGDISPATCH"/>
			<enumeration value="REQUESTREPAIR"/>
			<enumeration value="REFERMTCECENTER"/>
			<enumeration value="REFERVENDOR"/>
			<enumeration value="NOACCESSOTHER"/>
			<enumeration value="STARTNOACCESS"/>
			<enumeration value="STOPNOACCESS"/>
			<enumeration value="STARTDELAYEDMTCE"/>
			<enumeration value="STOPDELAYEDMTCE"/>
			<enumeration value="TROUBLEESCALATED"/>
			<enumeration value="CRAFTDISPATCHED"/>
			<enumeration value="TEMPORARYOK"/>
			<enumeration value="CABLEFAILURE"/>
			<enumeration value="ORIGINATINGEQUIPFAILURE"/>
			<enumeration value="BACKORDER"/>
			<enumeration value="CLEAREDCUSTNOTADVISED"/>
			<enumeration value="CLEAREDCUSTADVISED"/>
			<enumeration value="CLEAREDAWAITINGCUSTVERIFICATION"/>
			<enumeration value="CLOSEDOUT"/>
			<enumeration value="CLOSEDOUTBYCUSTREQ"/>
			<enumeration value="CLOSEDOUTCUSTVERIFIED"/>
			<enumeration value="CLOSEDOUTCUSTDENIED"/>
			<enumeration value="CANCELEDPENDINGWORKINPROGRESS"/>
			<enumeration value="CANCELEDPENDINGTESTCOMPLETION"/>
			<enumeration value="CANCELEDPENDINGDISPATCHCOMPL"/>
			<enumeration value="TECHONSITE"/>
			<enumeration value="TECHLEFTSITE"/>
		</restriction>
	</simpleType>
	<element name="basePerceivedTroubleSeverity" type="string"/>
	<element name="perceivedTroubleSeverity" type="tt:PerceivedTroubleSeverity" substitutionGroup="tt:basePerceivedTroubleSeverity"/>
	<simpleType name="PerceivedTroubleSeverity">
		<restriction base="string">
			<enumeration value="OUTOFSERVICE"/>
			<enumeration value="BACKINSERVICE"/>
			<enumeration value="SERVICEIMPAIRMENT"/>
			<enumeration value="NONSERVICEAFFECTINGTROUBLE"/>
		</restriction>
	</simpleType>
	<element name="basePreferredPriority" type="string"/>
	<element name="preferredPriority" type="tt:PreferredPriority" substitutionGroup="tt:basePreferredPriority"/>
	<simpleType name="PreferredPriority">
		<restriction base="string">
			<enumeration value="UNDEFINED"/>
			<enumeration value="MINOR"/>
			<enumeration value="MAJOR"/>
			<enumeration value="SERIOUS"/>
			<enumeration value="LIFETHREATENING"/>
		</restriction>
	</simpleType>
	<!-- Modified -->
	<complexType name="SuspectObject">
		<annotation>
			<documentation>This is a representation of a suspect object.</documentation>
		</annotation>
		<sequence>
			<element name="suspectObjectType" type="string" nillable="true" minOccurs="0"/>
			<element name="suspectObjectId" type="string" nillable="true" minOccurs="0"/>
			<element name="failureProbability" type="tt:FailureProbability" minOccurs="0"/>
		</sequence>
	</complexType>
	<complexType name="ArrayOfSuspectObject">
		<annotation>
			<documentation>This is a representation of an array of suspect objects.</documentation>
		</annotation>
		<sequence>
			<element name="Item" type="tt:SuspectObject" nillable="true" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	<simpleType name="FailureProbability">
		<restriction base="nonNegativeInteger">
			<maxInclusive value="100"/>
		</restriction>
	</simpleType>
	<element name="baseRole" type="string"/>
	<element name="role" type="tt:Role" substitutionGroup="tt:baseRole"/>
	<simpleType name="Role">
		<restriction base="string">
			<enumeration value="PRIMARYCONTACTPERSON"/>
			<enumeration value="ALTERNATECONTACTPERSON"/>
			<enumeration value="MANAGERCONTACTPERSON"/>
			<enumeration value="ALTERNATEMANAGERCONTACTPERSON"/>
			<enumeration value="ACCOUNTCONTACTPERSON"/>
			<enumeration value="TROUBLECLEARANCEPERSON"/>
			<enumeration value="CONTACTPERSONMAINTENANCE"/>
			<enumeration value="ACTIVITYPERSON"/>
			<enumeration value="RESPONSIBLEPERSON"/>
			<enumeration value="HANDOFFPERSON"/>
			<enumeration value="AUTHORIZATIONPERSON"/>
			<enumeration value="ESCALATIONPERSON"/>
			<enumeration value="LOCATIONACCESSPERSON"/>
			<enumeration value="ESCALATIONREQUESTPERSON"/>
		</restriction>
	</simpleType>
	<simpleType name="RequestState">
		<restriction base="string">
			<enumeration value="REQUESTED"/>
			<enumeration value="PROVIDED"/>
			<enumeration value="DENIED"/>
			<enumeration value="NOSTATE"/>
		</restriction>
	</simpleType>
	<!--===============AlarmValue, AlarmKey and Related Types================-->
	<complexType name="AlarmValue">
		<complexContent>
			<extension base="co:ManagedEntityValue">
				<sequence>
					<element name="alarmKey" type="tt:AlarmKey" nillable="true" minOccurs="0"/>
					<element name="eventTime" type="dateTime" nillable="true" minOccurs="0"/>
					<element name="managedObjectClass" type="string" nillable="true" minOccurs="0"/>
					<element name="managedObjectInstance" type="string" nillable="true" minOccurs="0"/>
					<element name="systemDN" type="string" nillable="true" minOccurs="0"/>
					<element ref="tt:baseAlarmType" nillable="true" minOccurs="0"/>
					<element ref="tt:baseProbableAlarmCause" nillable="true" minOccurs="0"/>
					<element ref="tt:basePerceivedAlarmSeverity" nillable="true" minOccurs="0"/>
					<element name="specificProblem" type="string" nillable="true" minOccurs="0"/>
					<element name="correlatedNotifications" type="tt:ArrayOfCorrelatedNotificationValue" nillable="true" minOccurs="0"/>
					<element name="backedUpStatus" type="boolean" nillable="true" minOccurs="0"/>
					<element name="backUpObject" type="string" nillable="true" minOccurs="0"/>
					<element ref="tt:baseTrendIndicationType" nillable="true" minOccurs="0"/>
					<element name="thresholdIndication" type="tt:ThresholdIndicationType" nillable="true" minOccurs="0"/>
					<element name="attributeChanges" type="tt:ArrayOfAttributeValueChange" nillable="true" minOccurs="0"/>
					<element name="monitoredAttributes" type="tt:ArrayOfAttributeValue" nillable="true" minOccurs="0"/>
					<element name="proposedRepairActions" type="string" nillable="true" minOccurs="0"/>
					<element name="additionalText" type="string" nillable="true" minOccurs="0"/>
					<element name="ackUserId" type="string" nillable="true" minOccurs="0"/>
					<element name="ackTime" type="dateTime" nillable="true" minOccurs="0"/>
					<element name="alarmAckState" type="tt:AlarmAckState" nillable="true" minOccurs="0"/>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<complexType name="ArrayOfAlarmValue">
		<annotation>
			<documentation>This is a representation of an AlarmValue array.</documentation>
		</annotation>
		<sequence>
			<element name="Item" type="tt:AlarmValue" nillable="true" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	<complexType name="AlarmKey">
		<annotation>
			<documentation>The AlarmKey uniquely identifies an Alarm.</documentation>
		</annotation>
		<complexContent>
			<extension base="co:ManagedEntityKey">
				<sequence>
					<element name="primaryKey" type="string"/>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<element name="baseAlarmType" type="string"/>
	<element name="alarmType" type="tt:AlarmType" substitutionGroup="tt:baseAlarmType"/>
	<simpleType name="AlarmType">
		<restriction base="string">
			<enumeration value="COMMUNICATIONS_ALARM"/>
			<enumeration value="PROCESSING_ERROR_ALARM"/>
			<enumeration value="ENVIRONMENTAL_ALARM"/>
			<enumeration value="QUALITY_OF_SERVICE_ALARM"/>
			<enumeration value="EQUIPMENT_ALARM"/>
			<enumeration value="INTEGRITY_VIOLATION"/>
			<enumeration value="SECURITY_VIOLATION"/>
			<enumeration value="TIME_DOMAIN_VIOLATION"/>
			<enumeration value="OPERATIONAL_VIOLATION"/>
			<enumeration value="PHYSICAL_VIOLATION"/>
		</restriction>
	</simpleType>
	<element name="baseProbableAlarmCause" type="string"/>
	<element name="probableAlarmCause" type="tt:ProbableAlarmCause" substitutionGroup="tt:baseProbableAlarmCause"/>
	<simpleType name="ProbableAlarmCause">
		<restriction base="string">
			<enumeration value="INDETERMINATE"/>
			<enumeration value="ALARM_INDICATION_SIGNAL"/>
			<enumeration value="CALL_SETUP_FAILURE"/>
			<enumeration value="DEGRADED_SIGNAL_M3100"/>
			<enumeration value="FAR_END_RECEIVER_FAILURE"/>
			<enumeration value="FRAMING_ERROR_M3100"/>
			<enumeration value="LOSS_OF_FRAME"/>
			<enumeration value="LOSS_OF_POINTER"/>
			<enumeration value="LOSS_OF_SIGNAL"/>
			<enumeration value="PAYLOAD_TYPE_MISMATCH"/>
			<enumeration value="TRANSMISSION_ERROR"/>
			<enumeration value="REMOTE_ALARM_INTERFACE"/>
			<enumeration value="EXCESSIVE_BIT_ERROR_RATE"/>
			<enumeration value="PATH_TRACE_MISMATCH"/>
			<enumeration value="UNAVAILABLE"/>
			<enumeration value="SIGNAL_LABEL_MISMATCH"/>
			<enumeration value="LOSS_OF_MULTI_FRAME"/>
			<enumeration value="BACK_PLANE_FAILURE"/>
			<enumeration value="DATA_SET_PROBLEM"/>
			<enumeration value="EQUIPMENT_IDENTIFIER_DUPLICATION"/>
			<enumeration value="EXTERNAL_DEVICE_PROBLEM"/>
			<enumeration value="LINE_CARD_PROBLEM"/>
			<enumeration value="MULTIPLEXER_PROBLEM_M3100"/>
			<enumeration value="NE_IDENTIFIER_DUPLICATION"/>
			<enumeration value="POWER_PROBLEM_M3100"/>
			<enumeration value="PROCESSOR_PROBLEM_M3100"/>
			<enumeration value="PROTECTION_PATH_FAILURE"/>
			<enumeration value="RECEIVER_FAILURE_M3100"/>
			<enumeration value="REPLACEABLE_UNIT_MISSING"/>
			<enumeration value="REPLACEABLE_UNIT_TYPE_MISMATCH"/>
			<enumeration value="SYNCHRONISATION_SOURCE_MISMATCH"/>
			<enumeration value="TERMINAL_PROBLEM"/>
			<enumeration value="TIMING_PROBLEM_M3100"/>
			<enumeration value="TRANSMITTER_FAILURE_M3100"/>
			<enumeration value="TRUNK_CARD_PROBLEM"/>
			<enumeration value="REPLACEABLE_UNIT_PROBLEM"/>
			<enumeration value="AIR_COMPRESSOR_FAILURE"/>
			<enumeration value="AIR_CONDITIONING_FAILURE"/>
			<enumeration value="AIR_DRYER_FAILURE"/>
			<enumeration value="BATTERY_DISCHARGING"/>
			<enumeration value="BATTERY_FAILURE"/>
			<enumeration value="COMMERICAL_POWER_FAILURE"/>
			<enumeration value="COOLING_FAN_FAILURE"/>
			<enumeration value="ENGINE_FAILURE"/>
			<enumeration value="FIRE_DETECTOR_FAILURE"/>
			<enumeration value="FUSE_FAILURE"/>
			<enumeration value="GENERATOR_FAILURE"/>
			<enumeration value="LOW_BATTERY_THRESHOLD"/>
			<enumeration value="PUMP_FAILURE_M3100"/>
			<enumeration value="RECTIFIER_FAILURE"/>
			<enumeration value="RECTIFIER_HIGH_VOLTAGE"/>
			<enumeration value="RECTIFIER_LOW_F_VOLTAGE"/>
			<enumeration value="VENTILATION_SYSTEM_FAILURE"/>
			<enumeration value="ENCLOSURE_DOOR_OPEN_M3100"/>
			<enumeration value="EXPLOSIVE_GAS"/>
			<enumeration value="FIRE"/>
			<enumeration value="FLOOD"/>
			<enumeration value="HIGH_HUMIDITY"/>
			<enumeration value="HIGH_TEMPERATURE"/>
			<enumeration value="HIGH_WIND"/>
			<enumeration value="ICE_BUILD_UP"/>
			<enumeration value="LOW_FUEL"/>
			<enumeration value="LOW_HUMIDITY"/>
			<enumeration value="LOW_CABLE_PRESSURE"/>
			<enumeration value="LOW_TEMPERATURE"/>
			<enumeration value="LOW_WATER"/>
			<enumeration value="SMOKE"/>
			<enumeration value="TOXIC_GAS"/>
			<enumeration value="STORAGE_CAPACITY_PROBLEM_M3100"/>
			<enumeration value="MEMORY_MISMATCH"/>
			<enumeration value="CORRUPT_DATA_M3100"/>
			<enumeration value="OUT_OF_CPU_CYCLES"/>
			<enumeration value="SOFTWARE_ENVIRONMENT_PROBLEM"/>
			<enumeration value="SOFTWARE_DOWNLOAD_FAILURE"/>
			<enumeration value="ADAPTER_ERROR"/>
			<enumeration value="APPLICATION_SUBSYSTEM_FAILURE"/>
			<enumeration value="BANDWIDTH_REDUCTION"/>
			<enumeration value="COMMUNICATION_PROTOCOL_ERROR"/>
			<enumeration value="COMMUNICATION_SUBSYSTEM_FAILURE"/>
			<enumeration value="CONFIGURATION_OR_CUSTOMIZING_ERROR"/>
			<enumeration value="CONGESTION"/>
			<enumeration value="CPU_CYCLES_LIMIT_EXCEEDED"/>
			<enumeration value="DATA_SET_OR_MODEM_ERROR"/>
			<enumeration value="DTE_DCE_INTERFACE_ERROR"/>
			<enumeration value="EQUIPMENT_MALFUNCTION"/>
			<enumeration value="EXCESSIVE_VIBRATION"/>
			<enumeration value="FILE_ERROR"/>
			<enumeration value="HEATING_OR_VENTILATION_OR_COOLING_SYSTEM_PROBLEM"/>
			<enumeration value="HUMIDITY_UNACCEPTABLE"/>
			<enumeration value="INPUT_OUTPUT_DEVICE_ERROR"/>
			<enumeration value="INPUT_DEVICE_ERROR"/>
			<enumeration value="LAN_ERROR"/>
			<enumeration value="LEAK_DETECTION"/>
			<enumeration value="LOCAL_NODE_TRANSMISSION_ERROR"/>
			<enumeration value="MATERIAL_SUPPLY_EXHAUSTED"/>
			<enumeration value="OUT_OF_MEMORY"/>
			<enumeration value="OUTPUT_DEVICE_ERROR"/>
			<enumeration value="PERFORMANCE_DEGRADED"/>
			<enumeration value="PRESSURE_UNACCEPTABLE"/>
			<enumeration value="QUEUE_SIZE_EXCEEDED"/>
			<enumeration value="RECEIVE_FAILURE"/>
			<enumeration value="REMOTE_NODE_TRANSMISSION_ERROR"/>
			<enumeration value="RESOURCE_AT_OR_NEARING_CAPACITY"/>
			<enumeration value="RESPONSE_TIME_EXCESSIVE"/>
			<enumeration value="RETRANSMISSION_RATE_EXCESSIVE"/>
			<enumeration value="SOFTWARE_ERROR"/>
			<enumeration value="SOFTWARE_PROGRAM_ABNORMALLY_TERMINATED"/>
			<enumeration value="SOFTWARE_PROGRAM_ERROR"/>
			<enumeration value="TEMPERATURE_UNACCEPTABLE"/>
			<enumeration value="THRESHOLD_CROSSED"/>
			<enumeration value="TOXIC_LEAK_DETECTED"/>
			<enumeration value="TRANSMIT_FAILURE"/>
			<enumeration value="UNDERLYING_RESOURCE_UNAVAILABLE"/>
			<enumeration value="VERSION_MISMATCH"/>
			<enumeration value="A_BIS_TO_BTS_INTERFACE_FAILURE"/>
			<enumeration value="A_BIS_TO_TRX_INTERFACE_FAILURE"/>
			<enumeration value="ANTENNA_PROBLEM"/>
			<enumeration value="BATTERY_BREAKDOWN"/>
			<enumeration value="BATTERY_CHARGING_FAULT"/>
			<enumeration value="CLOCK_SYNCHRONISATION_PROBLEM"/>
			<enumeration value="COMBINER_PROBLEM"/>
			<enumeration value="DISK_PROBLEM"/>
			<enumeration value="EXCESSIVE_RECEIVER_TEMPERATURE"/>
			<enumeration value="EXCESSIVE_TRANSMITTER_OUTPUT_POWER"/>
			<enumeration value="EXCESSIVE_TRANSMITTER_TEMPERATURE"/>
			<enumeration value="FREQUENCY_HOPPING_DEGRADED"/>
			<enumeration value="FREQUENCY_HOPPING_FAILURE"/>
			<enumeration value="FREQUENCY_REDEFINITION_FAILED"/>
			<enumeration value="LINE_INTERFACE_FAILURE"/>
			<enumeration value="LINK_FAILURE"/>
			<enumeration value="LOSS_OF_SYNCHRONISATION"/>
			<enumeration value="LOST_REDUNDANCY"/>
			<enumeration value="MAINS_BREAKDOWN_WITH_BATTERY_BACKUP"/>
			<enumeration value="MAINS_BREAKDOWN_WITHOUT_BATTERY_BACKUP"/>
			<enumeration value="POWER_SUPPLY_FAILURE"/>
			<enumeration value="RECEIVER_ANTENNA_FAULT"/>
			<enumeration value="RECEIVER_MULTICOUPLER_FAILURE"/>
			<enumeration value="REDUCED_TRANSMITTER_OUTPUT_POWER"/>
			<enumeration value="SIGNAL_QUALITY_EVALUATION_FAULT"/>
			<enumeration value="TIMESLOT_HARDWARE_FAILURE"/>
			<enumeration value="TRANSCEIVER_PROBLEM"/>
			<enumeration value="TRANSCODER_PROBLEM"/>
			<enumeration value="TRANSCODER_OR_RATE_ADAPTER_PROBLEM"/>
			<enumeration value="TRANSMITTER_ANTENNA_FAILURE"/>
			<enumeration value="TRANSMITTER_ANTENNA_NOT_ADJUSTED"/>
			<enumeration value="TRANSMITTER_LOW_VOLTAGE_OR_CURRENT"/>
			<enumeration value="TRANSMITTER_OFF_FREQUENCY"/>
			<enumeration value="DATABASE_INCONSISTENCY"/>
			<enumeration value="FILE_SYSTEM_CALL_UNSUCCESSFUL"/>
			<enumeration value="INPUT_PARAMETER_OUT_OF_RANGE"/>
			<enumeration value="INVALID_PARAMETER"/>
			<enumeration value="INVALID_POINTER"/>
			<enumeration value="MESSAGE_NOT_EXPECTED"/>
			<enumeration value="MESSAGE_NOT_INITIALISED"/>
			<enumeration value="MESSAGE_OUT_OF_SEQUENCE"/>
			<enumeration value="SYSTEM_CALL_UNSUCCESSFUL"/>
			<enumeration value="TIMEOUT_EXPIRED"/>
			<enumeration value="VARIABLE_OUT_OF_RANGE"/>
			<enumeration value="WATCH_DOG_TIMER_EXPIRED"/>
			<enumeration value="COOLING_SYSTEM_FAILURE"/>
			<enumeration value="EXTERNAL_EQUIPMENT_FAILURE"/>
			<enumeration value="EXTERNAL_POWER_SUPPLY_FAILURE"/>
			<enumeration value="EXTERNAL_TRANSMISSION_DEVICE_FAILURE"/>
			<enumeration value="REDUCED_ALARM_REPORTING"/>
			<enumeration value="REDUCED_EVENT_REPORTING"/>
			<enumeration value="RECUCED_LOGGING_CAPABILITY"/>
			<enumeration value="SYSTEM_RESOURCES_OVERLOAD"/>
			<enumeration value="BROADCAST_CHANNEL_FAILURE"/>
			<enumeration value="CALL_ESTABLISHMENT_ERROR"/>
			<enumeration value="INVALID_MESSAGE_RECEIVED"/>
			<enumeration value="INVALID_MSU_RECEIVED"/>
			<enumeration value="LAPD_LINK_PROTOCOL_FAILURE"/>
			<enumeration value="LOCAL_ALARM_INDICATION"/>
			<enumeration value="REMOTE_ALARM_INDICATION"/>
			<enumeration value="ROUTING_FAILURE"/>
			<enumeration value="SS7_PROTOCOL_FAILURE"/>
			<enumeration value="TRANSMISSION_FAILURE"/>
		</restriction>
	</simpleType>
	<element name="basePerceivedAlarmSeverity" type="string"/>
	<element name="perceivedAlarmSeverity" type="tt:PerceivedAlarmSeverity" substitutionGroup="tt:basePerceivedAlarmSeverity"/>
	<simpleType name="PerceivedAlarmSeverity">
		<restriction base="string">
			<enumeration value="INDETERMINATE"/>
			<enumeration value="CRITICAL"/>
			<enumeration value="MAJOR"/>
			<enumeration value="MINOR"/>
			<enumeration value="WARNING"/>
			<enumeration value="CLEARED"/>
		</restriction>
	</simpleType>
	<element name="baseTrendIndicationType" type="string"/>
	<element name="trendIndicationType" type="tt:TrendIndicationType" substitutionGroup="tt:baseTrendIndicationType"/>
	<simpleType name="TrendIndicationType">
		<restriction base="string">
			<enumeration value="LessSevere"/>
			<enumeration value="NoChange"/>
			<enumeration value="MoreSevere"/>
		</restriction>
	</simpleType>
	<simpleType name="ThresholdIndicationType">
		<restriction base="string">
			<enumeration value="Up"/>
			<enumeration value="Down"/>
		</restriction>
	</simpleType>
	<complexType name="CorrelatedNotificationValue">
		<sequence>
			<element name="notificationId" type="string" nillable="true" minOccurs="0"/>
			<element name="managedObjectInstance" type="string" nillable="true" minOccurs="0"/>
		</sequence>
	</complexType>
	<complexType name="ArrayOfCorrelatedNotificationValue">
		<annotation>
			<documentation>This is a representation of a AlarmValue array.</documentation>
		</annotation>
		<sequence>
			<element name="Item" type="tt:CorrelatedNotificationValue" nillable="true" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	<complexType name="AttributeValueChange">
		<sequence>
			<element name="attributeName" type="string" nillable="true" minOccurs="0"/>
			<element name="attributeType" type="string" nillable="true" minOccurs="0"/>
			<element name="oldValue" type="tt:AttributeValue" nillable="true" minOccurs="0"/>
			<element name="newValue" type="tt:AttributeValue" nillable="true" minOccurs="0"/>
		</sequence>
	</complexType>
	<complexType name="ArrayOfAttributeValueChange">
		<annotation>
			<documentation>This is a representation of an AttributeValueChange array.</documentation>
		</annotation>
		<sequence>
			<element name="Item" type="tt:AttributeValueChange" nillable="true" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	<complexType name="AttributeValue">
		<sequence>
			<element name="attributeName" type="string" nillable="true" minOccurs="0"/>
			<element name="attributeType" type="string" nillable="true" minOccurs="0"/>
			<element name="value" type="string" nillable="true" minOccurs="0"/>
		</sequence>
	</complexType>
	<complexType name="ArrayOfAttributeValue">
		<annotation>
			<documentation>This is a representation of an AttributeValue array.</documentation>
		</annotation>
		<sequence>
			<element name="Item" type="tt:AttributeValue" nillable="true" maxOccurs="unbounded"/>
		</sequence>
	</complexType>
	<simpleType name="AlarmAckState">
		<restriction base="string">
			<enumeration value="ACKNOWLEDGED"/>
			<enumeration value="UNACKNOWLEDGED"/>
		</restriction>
	</simpleType>
	<!--=============Lists for TT Multi Value Attributes================-->
	<complexType name="EscalationList">
		<annotation>
			<documentation>
				The EscalationList is a MultiValuedList, used In oder to minimize the  
				amount of data required to add or remove a single attribute value from
				the corresponding TT multi-valued attribute.
			</documentation>
		</annotation>
		<complexContent>
			<extension base="co:MultiValueList">
				<sequence>
					<element name="escalations" type="tt:ArrayOfEscalation" nillable="true" minOccurs="0"/>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<complexType name="RelatedAlarmList">
		<annotation>
			<documentation>
				The RelatedAlarmList is a MultiValuedList, used In oder to minimize the  
				amount of data required to add or remove a single attribute value from
				the corresponding TT multi-valued attribute.
			</documentation>
		</annotation>
		<complexContent>
			<extension base="co:MultiValueList">
				<sequence>
					<element name="relatedAlarms" type="tt:ArrayOfAlarmValue" nillable="true" minOccurs="0"/>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<complexType name="RepairActivityList">
		<annotation>
			<documentation>
				The RepairActivityList is a MultiValuedList, used In oder to minimize the  
				amount of data required to add or remove a single attribute value from
				the corresponding TT multi-valued attribute.
			</documentation>
		</annotation>
		<complexContent>
			<extension base="co:MultiValueList">
				<sequence>
					<element name="repairActivities" type="tt:ArrayOfRepairActivity" nillable="true" minOccurs="0"/>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<complexType name="ActivityDurationList">
		<annotation>
			<documentation>
				The ActivityDurationList is a MultiValuedList, used In oder to minimize the  
				amount of data required to add or remove a single attribute value from
				the corresponding TT multi-valued attribute.
			</documentation>
		</annotation>
		<complexContent>
			<extension base="co:MultiValueList">
				<sequence>
					<element name="activityDurations" type="tt:ArrayOfActivityDuration" nillable="true" minOccurs="0"/>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<!--=============TroubleTicket Exceptions====================-->
	<complexType name="CloseException">
		<annotation>
			<documentation> The CloseTroubleTicketException  exception is returned by the OSS through 
			Java XML/JMS interface  to report that the invoked TryCloseTroubleTicket(s) or CloseTroubleTicket(s) 
			could not be completed.</documentation>
		</annotation>
		<complexContent>
			<extension base="co:BaseException">
				<sequence/>
			</extension>
		</complexContent>
	</complexType>
	<complexType name="CancelException">
		<annotation>
			<documentation> The CancelTroubleTicketException  exception is returned by the OSS through 
			Java XML/JMS interface  to report that the invoked TryCancelTroubleTicket(s) or CancelTroubleTicket(s) 
			could not be completed.</documentation>
		</annotation>
		<complexContent>
			<extension base="co:BaseException">
				<sequence/>
			</extension>
		</complexContent>
	</complexType>
	<!--Modified:
		1. Added this exception  -->
	<complexType name="EscalateException">
		<annotation>
			<documentation> The EscalateTroubleTicketException  exception is returned by the OSS through 
			Java XML/JMS interface  to report that the invoked TryEscalateTroubleTicket(s) or EscalateTroubleTicket(s) 
			could not be completed.</documentation>
		</annotation>
		<complexContent>
			<extension base="co:BaseException">
				<sequence/>
			</extension>
		</complexContent>
	</complexType>
	<!--==================TroubleTicket Queries=================================-->
	<complexType name="QueryAllOpenTroubleTicketsValue">
		<annotation>
			<documentation>The following is an XML representation of the QueryAllOpenTroubleTickets. 
			 </documentation>
		</annotation>
		<complexContent>
			<extension base="co:QueryValue">
				<sequence/>
			</extension>
		</complexContent>
	</complexType>
	<complexType name="QueryByEscalationValue">
		<annotation>
			<documentation>The following is an XML representation of the QueryByEscalation. 
			 </documentation>
		</annotation>
		<complexContent>
			<extension base="co:QueryValue">
				<sequence>
					<element name="startLevel" type="tt:OrgLevel"/>
					<element name="endLevel" type="tt:OrgLevel"/>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<simpleType name="OrgLevel">
		<restriction base="string">
			<enumeration value="NOESCALATION"/>
			<enumeration value="FIRSTLEVEL"/>
			<enumeration value="SECONDLEVEL"/>
			<enumeration value="THIRDLEVEL"/>
			<enumeration value="FOURTHLEVEL"/>
			<enumeration value="FIFTHLEVEL"/>
			<enumeration value="SIXTHLEVEL"/>
		</restriction>
	</simpleType>
	<!--===============TroubleTicket Events=========================-->
	<element name="troubleTicketAttributeValueChangeEvent">
		<annotation>
			<documentation>An Event that is sent in the case in which some value of the TroubleTicket has changed. 
			The event is thrown in the case of 1) setTroubleTicket(s).Request has been called and changed the value 
			of an TroubleTicket 2) Some values of the TroubleTicket have been changed during the 
			execution of a TroubleTicket by implementation. 
			.</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element name="event" type="tt:TroubleTicketAttributeValueChangeEventType" nillable="false"/>
			</sequence>
		</complexType>
	</element>
	<complexType name="TroubleTicketAttributeValueChangeEventType">
		<annotation>
			<documentation>Base Content of Attribute Value Change Event</documentation>
		</annotation>
		<complexContent>
			<extension base="co:BaseEventType">
				<sequence>
					<element name="oldTroubleTicketValue" type="tt:TroubleTicketValue" nillable="true" minOccurs="0"/>
					<element name="newTroubleTicketValue" type="tt:TroubleTicketValue" nillable="false"/>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<element name="troubleTicketCreateEvent">
		<annotation>
			<documentation>An Event that is published in the case where a new TroubleTicket is created.
			The event is emitted when a new TroubleTicket is created</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element name="event" type="tt:TroubleTicketCreateEventType" nillable="false"/>
			</sequence>
		</complexType>
	</element>
	<complexType name="TroubleTicketCreateEventType">
		<annotation>
			<documentation>Base Content of Create Event</documentation>
		</annotation>
		<complexContent>
			<extension base="co:BaseEventType">
				<sequence>
					<element name="troubleTicketValue" type="tt:TroubleTicketValue" nillable="false"/>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<element name="troubleTicketCloseOutEvent">
		<annotation>
			<documentation>An Event that is published in the case where a TroubleTicket is closed.</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element name="event" type="tt:TroubleTicketCloseOutType" nillable="false"/>
			</sequence>
		</complexType>
	</element>
	<complexType name="TroubleTicketCloseOutType">
		<annotation>
			<documentation>Base Content of CloseOut Event</documentation>
		</annotation>
		<complexContent>
			<extension base="co:BaseEventType">
				<sequence>
					<element name="troubleTicketValue" type="tt:TroubleTicketValue" nillable="false"/>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<element name="troubleTicketCancellationEvent">
		<annotation>
			<documentation>An Event that is published in the case where a TroubleTicket is cancelled.</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element name="event" type="tt:TroubleTicketCancellationType" nillable="false"/>
			</sequence>
		</complexType>
	</element>
	<complexType name="TroubleTicketCancellationType">
		<annotation>
			<documentation>Base Content of Cancellation Event</documentation>
		</annotation>
		<complexContent>
			<extension base="co:BaseEventType">
				<sequence>
					<element name="troubleTicketKey" type="tt:TroubleTicketKey" nillable="false"/>
					<element name="closeOutNarr" type="string"/>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
	<element name="troubleTicketStatusChangeEvent">
		<annotation>
			<documentation>An Event that is published in the case where the is a TroubleTicket Status Change.
			</documentation>
		</annotation>
		<complexType>
			<sequence>
				<element name="event" type="tt:TroubleTicketStatusChangeEventType" nillable="false"/>
			</sequence>
		</complexType>
	</element>
	<complexType name="TroubleTicketStatusChangeEventType">
		<annotation>
			<documentation>Base Content of StatusChange Event</documentation>
		</annotation>
		<complexContent>
			<extension base="co:BaseEventType">
				<sequence>
					<element name="troubleTicketKey" type="tt:TroubleTicketKey" nillable="false"/>
					<element ref="tt:baseState" nillable="true" minOccurs="0"/>
					<element ref="tt:baseStatus" nillable="true" minOccurs="0"/>
					<element name="statusTime" type="dateTime" nillable="true" minOccurs="0"/>
				</sequence>
			</extension>
		</complexContent>
	</complexType>
</schema>
