Before making the chicken, prep the other sandwich toppings. Mash the avocado and set aside. In a small frying pan, warm 1 tablespoon of oil on medium heat. Add the sliced red onions and saute for about 3-4 minutes, until they begin to turn translucent. Set aside. Next, prep the pesto sauce-mix ¼ cup of mayonnaise with 2 tablespoon of pesto.
Heat a large frying pan on medium-high heat. Slice the two chicken breasts horizontally (think hamburger bun style). Lightly salt each side of the 4 slices of chicken breast. Then spread a spoonful of pesto on 1 side of each chicken slice. Place the chicken pesto-side down in the heated frying pan. Smooth pesto on the top side of the chicken and cover the pan with a lid. Allow to cook for about 4-5 minutes, or until it starts to turn golden-brown. Flip the chicken over and cook for 3-4 minutes until completely cooked through and golden brown. Remove chicken from the pan and cover.
Butter each slice of bread and put butter-side down on a cutting board. Spread the pesto-mayo sauce on all 8 slices of bread. Place a slice of cheese on four of the slices of bread. Then add the mashed avocado, sauteed onion, tomato, chicken and bacon. Place the other slices of bread on top, butter-side up.
Heat a griddle or frying pan on medium heat (you could also use a panini press if you have one). Heat on each side until golden-brown and cheese has melted. Press down on the sandwich with a spatula as it's cooking. Serve immediately and enjoy!