<?xml version='1.0' encoding='ISO-8859-1'?>
<!DOCTYPE uridef[
  <!ENTITY rdf "http://www.w3.org/1999/02/22-rdf-syntax-ns">
  <!ENTITY rdfs "http://www.w3.org/2000/01/rdf-schema">
  <!ENTITY daml "http://www.daml.org/2001/03/daml+oil">
  <!ENTITY service "http://www.daml.org/services/daml-s/0.7/Service.daml"> 
  <!ENTITY profile "http://www.daml.org/services/daml-s/0.7/Profile.daml">
  <!ENTITY profileHierarchy "http://www.daml.org/services/daml-s/0.7/ProfileHierarchy.daml"> 
  <!ENTITY process "http://www.daml.org/services/daml-s/0.7/Process.daml">
  <!ENTITY ba_service "http://www.daml.org/services/daml-s/0.7/BravoAirService.daml">
  <!ENTITY ba_process "http://www.daml.org/services/daml-s/0.7/BravoAirProcess.daml">
  <!ENTITY country "http://www.daml.org/services/daml-s/0.7/Country.daml">
  <!ENTITY concepts "http://www.daml.ri.cmu.edu/ont/DAML-S/concepts.daml">
  <!ENTITY DEFAULT "http://www.daml.org/services/daml-s/0.7/BravoAirProfile.daml">
]>
 
<!--
This document uses entity types as a shorthand for URIs.
Download the source for a version with unexpanded entities.
  -->
 
