diff --git a/src/logica/ControladorAlta.java b/src/logica/ControladorAlta.java
index a9ec3fbc512088507a369addab7afb7ed9d100fe..0867c750f5d420032772b46402295f882e9c9ab4 100644
--- a/src/logica/ControladorAlta.java
+++ b/src/logica/ControladorAlta.java
@@ -27,6 +27,10 @@ public class ControladorAlta implements IControladorAlta {
 */
     }
 
+    public void confirmarAltaProveedor(String nick, String nom , String ap, String mail ,Date nacimiento ,String descripcion, String link) {
+    	
+    }
+    
     public DataUsuario verInfoUsuario(String ci) throws UsuarioNoExisteException {
         ManejadorUsuario mu = ManejadorUsuario.getinstance();
         Usuario u = mu.obtenerUsuario(ci);
diff --git a/src/logica/DataProveedor.java b/src/logica/DataProveedor.java
new file mode 100644
index 0000000000000000000000000000000000000000..dcd48295df0db2625022fdd22ed5da82e4f9e253
--- /dev/null
+++ b/src/logica/DataProveedor.java
@@ -0,0 +1,24 @@
+package logica;
+import java.util.*;
+
+public class DataProveedor extends DataUsuario {
+
+    private String descripcion;
+    private String link;
+    private Set<DataActividad> actividades;
+
+    public DataProveedor(String nick,String nom, String ap,String mail, Date nac, String des, String link) {
+        super(nick,nom,ap,mail,nac);
+    	this.descripcion = des;
+    	this.link = link;
+    	this.actividades = new HashSet<DataActividad>();
+    }
+
+    public String getDescripcion() {
+        return descripcion;
+    }
+
+    public String getLink() {
+        return link;
+    }
+}
diff --git a/src/logica/DataTurista.java b/src/logica/DataTurista.java
new file mode 100644
index 0000000000000000000000000000000000000000..f427c425b77313edd13ed4e48125597af548c016
--- /dev/null
+++ b/src/logica/DataTurista.java
@@ -0,0 +1,19 @@
+package logica;
+import java.util.*;
+
+public class DataTurista extends DataUsuario {
+
+    private String nacionalidad;
+    private Set<DataSalida> salidas;
+
+    public DataTurista(String nick,String nom, String ap,String mail, Date nacimiento, String nacionalidad) {
+        super(nick,nom,ap,mail,nacimiento);
+    	this.nacionalidad = nacionalidad;
+    	this.salidas = new HashSet<DataSalida>();
+    }
+
+    public String getNacionalidad() {
+        return nacionalidad;
+    }
+
+}
diff --git a/src/logica/DataUsuario.java b/src/logica/DataUsuario.java
index 00c17a4972434397c1280f63440b0bfbe65b0d5a..b8b2c817c15e2660c08123e2e9a183d4a5f82111 100644
--- a/src/logica/DataUsuario.java
+++ b/src/logica/DataUsuario.java
@@ -1,5 +1,7 @@
 package logica;
 
+import java.util.Date;
+
 /**
  * Datatype para transportar la información de un usuario entre capa lógica y de presentación.
  * En Java los datatypes se definen con setters y getters, y se denominan JavaBean.
@@ -8,22 +10,24 @@ package logica;
  */
 public class DataUsuario {
 
+	private String nick;
     private String nombre;
     private String apellido;
-    private String cedulaIdentidad;
-
-    public DataUsuario() {
-        this.setNombre(new String());
-        this.setApellido(new String());
-        this.setCedulaIdentidad(new String());
-    }
+    private String mail;
+    private Date nacimiento;
 
-    public DataUsuario(String nombre, String apellido, String cedulaIdentidad) {
-        this.setNombre(nombre);
-        this.setApellido(apellido);
-        this.setCedulaIdentidad(cedulaIdentidad);
+    public DataUsuario(String nick, String nombre, String apellido, String mail, Date nacimiento) {
+    	this.nick = nick;
+    	this.nombre= nombre;
+        this.apellido = apellido;
+        this.mail = mail;
+        this.nacimiento = nacimiento;
     }
 
+    public String getNick() {
+        return nick;
+    }    
+    
     public String getNombre() {
         return nombre;
     }
@@ -31,15 +35,19 @@ public class DataUsuario {
     public String getApellido() {
         return apellido;
     }
+    
+    public String getMail() {
+        return mail;
+    }
 
-    public String getCedulaIdentidad() {
-        return cedulaIdentidad;
+    public Date getNacimiento() {
+        return nacimiento;
     }
 
     /* Sirve para mostrar textualmente la información del usuario, por ejemplo en un ComboBox
      */
     public String toString() {
-        return getCedulaIdentidad() + " (" + getNombre() + " " + getApellido() + ")";
+        return " (" + getNombre() + " " + getApellido() + ")";
     }
 
     private void setNombre(String nombre) {
@@ -49,9 +57,4 @@ public class DataUsuario {
     private void setApellido(String apellido) {
         this.apellido = apellido;
     }
-
-    private void setCedulaIdentidad(String cedulaIdentidad) {
-        this.cedulaIdentidad = cedulaIdentidad;
-    }
-
 }
diff --git a/src/logica/IControladorAlta.java b/src/logica/IControladorAlta.java
index 28954db8a6bd9c30572607f3e82a9b2b1a135a26..65a6caeda008cbece8ff470bc05eb4dfde37c4b0 100644
--- a/src/logica/IControladorAlta.java
+++ b/src/logica/IControladorAlta.java
@@ -20,6 +20,8 @@ public interface IControladorAlta {
      */
     public abstract void confirmarAltaTurista(String nick, String nom , String ap, String mail ,Date nacimiento ,String nacionalidad) throws UsuarioRepetidoException;
 
+    public abstract void confirmarAltaProveedor(String nick, String nom , String ap, String mail ,Date nacimiento ,String descripcion, String link) throws UsuarioRepetidoException;
+    
     /**
      * Retorna la información de un usuario con la cédula indicada.
      * @param ci Cédula del usuario.