diff --git a/.idea/misc.xml b/.idea/misc.xml
index 79461bc634dbe899a24de835544722d6900b371f..75318f728051c43fdceee22b5a4b65d2c821fd4b 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -53,7 +53,7 @@
     <ConfirmationsSetting value="0" id="Add" />
     <ConfirmationsSetting value="0" id="Remove" />
   </component>
-  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" assert-keyword="true" jdk-15="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
+  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" default="true" assert-keyword="true" jdk-15="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
     <output url="file://$PROJECT_DIR$/build/classes" />
   </component>
   <component name="ProjectType">
diff --git a/app/src/main/java/com/darshanbshah/odsystem/MainActivity.java b/app/src/main/java/com/darshanbshah/odsystem/MainActivity.java
index 2db1140d64153ef38496af165a0dac9565731ca7..a26130dd48e86e21e1669a5236a1effe1d70bf21 100644
--- a/app/src/main/java/com/darshanbshah/odsystem/MainActivity.java
+++ b/app/src/main/java/com/darshanbshah/odsystem/MainActivity.java
@@ -19,9 +19,11 @@ import com.google.firebase.database.DataSnapshot;
 import com.google.firebase.database.DatabaseError;
 import com.google.firebase.database.DatabaseReference;
 import com.google.firebase.database.FirebaseDatabase;
+import com.google.firebase.database.ValueEventListener;
 
 import java.util.ArrayList;
 import java.util.Calendar;