<rdf:RDF
  xmlns:rdf=     "&rdf;#"
  xmlns:rdfs=    "&rdfs;#"
  xmlns:daml=    "&daml;#"
  xmlns:service= "&service;#"
  xmlns:process= "&process;#"
  xmlns:profile= "&profile;#"
  xmlns:profileHierarchy= "&profileHierarchy;#"
  xmlns=         "&DEFAULT;#">
 
  <daml:Ontology>
    <daml:versionInfo>
      $Id: BravoAirProfile.daml,v 1.5 2002/10/11 22:17:45 martin Exp $
    </daml:versionInfo>
    <rdfs:comment>
      DAML-S Coalition: BravoAir Example for DAML-S release 0.7 Profile description
 
    </rdfs:comment>
    <daml:imports rdf:resource="&rdf;" />
    <daml:imports rdf:resource="&rdfs;" />
    <daml:imports rdf:resource="&daml;" />
    <daml:imports rdf:resource="&service;" />
    <daml:imports rdf:resource="&profile;" />
    <daml:imports rdf:resource="&process;" />
    <daml:imports rdf:resource="&ba_service;" />
    <daml:imports rdf:resource="&ba_process;" />
    <daml:imports rdf:resource="&concepts;" />
    <daml:imports rdf:resource="&country;" />
    <daml:imports rdf:resource="&profileHierarchy;" />
  </daml:Ontology>

  <!-- ################################################################### -->
  <!-- # Instance Definition of BravoAir Reservation Agent Advertisement # -->
  <!-- ################################################################### -->

  <!-- 
    
    BraviAur is defined as a AirlineTicketing service.  It inherits from
    the ontology of services that is an eCommerce service, and that
    the product it sells products that are restricted to be 
    CommercialAirlineTravel.
    
    The same service could be specified outside the hierarchy of
    services by declaring it an instance of Profile, and by adjusting
    the relevant properties accordingly.

      -->
    

  <profileHierarchy:AirlineTicketing rdf:ID="Profile_BravoAir_ReservationAgent">
    <!-- reference to the service specification -->  
    <service:presentedBy rdf:resource="&ba_service;#BravoAir_ReservationAgent"/>
    <!-- reference to the process model specification -->  
    <profile:has_process rdf:resource="&ba_process;#BravoAir_Process"/>


    <profile:serviceName>BravoAir_ReservationAgent</profile:serviceName>
    <profile:textDescription>
	This  service provide flight reservations based on the
	specification of a flight request.  This typically involves a departure
	airport, an arrival airport, a departure date, and if a return trip is
	required, a return date.
        If the desired flight is available, an itinerary and reservation number
	will be returned.
    </profile:textDescription>

    
    <!-- specification of contact information.  
      There are two contacts specified here:
      1. to a reservation department
      2. to John Doe that is a sale representative
      
      The two conctacs are related to the profile through different
      instances of the contactInfo relation
      -->
    <profile:contactInformation>
      
      <profile:Actor rdf:ID="BravoAir-reservation">
        <profile:name>BravoAir Reservation department</profile:name>
	<profile:title>
	  Reservation Representative 
	</profile:title>
	<profile:phone>412 268 8780 </profile:phone>
	<profile:fax>412 268 5569 </profile:fax>
	<profile:email>Bravo@Bravoair.com</profile:email>
	<profile:physicalAddress>
	      Airstrip 2,
	      Teetering Cliff Hights,
	      Florida 12321,
	      USA
	</profile:physicalAddress>
	<profile:webURL> 
            http://www.daml.org/services/daml-s/2001/05/BravoAir.html 
        </profile:webURL>
      </profile:Actor>
      
    </profile:contactInformation>
      
    <!-- other contact -->
    <profile:contactInformation>
      <profile:Actor rdf:ID="BravoAir-information">
        <profile:name>John Doe</profile:name>
        <profile:title>Sale Representative</profile:title>
	<profile:phone>412 268 8789 </profile:phone>
	<profile:fax>412 268 5569 </profile:fax>
	<profile:email>John_Doe@Bravoair.com</profile:email>
	<profile:physicalAddress>
	      Airstrip 2,
	      Teetering Cliff Hights,
	      Florida 12321,
	      USA
	</profile:physicalAddress>
	<profile:webURL> 
            http://www.daml.org/services/daml-s/2001/05/BravoAir.html 
        </profile:webURL>
      </profile:Actor>
    </profile:contactInformation>
    
    
   

    
    <!-- description of Geographic radius as a service parameter.
      rather than a direct property of profile as in version 0.6
      -->
    <profile:serviceParameter>
      <profile:GeographicRadius rdf:ID="BravoAir-geographicRadius">
	<profile:serviceParameterName>
	  BravoAir Geographic Radius
	</profile:serviceParameterName>
	<profile:sParameter rdf:resource="&country;#UnitedStates"/>
      </profile:GeographicRadius>
    </profile:serviceParameter>
    
    
    <!-- specification of quality rating for profile -->
    <profile:qualityRating>
      <profile:QualityRating rdf:ID="BravoAir-goodRating">
	<profile:ratingName>
	  SomeRating
	</profile:ratingName>
	<profile:rating rdf:resource="&concepts;#GoodRating"/>
      </profile:QualityRating>
    </profile:qualityRating>
    
    
    <!-- Specification of the service category using NAICS -->
    <profile:serviceCategory>
      <profile:NAICS rdf:ID="NAICS-category">
	<profile:value>
	  Airline reservation services 
	</profile:value>
	<profile:code>
	  561599
	</profile:code>
      </profile:NAICS>
    </profile:serviceCategory>
    
    
    <!-- Specification of the service category using UN-SPSC -->
    <profile:serviceCategory>
      <profile:UNSPSC rdf:ID="UNSPSC-category">
	<profile:value>
	  Travel Agent
	</profile:value>
	<profile:code>
	  90121500
	</profile:code>
      </profile:UNSPSC>
    </profile:serviceCategory>
	
    
    <!-- Descriptions of IOPEs -->
         
      <profile:input>
	<profile:ParameterDescription  rdf:ID="DepartureAirport"> 
          <profile:parameterName> DepartureAirport </profile:parameterName>
	  <profile:restrictedTo rdf:resource="&concepts;#Airport"/>
	  <profile:refersTo rdf:resource="&ba_process;#departureAirport_In"/>
	</profile:ParameterDescription>
      </profile:input> 
         
      <profile:input>
	<profile:ParameterDescription  rdf:ID="ArrivalAirport"> 
          <profile:parameterName> ArrivalAirport </profile:parameterName>
	  <profile:restrictedTo rdf:resource="&concepts;#Airport"/>
	  <profile:refersTo rdf:resource="&ba_process;#arrivalAirport_In"/>
	</profile:ParameterDescription>
      </profile:input> 
         
      <profile:input>
	<profile:ParameterDescription  rdf:ID="DepartureDate"> 
          <profile:parameterName> DepartureDate </profile:parameterName>
	  <profile:restrictedTo rdf:resource="&concepts;#FlightDate"/>
          <profile:refersTo rdf:resource="&ba_process;#outboudDate_In"/>
	</profile:ParameterDescription>
      </profile:input>  
         
      <profile:input>
	<profile:ParameterDescription  rdf:ID="ArrivalDate"> 
          <profile:parameterName> ArrivalDate </profile:parameterName>
	  <profile:restrictedTo rdf:resource="&concepts;#FlightDate"/>
          <profile:refersTo rdf:resource="&ba_process;#inboundDate_In"/>
	</profile:ParameterDescription>
      </profile:input> 
         
      <profile:input>
	<profile:ParameterDescription  rdf:ID="RoundTrip"> 
          <profile:parameterName> RoundTrip </profile:parameterName>
	  <profile:restrictedTo rdf:resource="&concepts;#RoundTrip"/>
	  <profile:refersTo rdf:resource="&ba_process;#RoundTrip"/>
	</profile:ParameterDescription>
      </profile:input> 
         
      <profile:input>
	<profile:ParameterDescription  rdf:ID="FlightItinerary">  
           <profile:parameterName> FlightItinerary </profile:parameterName>
	   <profile:restrictedTo rdf:resource="&concepts;#FlightItinerary"/>
	   <profile:refersTo rdf:resource="&ba_process;#roundTrip_In"/>
	</profile:ParameterDescription>
      </profile:input> 
         
      <profile:input>
	<profile:ParameterDescription  rdf:ID="AvailableFlights">  
          <profile:parameterName> AvailableFlights </profile:parameterName>
	  <profile:restrictedTo rdf:resource="&concepts;#FlihtItineraryList"/>
          <profile:refersTo rdf:resource="&ba_process;#FlightItinerary"/>
	</profile:ParameterDescription>
      </profile:input> 
         
      <profile:input>
	<profile:ParameterDescription  rdf:ID="LoginName">  
           <profile:parameterName> LoginName </profile:parameterName>
	   <profile:restrictedTo rdf:resource="&concepts;#AcctName"/>
	   <profile:refersTo rdf:resource="&ba_process;#acctName_Out"/>
	</profile:ParameterDescription>
      </profile:input> 
         
      <profile:input>
	<profile:ParameterDescription  rdf:ID="Password">  
          <profile:parameterName> Password </profile:parameterName>
	  <profile:restrictedTo rdf:resource="&concepts;#Password"/>
	  <profile:refersTo rdf:resource="&ba_process;#password_In"/>
	</profile:ParameterDescription>
      </profile:input> 

      <profile:input>
	<profile:ParameterDescription  rdf:ID="confirmation">  
	  <profile:parameterName> confirmation </profile:parameterName>
	  <profile:restrictedTo rdf:resource="&concepts;#Confirmation"/>
	  <profile:refersTo rdf:resource="&ba_process;#Confirmation"/>
	</profile:ParameterDescription>
      </profile:input>

      <profile:input>
	<profile:ParameterDescription  rdf:ID="ReservationNumber">  
	  <profile:parameterName> ReservationNumber </profile:parameterName>
	  <profile:restrictedTo rdf:resource="&concepts;#ReservationNumber"/>
	  <profile:refersTo rdf:resource="&ba_process;#ReservationNumber"/>
	</profile:ParameterDescription>
      </profile:input>

      <profile:output>
	<profile:ParameterDescription  rdf:ID="ReservationNumber">  
	  <profile:parameterName> FlightItinerary </profile:parameterName>
	  <profile:restrictedTo rdf:resource="&concepts;#FlightItineraryList"/> 
	  <profile:refersTo rdf:resource="&ba_process;#FlightItineraryList"/>
	</profile:ParameterDescription>
      </profile:output> 

      <!-- The consequence of the reservation is that the traveler has
           a seat on the flight -->
      <profile:effect>
	<profile:ParameterDescription rdf:ID="HaveFlight">
	  <profile:parameterName> HaveFlight </profile:parameterName>
	  <profile:restrictedTo rdf:resource="&concepts;#HaveFlightSeat"/>
	  <profile:refersTo rdf:resource="&ba_process;#HaveFlightSeat"/>
	</profile:ParameterDescription>
      </profile:effect> 

  </profileHierarchy:AirlineTicketing>
</rdf:RDF>
