<?xml version="1.0"?>

<!-- Vocabulary in the EPAL language aimed at location based services.  Compare with NewP3P.xml policy.-->

<!--Vocabulary for Location Based Services - Edited 23 July 2004-->
<epal-vocabulary version="1.2" xmlns="http://www.research.ibm.com/privacy/epal"
 xmlns:xs="http://www.w3.org/2001/XMLSchema" 
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://www.research.ibm.com/privacy/epal epal.xsd
                     http://www.w3.org/2001/XMLSchema xs-dummy.xsd ">

  <vocabulary-information id="AdLocVocab">
    <short-description language="en">LBS Vocabulary</short-description>
    <long-description language="en">This is a vocabulary in EPAL that will be used for describing things a location based services provider would need.</long-description>
    <issuer>
      <name>LBS Company</name>
      <organization>University of Pennsylvania</organization>
      <e-mail>lbs@upenn.edu</e-mail>
      <address>200 South 33rd Street, Philadelphia, PA 19104</address>
      <country>USA</country>
    </issuer>
    <location>http://www.lbs.example.com</location>
    <version-info end-date="2005-07-23T12:00:00"
      last-modified="2004-07-23T15:17:00" 
      revision-number="" start-date="2004-07-23T15:17:00" test="true"/>
  </vocabulary-information>

  <!--User categories for the policy-->
  <user-category id="Worker">
    <short-description language="en">Worker</short-description>
    <long-description language="en">Worker user type with limited powers</long-description>
  </user-category>

  <user-category id="Manager">
    <short-description language="en0">Manager</short-description>
    <long-description language="en">Manager with more powers</long-description>
  </user-category>

  <!--Data categories-->
  <data-category id="Location">
    <short-description language="en">Location information</short-description>
    <long-description language="en">Data about the location of a customer</long-description>
  </data-category>

  <!--Purposes-->
  <purpose id="Advertising" parent="Contact">
    <short-description language="en">Advertising</short-description>
    <long-description language="en">Includes all forms of targeted advertising</long-description>
  </purpose>

  <purpose id="Billing" parent="Contact">
     <short-description language="en">Billing</short-description>
     <long-description language="en">Contact with a customer for the purposes of billing</long-description>
  </purpose>

  <purpose id="Services" parent="Contact">
     <short-description language="en">Services</short-description>
     <long-description language="en">Used for providing services to the customer as detailed in customer agreement, (i.e. Local Maps, Messaging)</long-description>
  </purpose>

  <purpose id="Contact" parent="Root">
    <short-description language="en">Contact</short-description>
    <long-description language="en">Parent for all methods of actively contacting the consumer</long-description>
  </purpose>

  <purpose id="CustomerService" parent="Internal">
    <short-description language="en">Customer Service</short-description>
    <long-description language="en">Use of data to provide customer service to the user</long-description>
  </purpose>

  <purpose id="Internal" parent="Root">
    <short-description language="en">Internal usage</short-description>
    <long-description language="en">Use of the data for purely internal functions</long-description>
  </purpose>

  <purpose id="Root">
    <short-description language="en">Parent of all purposes.  This purpose includes all other purposes
                                     and therefore is only allowed if the data may be used for everything.</short-description>
  </purpose>

  <!--Actions-->
  <action id="SendMessage">
    <short-description language="en">Send a message</short-description>
    <long-description language="en">Send a message to the user for some purpose</long-description>
  </action>

  <action id="SendContent">
     <short-description language="en">Send content</short-description>
     <long-description language="en">Send content to the user as per the service contract</long-description>
  </action>

  <action id="Store">
    <short-description language="en">Store information</short-description>
    <long-description language="en">Store the information about a user in the database</long-description>
  </action>

  <action id="Transfer">
    <short-description language="en">Transfer information</short-description>
    <long-description language="en">Transfer a user's location information to a third party source</long-description>
  </action>

  <action id="SendMap">
    <short-description language="en">Send a map</short-description>
    <long-description language="en">Send a map to the user based on the location generated from a device</long-description>
  </action>

  <!--Containers for data-->
  <container id="LocationContainer">
    <short-description language="en">Location of a user</short-description>
    <long-description language="en">Location information about a user, including userID and time of day</long-description>
    
    <attribute id="LocUserID" maxOccurs="1" minOccurs="1" simpleType="http://www.w3.org/2001/XMLSchema#string" auditable="true">
      <short-description language="en">The userID of the subject</short-description>
    </attribute>

    <attribute id="lRoomNum" maxOccurs="1" minOccurs="0" simpleType="http://www.w3.org/2001/XMLSchema@string" auditable="true">
      <short-description language="en">The room number of the subject</short-description>
    </attribute>

    <attribute id="lBuilding" maxOccurs="1" minOccurs="0" simpleType="http://www.w3.org/2001/XMLSchema@string" auditable="true">
      <short-description language="en">The building name or number</short-description>
    </attribute>

    <attribute id="lAddress" maxOccurs="1" minOccurs="0" simpleType="http://www.w3.org/2001/XMLSchema#string" auditable="true">
	<short-description language="en">The subject's current street address</short-description>
    </attribute>

    <attribute id="lPostalCode" maxOccurs="1" minOccurs="0" simpleType="http://www.w3.org/2001/XMLSchema#string" auditable="true">
        <short-description language="en">The subject's current postal code</short-description>
    </attribute>
 
   <attribute id="lCity" maxOccurs="1" minOccurs="0" simpleType="http://www.w3.org/2001/XMLSchema#string" auditable="true">
	<short-description language="en">The subject's current city</short-description>
    </attribute>

    <attribute id="lStateProv" maxOccurs="1" minOccurs="0" simpleType="http://www.w3.org/2001/XMLSchema#string" auditable="true">
	<short-description language="en">The subject's current state or province</short-description>
    </attribute>
  
    <attribute id="lCounty" maxOccurs="1" minOccurs="0" simpleType="http://www.w3.org/2001/XMLSchema#string" auditable="true">
	<short-description language="en">The subject's current county or township</short-description>
    </attribute>

    <attribute id="lCountry" maxOccurs="1" minOccurs="0" simpleType="http://www.w3.org/2001/XMLSchema#string" auditable="true">
	<short-description language="en">The subject's current country</short-description>
    </attribute>

    <attribute id="lCreation" maxOccurs="1" minOccurs="1" simpleType="http://www.w3.org/2001/XMLSchema#dateTime">
	<short-description language="en">The date and time of the location data's creation</short-description>
    </attribute>

    <attribute id="lLatitude" maxOccurs="1" minOccurs="1" simpleType="http://www.w3.org/2001/XMLSchema#string" auditable="true">
        <short-description language="en">The latitude of the subject</short-description>
    </attribute>

    <attribute id="lLongitude" maxOccurs="1" minOccurs="1" simpleType="http://www.w3.org/2001/XMLSchema#string" auditable="true">
        <short-description language="en">The longitude of the subject</short-description>
    </attribute>
  </container>


  <container id="UserInfo">
    <short-description language="en">Customer information</short-description>
    <long-description language="en">Full customer information available</long-description>

    <attribute id="UserID" maxOccurs="1" minOccurs="1" simpleType="http://www.w3.org/2001/XMLSchema#string" auditable="true">
       <short-description language="en">The UserID subject</short-description>
    </attribute>

    <attribute id="FullName" maxOccurs="1" minOccurs="1" simpleType="http://www.w3.org/2001/XMLSchema#string" auditable="true">
       <short-description language="en">The full name of the subject</short-description>
    </attribute>

    <attribute id="DeviceInfo" maxOccurs="1" minOccurs="1" simpleType="http://www.w3.org/2001/XMLSchema#string" auditable="true">
       <short-description language="en">Information about the mobile device of the user</short-description>
    </attribute>
  </container>

  <!--Obligations-->
  <obligation id="24HourRetain">
    <short-description language="en">Retain the data for only 24 hours</short-description>
    <long-description language="en">Data may be retained for 24 hours after collection, but must be deleted afterwards</long-description>
  </obligation>

  <obligation id="GrantAccesss">
    <short-description language="en">Customer must be allowed full access to the data as stored.</short-description>
  </obligation>

  <obligation id="GetConsent">
    <short-description language="en">Customer can give specific informed consent before this action may be done</short-description>
  </obligation>

  <obligation id="CheckOutsidePolicy">
    <short-description language="en">Check that the policies of an outside company for compliance with our level of privacy rules</short-description>
  </obligation>
</epal-vocabulary>