RFID based Water ATM project

No need to attach such a short sketch, just post it.
I auto-formatted it first.

#include <SoftwareSerial.h>
SoftwareSerial id20(3,9);

////////////////////////////////////////

String  customer1 = "66006BF25AA5";
String  customer2 = "66006BFE51A2";
String  customer3 = "66006C0CDFD9";
String  customer4 = "66006BF5FB03";
String  customer5 = "66006BF96793";

/////////////////////////////////////////

String testCard;
char testtag[12];
int indexnumber = 0;
char tagChar;


/////////////////////////////////////////

int counter = 0;                               
int hallsensor = 9;   
volatile int NbTopsFan = 0;


////////////////////////////////////////

boolean redButton = 6;
boolean greenLed = 7;
boolean greenButton = 8;
boolean redLed = 5;
boolean valve = 4;

////////////////////////////////////////

void setup()
{
  Serial.begin(9600);
  id20.begin(9600);
  attachInterrupt(0, rpm, RISING);

  // inputs 

  pinMode(hallsensor,INPUT);
  pinMode(redButton,INPUT); 
  pinMode(greenButton,INPUT);

  // outputs  

  pinMode(redLed,OUTPUT); 
  pinMode(greenLed,OUTPUT);
  pinMode(valve,OUTPUT);

  // initialization

  digitalWrite(redLed, LOW);
  digitalWrite(greenLed, LOW);
  digitalWrite(valve, LOW); 
}

////////////////////////////////////////

void approved()
{
  digitalWrite(redLed, LOW);
  digitalWrite(greenLed, HIGH);
  Serial.println("Card approved");
  Serial.println("your card number is ");
  Serial.println(testCard);
  delay(1000);
  digitalWrite(greenLed, LOW);

  Serial.println("press the green button");

  stopUntill(); //wait for green signal

    digitalWrite(valve, HIGH);
  digitalWrite(greenLed, HIGH);

  isr();

  stopAll();

}

//////////////////////////////////////////////////

void stopAll()
{ 
  digitalWrite(valve, LOW);
  digitalWrite(greenLed, LOW);
  digitalWrite(redLed, HIGH);
  delay(400);
  digitalWrite(greenLed, LOW);
  NbTopsFan=0;
}
//////////////////////////////////////////////////
void stopUntill()
{

  while(digitalRead(greenButton) == LOW)
  {
    delay(300);
  }

}

/////////////////////////////////////////////

void(* resetFunc) (void) = 0; //declare reset function @ address 0

////////////////////////////////////////////////// 

void isr()
{
  delay(50);
  while(digitalRead(redButton)==LOW)
  {
    NbTopsFan = 0;	//Set NbTops to 0 ready for calculations
    interrupts();		//Enables interrupts
    delay (1000);	//Wait 1 second

    Serial.print (NbTopsFan);
    Serial.println("  NbTopsFan");

    noInterrupts();	//Disable interrupts

      Serial.print (NbTopsFan);
    Serial.println("  NbTopsFan");

    counter=counter+NbTopsFan;


    Serial.print(counter);
    Serial.println ("  ticks");

  }
  resetFunc();  //call reset
}
/////////////////////////////////////////////


void notApproved()
{
  digitalWrite(redLed, LOW);
  Serial.println("Card not Approved");
  digitalWrite(valve, LOW);
  delay(500);
  digitalWrite(redLed, HIGH);
  delay(1000);
  digitalWrite(redLed, LOW);
}

/////////////////////////////////////////////////
void rpm ()     
{
  NbTopsFan++;
}
////////////////////////////////////////////////

void readTag()
{
  tagChar = id20.read();
  if (indexnumber != 0) // never a zero in tag number
  {
    testtag[indexnumber - 1] = tagChar;
  }
  indexnumber++;

  if (indexnumber == 13 ) // end of tag number
  {
    indexnumber = 0;
    testCard = String(testtag);
    if (testCard.equals(customer1))
    {
      approved();
    }

    if (testCard.equals(customer2))
    {
      approved();
    }

    if (testCard.equals(customer3))
    {
      approved();
    }

    if (testCard.equals(customer4))
    {
      approved();
    }
    if (testCard.equals(customer5))
    {
      approved();
    }
    else
      notApproved(); 
  }
}
/////////////////////////////////////////////////
void loop()
{
  readTag();

}