diff --git a/addons/openacademy/__init__.py b/addons/openacademy/__init__.py
new file mode 100644
index 00000000000..de12070d44b
--- /dev/null
+++ b/addons/openacademy/__init__.py
@@ -0,0 +1 @@
+import openacademy
\ No newline at end of file
diff --git a/addons/openacademy/__openerp__.py b/addons/openacademy/__openerp__.py
new file mode 100644
index 00000000000..9514efb6df0
--- /dev/null
+++ b/addons/openacademy/__openerp__.py
@@ -0,0 +1,16 @@
+{
+ 'name': 'Open Academy',
+ 'version': '1.0',
+ 'depends': ['base'],
+ 'author': 'Arnaud_Pineux',
+ 'category': 'Test',
+ 'description': """
+ Open Academy module for managing trainings:
+ - training courses
+ - training sessions
+ - attendees registration """,
+ 'data': ['openacademy_view.xml'],
+ 'demo': [],
+ 'installable': True,
+ 'application' : True,
+}
diff --git a/addons/openacademy/openacademy.py b/addons/openacademy/openacademy.py
new file mode 100644
index 00000000000..b134ee5b45d
--- /dev/null
+++ b/addons/openacademy/openacademy.py
@@ -0,0 +1,30 @@
+from openerp.osv import osv, fields
+
+class Course (osv.Model):
+ _name = "openacademy.course"
+ _description = "OpenAcademy course"
+ _column = {
+ 'name': fields.char('Course Title',size=128,required=True),
+ 'description': fields.text('Description'),
+ 'responsible_id': fields.many2one('res.users',string='responsible',ondelete='set null'),
+ 'session_ids': fields.one2many('openacademy.session','course_id','Session'),
+ }
+class Session(osv.Model):
+ _name = 'openacademy.session'
+ _description = "OpenAcademy session"
+ _columns = {
+ 'name': fields.char('Session Title', size=128, required=True),
+ 'start_date': fields.date('Start Date'),
+ 'duration': fields.float('Duration', digits=(6,2), help="Duration in days"),
+ 'seats': fields.integer('Number of seats'),
+ 'instructor_id': fields.many2one('res.partner','Intructor'),
+ 'course_id': fields.many2one('openacademy.course','course',required=True,ondelete='cascade'),
+ 'attendee_ids': fields.one2many('openacademy.attendee','session_id','Attendees'),
+ }
+class Attendee(osv.Model):
+ _name = 'openacademy.attendee'
+ _description = "OpenAcademy Attendee"
+ _columns = {
+ 'partner_id': fields.many2one('res.partner','Partner',required=True,ondelete='cascade'),
+ 'session_id': fields.many2one('openacademy.session','Session',required=True,ondelete='cascade'),
+ }
\ No newline at end of file
diff --git a/addons/openacademy/openacademy_view.xml b/addons/openacademy/openacademy_view.xml
new file mode 100644
index 00000000000..e694788aa69
--- /dev/null
+++ b/addons/openacademy/openacademy_view.xml
@@ -0,0 +1,33 @@
+
+
+
+
+ Courses
+ openacademy.course
+ form
+ tree,form
+
+
+
+ openacadamy.course.tree
+ openacademy.course
+
+
+
+
+
+
+
+
+
+ Sessions
+ openacademy.session
+ form
+ tree,form
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/addons/openacademy/temporary.py b/addons/openacademy/temporary.py
new file mode 100644
index 00000000000..86e482a33e5
--- /dev/null
+++ b/addons/openacademy/temporary.py
@@ -0,0 +1,64 @@
+
+
+ course.form
+ openacademy.course
+ form
+
+
+
+
+
+
+
+ session.tree
+ openacademy.session
+ tree
+
+
+
+
+
+
+
+
+
+ session.form
+ openacademy.session
+ form
+
+
+
+
\ No newline at end of file