Stuck on salon appointment test

Tell us what’s happening:
Describe your issue in detail here.
I got all the user stories to pass except
“If you pick a service that doesn’t exist, you should be shown the same list of services again”
This is the output file from my script when entering the same input as the first example file (10, 1, 555-555-5555, Fabio, 10:30)

Your code so far

echo -e "Thank you for choosing Mo's, which service would you like to book?\n"

MAIN_MENU() {
  # Display prompt for return to main menu
  if [[ $1 ]]
  then
  echo -e "\n$1"
  fi

# Get list of services
SERVICE_MENU=$($PSQL "SELECT service_id, name FROM services ORDER BY SERVICE_ID")

# Display list of services
echo "$SERVICE_MENU" | while read SERVICE_ID BAR SERVICE_NAME
do
echo "$SERVICE_ID) $SERVICE_NAME"
done

# Static option for exiting script
echo "0) Exit"

# Get selected service
read SERVICE_ID_SELECTED

# If input is not only a 0 or positive integer
if [[ ! $SERVICE_ID_SELECTED =~ ^[0-9]+$ ]]
then

# Prompt to enter only a number
MAIN_MENU "Please type in only the number of the desired service."
fi

# Match selected service to service table
SERVICE_ID=$($PSQL "SELECT service_id FROM services WHERE service_id=$SERVICE_ID_SELECTED")

# If service not found, prompt to choose correct service
if [[ -z $SERVICE_ID ]] && [[ $SERVICE_ID_SELECTED != 0 ]]
then
MAIN_MENU "That is not a service we offer, please choose from the service list below"

# Or if input is 0, exit script
  elif [[ $SERVICE_ID_SELECTED == 0 ]]
  then
  EXIT

# If service is found, send service_id to booking menu as argument  
  else
  BOOKING_MENU "$SERVICE_ID_SELECTED"
fi
}

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36

Challenge: Build a Salon Appointment Scheduler

Link to the challenge: