Heat 2 tablespoons oil in a large nonstick frying pan. Add the onion and garlic and cook over medium heat for 5 minutes, stirring frequently, until the onion is soft and beginning to brown. Add the carrots and zucchinis and fry for a further 10 minutes, stirring, until the vegetables soften. Stir in the ground cumin and coriander, peanut butter, fresh coriander and pepper and mix well. Remove the pan from the heat and set aside to cool slightly.
Mix in the breadcrumbs and egg until thoroughly combined. The mixture should bind together well. Shape the mixture into 4 thick patties about 10 cm in diameter.
Wipe out the pan with paper towel, then add and heat the remaining oil. Fry the patties in a frypan or on the barbecue plate over low to medium heat for 5 minutes on each side, or until they are firm and golden.
To serve, stir the tomatoes and tomato sauce together with a little pepper. Split the hamburger buns in half and toast the cut sides. Spread 1/2 teaspoon mayonnaise on each piece of bun, then place some lettuce and a patty on top of half of the buns. Spread with the tomato mixture and top with the shallot slices. Replace the tops of the buns and serve.