       //  Just so it can easily be seen...
       //  Update database of timeOut
       // ****************************************************************
+      // Kind of an odd workaround...
+      // Logic here is that they either didn't scan a card... or took too long
+      // Thus we send an authorization request with a UID that is guaranteed to not
+      // be valid, this updates the server of an invalid parking at that spot...
+      // At least... that's my thought process...
+//      UID = 0;
+//      authorized = checkAuthorization();
+//    ****** Note.... I'm not even sure this is needed... I highly doubt it but eh...
+      
       bool flash = true;
-      while(digitalRead(Sensor_Pin) || readCard()) 
+      while(!digitalRead(Sensor_Pin) && readCard()) 
       {
         digitalWrite(Red_Led, flash);
         flash = !flash;
         delay(250);   // Delay 250ms
-      }         
+      }
+      // If the object left exit the loop
+      if(digitalRead(Sensor_Pin))
+        break;               
     }
     get_UID();
     // ****************************************************************
     //  Just so it can easily be seen...
     // Send UID to database to see if card is authorized
     // ****************************************************************
+
+    //authorized = checkAuthorization();
+    authorized = cheatAuthorization2();
+
     if(authorized) {
       Serial.print("Maaa!!!!! I did it!!! (Authorized user) \n");
-      flash_LED(Green_Led, 120000); // Flash LED for 2 seconds
+      digitalWrite(Red_Led, LOW); // Shutoff Red LED for flashing sequence
+      flash_LED(Green_Led, 2000); // Flash LED for 2 seconds
       digitalWrite(Green_Led, LOW); // Shutoff Green LED
       digitalWrite(Red_Led, HIGH);  // Turn on RED LED to signal occupied
+      Serial.print("Time to wait for Michael to move his car...\n");
+      while(!digitalRead(Sensor_Pin))
+      {
+        delay(500); // check the pin every 500ms to avoid WDT reset
+      }
     }
     else // If they are not authorized...
     {
       Serial.print("Don't tell Maaa!!!! (Unauthorized user) \n");
       bool flash = true;
-      while(digitalRead(Sensor_Pin)) 
+      while(!digitalRead(Sensor_Pin)) 
       {
         digitalWrite(Red_Led, flash);
         flash = !flash;
+        delay(250);
       }
     }
   }
-  Serial.print("Guess they left... (Object no longer detected)\n");
-  // ****************************************************************
-  //  Just so it can easily be seen...
-  // Update Database of vacancy
-  // ****************************************************************
-  delay(1000);  // Delay for 1 Second
+  if(flag == true) {
+    Serial.print("Guess they left... (Object no longer detected)\n");
+    Serial.print("Updating spot vacancy to true...");
+    Serial.println();
+    while(!updateVacancy(true)) {
+      delay(100);
+    }
+    delay(500);  // Delay for 1/2 Second
+  }
+  delay(250); // Check for card every 250ms to avoid WDT resets
 }
 
 ////////////////////////////////////////////////////////////////////////////////////////////////

//
void Wifi_connect()
{
  Serial.print(F("Card UID: "));
  // Code to setup esp8266 to connect to zee weefee 
  WiFi.begin(weefee_ID, weefee_Password);
  Serial.print("Connecting to ze network");
  while (WiFi.status() != WL_CONNECTED) {
    Serial.print(".");
    delay(500);
  }
  Serial.println();

unsigned long start_time = 0;
unsigned long current_time = 0;
unsigned long timer = 0;
unsigned int timeLimit = 20000;  // Time in milliseconds for sign in

RestClient client = RestClient("6cb06ef3.ngrok.io");
String response;
String path;

bool cardPresent = false;
bool authorized = false;
bool flag;

// List of all the beautiful functions used for this immaculate device
void Wifi_connect();    // Setup code to connect the ESP8266 to the wifi_chip
void get_UID();         // Function to read the data UID from a card
void flash_LED();
bool readCard();        // Convenience Function to read a card
bool cheatAuthorization();  // Cheat function for testing until API is done
bool checkAuthorization();  // Check if the user is authorized
String createPath(String);  // Creates the path for rest calls
bool updateVacancy(bool);    // Update the server of a spot vacancy

void setup() {
  pinMode(Sensor_Pin, INPUT);