+import java.util.HashMap;
 import java.util.List;
 
 public class MainActivity extends AppCompatActivity {
@@ -43,10 +45,17 @@ public class MainActivity extends AppCompatActivity {
     DatabaseReference roll_no;
     DatabaseReference email;
     DatabaseReference advisor;
+    DatabaseReference od;
+    DatabaseReference od_child_child;
+
+    RollNumber r = new RollNumber();
 
     String recepient = "";
 
     List<String> list1 = new ArrayList<String>();
+    List<String> list_adv_name = new ArrayList<String>();
+    List<String> list_adv_email = new ArrayList<String>();
+    HashMap<String, String> adv_details = new HashMap<String, String>();
 
 
     @Override
@@ -62,7 +71,7 @@ public class MainActivity extends AppCompatActivity {
         roll_no = id.child("RollNumber");
         email = id.child("Email");
         advisor = id.child("Advisor");
-
+        od = root.child("OD");
 
         welcomeText = (TextView)findViewById(R.id.welcomeText);
         welcomeText.setText("Welcome " + mAuth.getCurrentUser().getEmail());
@@ -74,12 +83,30 @@ public class MainActivity extends AppCompatActivity {
         student.addChildEventListener(new ChildEventListener() {
             @Override
             public void onChildAdded(DataSnapshot dataSnapshot, String s) {
-                for(DataSnapshot dsp : dataSnapshot.getChildren()){
-                    if (dsp.getKey().toString().equals("Advisor"))  {
-                        list1.add(String.valueOf(dsp.getValue()));
-                        Log.e("E-MAIL ", String.valueOf(dsp.getValue()));
-                    }
+                for(final DataSnapshot d : dataSnapshot.getChildren()){
+                    student.addValueEventListener(new ValueEventListener() {
+                        @Override
+                        public void onDataChange(DataSnapshot ds) {
+                            for(DataSnapshot dsp : ds.getChildren()){
+                                if (dsp.getKey().toString().equals(mAuth.getCurrentUser().getUid()))  {
+                                    if (d.getKey().toString().equals("Advisor")) {
+                                        list1.add(String.valueOf(d.getValue()));
+                                        Log.e("E-MAIL of Adv ", String.valueOf(d.getValue()));
+                                    }
+
+                                }
+
+                            }
+                        }
+
+                        @Override
+                        public void onCancelled(DatabaseError databaseError) {
+
+                        }
+                    });
+
                 }
+
             }
 
             @Override
@@ -102,14 +129,63 @@ public class MainActivity extends AppCompatActivity {
 
             }
         });
-
-
     }
 
 
 
 
     public void onClickFromDatePicker(View view) {
+        for (int i = 0; i < list_adv_name.size(); i++) {
+            list_adv_name.remove(i);
+        }
+        adv.addValueEventListener(new ValueEventListener() {
+            @Override
+            public void onDataChange(DataSnapshot dataSnapshot) {
+                for (DataSnapshot data : dataSnapshot.getChildren()) {
+                    list_adv_name.add(data.getKey().toString());
+                }
+            }
+
+            @Override
+            public void onCancelled(DatabaseError databaseError) {
+
+            }
+        });
+
+        for (int i = 0; i < list_adv_email.size(); i++) {
+            list_adv_email.remove(i);
+        }
+
+        adv.addChildEventListener(new ChildEventListener() {
+            @Override
+            public void onChildAdded(DataSnapshot dataSnapshot, String s) {
+                for (DataSnapshot data : dataSnapshot.getChildren()) {
+                    if (data.getKey().toString().equals("Email")) {
+                        list_adv_email.add(data.getValue().toString());
+                    }
+                }
+            }
+
+            @Override
+            public void onChildChanged(DataSnapshot dataSnapshot, String s) {
+
+            }
+
+            @Override
+            public void onChildRemoved(DataSnapshot dataSnapshot) {
+
+            }
+
+            @Override
+            public void onChildMoved(DataSnapshot dataSnapshot, String s) {
+
+            }
+
+            @Override
+            public void onCancelled(DatabaseError databaseError) {
+
+            }
+        });
         new DatePickerDialog(this, fromListener, calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH)).show();
     }
 
@@ -149,6 +225,10 @@ public class MainActivity extends AppCompatActivity {
     }
 
     public void onRequestClick(View view) {
+        for (int i = 0; i < list_adv_name.size(); i++) {
+            adv_details.put(list_adv_email.get(i), list_adv_name.get(i));
+        }
+
         reasonString = reason.getText().toString();
         fromDate = from.getText().toString();
         toDate = to.getText().toString();
@@ -158,18 +238,52 @@ public class MainActivity extends AppCompatActivity {
         else {
             full = "No";
         }
+        final String str = adv_details.get(list1.get(0));
 
-        Intent intent = new Intent(Intent.ACTION_SEND);
-        intent.setData(Uri.parse("mailto:"));
+        od.addChildEventListener(new ChildEventListener() {
+            @Override
+            public void onChildAdded(DataSnapshot dataSnapshot, String s) {
+                for(DataSnapshot dsp : dataSnapshot.getChildren()){
+                    if (dsp.getKey().equals(mAuth.getCurrentUser().getUid()))  {
+                        od_child_child = od.child(str).child(mAuth.getCurrentUser().getUid());
+                        od_child_child.setValue(1);
+                    }
+                }
+            }
 
+            @Override
+            public void onChildChanged(DataSnapshot dataSnapshot, String s) {
+
+            }
+
+            @Override
+            public void onChildRemoved(DataSnapshot dataSnapshot) {
+
+            }
+
+            @Override
+            public void onChildMoved(DataSnapshot dataSnapshot, String s) {
+
+            }
+
+            @Override
+            public void onCancelled(DatabaseError databaseError) {
+
+            }
+        });
 
+//        recepient = list1.get(0);
+//
+//        Intent intent = new Intent(Intent.ACTION_SEND);
+//        intent.setData(Uri.parse("mailto:"));
+//
 //        Log.e("Recepient", recepient);
-        intent.putExtra(Intent.EXTRA_EMAIL, recepient);
-        intent.putExtra(Intent.EXTRA_SUBJECT, "OD Request");
-        intent.putExtra(Intent.EXTRA_TEXT, "Reason: " + reasonString + '\n' + "From: " + fromDate + '\n' + "To: " + toDate + '\n' + "Full day: " + full);
-        intent.setType("message/rfc822");
-        Intent chooser = Intent.createChooser(intent, "Send email");
-        startActivity(chooser);
+//        intent.putExtra(Intent.EXTRA_EMAIL, recepient);
+//        intent.putExtra(Intent.EXTRA_SUBJECT, "OD Request");
+//        intent.putExtra(Intent.EXTRA_TEXT, "Reason: " + reasonString + '\n' + "From: " + fromDate + '\n' + "To: " + toDate + '\n' + "Full day: " + full);
+//        intent.setType("message/rfc822");
+//        Intent chooser = Intent.createChooser(intent, "Send email");
+//        startActivity(chooser);
 
 
         Log.e("DATA: ", reasonString + ", " + fromDate + ", " + toDate + ", " + full);
diff --git a/app/src/main/java/com/darshanbshah/odsystem/RollNumber.java b/app/src/main/java/com/darshanbshah/odsystem/RollNumber.java
index 2f15eb65709aa811515cbe4d32bbeb0eb5d49c66..6f399d4b2e80d0fda3eaf115130e153cf38d4cc2 100644
--- a/app/src/main/java/com/darshanbshah/odsystem/RollNumber.java
+++ b/app/src/main/java/com/darshanbshah/odsystem/RollNumber.java
@@ -27,6 +27,7 @@ import com.google.firebase.database.Query;
 import com.google.firebase.database.ValueEventListener;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
 
 public class RollNumber extends AppCompatActivity implements AdapterView.OnItemSelectedListener{
@@ -35,6 +36,9 @@ public class RollNumber extends AppCompatActivity implements AdapterView.OnItemS
     private EditText rollNumber;
     private Spinner advisors;
 
+    List<String> list = new ArrayList<String>();
+    List<String> lst = new ArrayList<String>();
+
     FirebaseDatabase database = FirebaseDatabase.getInstance();
 
     DatabaseReference root;
@@ -45,8 +49,7 @@ public class RollNumber extends AppCompatActivity implements AdapterView.OnItemS
     DatabaseReference email;
     DatabaseReference advisor;
 
-    List<String> list = new ArrayList<String>();
-    List<String> lst = new ArrayList<String>();
+    HashMap <String,String> adv_map = new HashMap <String, String>();
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -74,6 +77,7 @@ public class RollNumber extends AppCompatActivity implements AdapterView.OnItemS
                     list.add(String.valueOf(dsp.getKey())); //add result into array list
                     Log.e("VALUE: ", String.valueOf(dsp.getKey()));
                 }
+                Log.e("LISTSIZE", String.valueOf(list.size()));
             }
 
             @Override
@@ -82,17 +86,20 @@ public class RollNumber extends AppCompatActivity implements AdapterView.OnItemS
             }
         });
 
+
         ArrayAdapter adapter = ArrayAdapter.createFromResource(this, R.array.advisors, android.R.layout.simple_spinner_dropdown_item);
         advisors.setAdapter(adapter);
         advisors.setOnItemSelectedListener(this);
 
-
         adv.addChildEventListener(new ChildEventListener() {
+            int i = 0;
             @Override
             public void onChildAdded(DataSnapshot dataSnapshot, String s) {
                 for(DataSnapshot dsp : dataSnapshot.getChildren()){
                     lst.add(String.valueOf(dsp.getValue()));
                     Log.e("EMAILS: ", String.valueOf(dsp.getValue()));
+//                    adv_map.put(String.valueOf(dsp.getValue()), list.get(1));
+//                    ++i;
                 }
             }
 
@@ -116,6 +123,7 @@ public class RollNumber extends AppCompatActivity implements AdapterView.OnItemS
 
             }
         });
+        Log.e("LSTSIZE", String.valueOf(lst.size()));
 
 //        SharedPreferences preferences = getSharedPreferences("ActivityPREF", Context.MODE_PRIVATE);
 //