diff --git a/webservice/DataSID.java b/webservice/DataSID.java
index 1d52db72befa5b3b4fa88f4aa7cc8a05de9b6981..e82b7ec9ea86ef032de816b1e2179c9680676c5a 100644
--- a/webservice/DataSID.java
+++ b/webservice/DataSID.java
@@ -24,6 +24,8 @@ package br.ufpr.c3sl.datasid;
 import java.io.*;
 import java.util.*;
 import java.util.regex.*;
+import java.text.SimpleDateFormat;
+import java.text.ParseException;
 import java.math.BigInteger;
 
 import java.sql.Timestamp;
@@ -47,8 +49,8 @@ public class DataSID {
     private static final int WINDOWS = 1;
 
     private static final String SA_INVENTORY = "telecenter_inventory";
-    private static final String SA_NET_USAGE = "telecenter_net_usage";
-    private static final String SA_USER_HISTORY = "telecenter_user_history";
+    private static final String SA_NET_USAGE = "net_usage";
+    private static final String SA_USER_HISTORY = "telecenter_user";
 	
     private static final File XML_INVENTORY_SCHEMA = new File("/home/datasid/conf/collected-data.xsd");
 	private static final File XML_NET_USAGE_SCHEMA = new File("/home/datasid/conf/net-collected-data.xsd");
@@ -208,20 +210,23 @@ public class DataSID {
             PreparedStatement st = createInventoryStatement(con, collected, contactDate);
             st.executeUpdate();
 
-			/*List<User> users = collected.getUserHistory().getUser();
-			String superid = collected.getTelecentroInfo().getSuperid();*/
+			List<User> users = collected.getUserHistory().getUser();
+			int idpoint = collected.getPointInfo().getIdpoint().intValue();
 			List<Interface> interfaces = collected.getInterfaces().getInterface();
 			org.postgresql.util.PGobject macaddr = new org.postgresql.util.PGobject();
         	macaddr.setType("macaddr");
         	macaddr.setValue(interfaces.get(0).getMacAddress());
 			
 			for(User user: users) {
-				st = createUserHistoryStatement(con, contactDate, superid, macaddr, user.getName(), user.getLogin(), user.getLogout());
+				st = createUserHistoryStatement(con, contactDate, idpoint, 
+				    macaddr, user.getName(), user.getLogin(), user.getLogout());
 				st.executeUpdate();
 			}
             con.close();
 
-            log(INFO, "setInventory(superid=" + collected.getTelecentroInfo().getSuperid() + ", macaddr=" + interfaces.get(0).getMacAddress() + ")");
+            log(INFO, "setInventory(idpoint=" + collected.getPointInfo().getIdpoint() + 
+            			", macaddr=" + interfaces.get(0).getMacAddress() + ")");
+            			
             return "Success";
         } catch (Exception e) {
             log(ERROR, e.getMessage() + " " + xmlData);
@@ -230,21 +235,21 @@ public class DataSID {
         }
     }
 	
-	private static PreparedStatement createInventoryStatement(Connection con, CollectedData collectedData, java.sql.Date contactDate) throws SQLException {
+	private static PreparedStatement createInventoryStatement(Connection con, CollectedData collectedData, java.sql.Date contactDate) throws SQLException, ParseException {
         final String query = "INSERT INTO " + SA_INVENTORY + " " +
             "(contact_date, machine_type, id_point, macaddr, agent_version, " +
             " os_type, os_distro, os_kernel, " +
             " processor, memory, " +
             " disk1_model, disk1_size, disk1_used, " +
             " disk2_model, disk2_size, disk2_used, " +
-            " extra_hds " +
+            " extra_hds, mirror_timestamp, amount_users " +
             ") VALUES " +
             "(?, ?, ?, ?, ?, " +
             " ?, ?, ?, " +
             " ?, ?, " +
             " ?, ?, ?, " +
             " ?, ?, ?, " +
-            " ? " +
+            " ?, ?, ? " +
             " );";
 
         PreparedStatement st = con.prepareStatement(query);
@@ -253,7 +258,7 @@ public class DataSID {
 
         Inventory inventory = collectedData.getInventory();
         List<Disk> disks = inventory.getDisks().getDisk();
-        TeleCentroInfo teleCentroInfo = collectedData.getTelecentroInfo();
+        PointInfo pointInfo = collectedData.getPointInfo();
 
         // contact_date
        	st.setDate(1, contactDate);
@@ -264,8 +269,8 @@ public class DataSID {
         else
             st.setInt(2, 1);
 
-        // superid
-        st.setInt(3, teleCentroInfo.getSuperid().intValue());
+        // idpoint
+        st.setInt(3, pointInfo.getIdpoint().intValue());
 
         // macaddr
         org.postgresql.util.PGobject macaddr = new org.postgresql.util.PGobject();
@@ -323,39 +328,46 @@ public class DataSID {
 
         // extra_hds
         st.setInt(17, (disks.size() > 2) ? (disks.size() - 2) : 0);
+        
 
         // mirrors_timestamp
-        //st.setString(18, collectedData.getMirrorsTimestamp());
-
+        if(collectedData.getMirrorsTimestamp().compareTo(" ") == 0)
+            st.setTimestamp(18, null); 
+        else {
+            SimpleDateFormat dt = new SimpleDateFormat("EEE MMM dd hh:mm:ss zzz yyyy", Locale.US);
+            Date ts = dt.parse(collectedData.getMirrorsTimestamp());
+            st.setTimestamp(18, new java.sql.Timestamp(ts.getTime()));
+        }
+        
         // user_count
-        //st.setInt(???, teleCentroInfo.getUserCount().intValue());
-
-        // mirrors_timestamp
-        //st.setString(???, collectedData.getMirrorsTimestamp());
+        st.setInt(19, pointInfo.getUserCount().intValue());
 
         return st;
     }
 
     private static PreparedStatement createUserHistoryStatement(Connection con, java.sql.Date contactDate,
-            int superid, Object macaddr, String name, String login, String logout) throws SQLException {
+            int id_point, Object macaddr, String name, String login, String logout) throws SQLException {
     	final String query = "INSERT INTO " + SA_USER_HISTORY + " " +
-            "(contact_date, m_superid, macaddr, name, login, logout) VALUES " +
+            "(contact_date, id_point, macaddr, name, login, logout) VALUES " +
             "(?, ?, ?, ?, ?, ?);";
 
         PreparedStatement st = con.prepareStatement(query);
         
         st.setDate(1, contactDate);
 
-        st.setInt(2, superid);
+        st.setInt(2, id_point);
 
    		st.setObject(3, macaddr);
    		
    		st.setString(4, name);
    		
-   		st.setString(5, login);
+   		st.setTime(5, java.sql.Time.valueOf(login));
    		
-   		st.setString(6, logout);
-        
+   		try {
+   			st.setTime(6, java.sql.Time.valueOf(logout));
+        } catch (Exception e) {
+        	st.setTime(6, null);
+       	}
         return st;
     }
     
@@ -410,12 +422,17 @@ public class DataSID {
         	List<NetUse> netUses = netCollectedData.getBandwidthUsage().getNetuse();
 			
 			for(NetUse netUse : netUses) {
-		        PreparedStatement st = createNetUsageStatement(con, contactDate, netCollectedData.getSuperid(), (Object)macaddr, netUse.getDate(), netUse.getTime(), netUse.getRx().getBytes(), netUse.getRx().getPackets(), netUse.getTx().getBytes(), netUse.getTx().getPackets());
+		        PreparedStatement st = createNetUsageStatement(con, contactDate,
+                 netCollectedData.getIdPoint(), (Object)macaddr, 
+                 netUse.getDate(), netUse.getTime(), netUse.getRx().getRxBytes(), 
+                 netUse.getRx().getRxPackets(), netUse.getTx().getTxBytes(),
+                 netUse.getTx().getTxPackets());
 				st.executeUpdate();
 			}
             con.close();
 
-            log(DEBUG, "setNetUsage(superid=" + netCollectedData.getSuperid() + ", macaddr=" + interfaces.get(0).getMacAddress() + ")");
+            log(DEBUG, "setNetUsage(idpoint=" + netCollectedData.getIdPoint() + 
+                        ", macaddr=" + interfaces.get(0).getMacAddress() + ")");
             return "Success";
         } catch (Exception e) {
             log(ERROR, e.getMessage() + " " + xmlData);
@@ -425,24 +442,24 @@ public class DataSID {
     }
 
     private static PreparedStatement createNetUsageStatement(Connection con, java.sql.Date contactDate,
-            BigInteger superid, Object macaddr, String collect_date, String collect_time, BigInteger down_kbits,
+            BigInteger idpoint, Object macaddr, String collect_date, String collect_time, BigInteger down_kbits,
             BigInteger down_packages, BigInteger up_kbits, BigInteger up_packages) throws SQLException {
         final String query = "INSERT INTO " + SA_NET_USAGE + " " +
             "(contact_date, id_point, macaddr, collect_date, collect_time, " +
             "down_kbits, down_packages, up_kbits, up_packages) VALUES " +
             "(?, ?, ?, ?, ?, ?, ?, ?, ?);";
-
+        
         PreparedStatement st = con.prepareStatement(query);
 
  		st.setDate(1, contactDate);
 
-        st.setInt(2, superid.intValue());
+        st.setInt(2, idpoint.intValue());
 
    		st.setObject(3, macaddr);
    		
-   		st.setString(4, collect_date);
+   		st.setDate(4, java.sql.Date.valueOf(collect_date));
           		
-   		st.setString(5, collect_time);
+   		st.setTime(5, java.sql.Time.valueOf(collect_time));
    		
    		st.setInt(6, down_kbits.intValue() );
    		
diff --git a/webservice/collected-data.xsd b/webservice/collected-data.xsd
index 95c07b7882eeb100b879620c8e1cbd15a001b396..e7ac49d0d6a101430de9c37c9f84cdeedb7299dd 100644
--- a/webservice/collected-data.xsd
+++ b/webservice/collected-data.xsd
@@ -5,7 +5,7 @@
     <xsd:complexType name="CollectedData">
         <xsd:all>
             <xsd:element name="agent-version" type="xsd:string" minOccurs="1" />
-            <xsd:element name="telecentro-info" type="TeleCentroInfo" minOccurs="1" />
+            <xsd:element name="point-info" type="PointInfo" minOccurs="1" />
             <xsd:element name="interfaces" type="Interfaces" minOccurs="1" />
             <xsd:element name="machine-type" minOccurs="1">
                 <xsd:simpleType>
@@ -72,9 +72,9 @@
         </xsd:all>
     </xsd:complexType>
 
-    <xsd:complexType name="TeleCentroInfo">
+    <xsd:complexType name="PointInfo">
         <xsd:all>
-            <xsd:element name="superid" type="xsd:integer" />
+            <xsd:element name="idpoint" type="xsd:integer" />
             <xsd:element name="user_count" type="xsd:integer" />
         </xsd:all>
     </xsd:complexType>
diff --git a/webservice/net-collected-data.xsd b/webservice/net-collected-data.xsd
index ceb30f302fad5c0dd5dd4d12ee845545ee698550..c181556851f24594850bf5ff3d0492ee8e056839 100644
--- a/webservice/net-collected-data.xsd
+++ b/webservice/net-collected-data.xsd
@@ -5,7 +5,7 @@
     <xsd:complexType name="NetCollectedData">
         <xsd:all>
             <xsd:element name="agent-version" type="xsd:string" minOccurs="1" />
-            <xsd:element name="telecentro-id" type="xsd:integer" minOccurs="1" />
+            <xsd:element name="id-point" type="xsd:integer" minOccurs="1" />
             <xsd:element name="interfaces" type="Interfaces" minOccurs="1" />
             <xsd:element name="bandwidth-usage" type="BandwidthUsage" minOccurs="1" />
         </xsd:all>
@@ -17,7 +17,7 @@
         </xsd:sequence>
     </xsd:complexType>
 	
-	<xsd:complexType name="Interface">
+    <xsd:complexType name="Interface">
         <xsd:attribute name="name" type="xsd:string" use="required" />
         <xsd:attribute name="mac-address" type="xsd:string" use="required" />
     </xsd:complexType>
@@ -28,23 +28,28 @@
         </xsd:sequence>
     </xsd:complexType>
 
-	<xsd:complexType name="NetUse">
-		<xsd:all>
-       		<xsd:element name="rx" type="Rx" />
-        	<xsd:element name="tx" type="Tx" />
+	<xsd:complexType name="NetUse"> 
+        <xsd:all>
+            <xsd:element name="id" type="xsd:integer" minOccurs="1"/>
+            <xsd:element name="rx" type="Rx" minOccurs="1" />
+            <xsd:element name="tx" type="Tx" minOccurs="1" />
+            <xsd:element name="date" type="xsd:string" minOccurs="1" />
+            <xsd:element name="time" type="xsd:string" minOccurs="1" />
         </xsd:all>
-		<xsd:attribute name="date" type="xsd:string" />
-		<xsd:attribute name="time" type="xsd:string" />
 	</xsd:complexType>
 	
-	<xsd:complexType name="Rx">
-		<xsd:attribute name="packets" type="xsd:integer" use="required" />
-		<xsd:attribute name="bytes" type="xsd:integer" use="required" />
+    <xsd:complexType name="Rx">
+        <xsd:all>        
+            <xsd:element name="rx-packets" type="xsd:integer" minOccurs="1" />
+            <xsd:element name="rx-bytes" type="xsd:integer" minOccurs="1" />
+        </xsd:all>
     </xsd:complexType>
     
     <xsd:complexType name="Tx">
-		<xsd:attribute name="packets" type="xsd:integer" use="required" />
-		<xsd:attribute name="bytes" type="xsd:integer" use="required" />
+        <xsd:all>
+            <xsd:element name="tx-packets" type="xsd:integer" minOccurs="1" />
+            <xsd:element name="tx-bytes" type="xsd:integer" minOccurs="1" />
+        </xsd:all>
     </xsd:complexType>
 	
 </xsd:schema>