Johny, I don't know where you got these ticket prices, but obviously not from SBB, as they use Franks in Switzerland, Not Euros.
As Tim said: "1) It makes no sense to prebook Swiss Tickets."
The "correct" price for these trips are:
Luzern → Engelberg return CHF 36.80 adult, or CHF 16.00 child (that is a local 1 day pass) = CHF 89.60
Basel → Luzern CHF 34.00 x 2½ = CHF 85
Luzern → Zürich (I am guessing Zürich airport, not city) CHF 30.00 x 2½ = CHF 75
Total CHF 100.80 (per adult) - does not justify a Half Price Card
Total for 2½ persons = CHF 249.60. You paid €236.50, approx CHF 267
These are the prices you would pay at the station, and are valid on any train that day, second class.
Looks like you got slightly overcharged, but not by much. Reseller websites never know about local deals, like the 1-day pass to get you to Engelberg.
BTW "child" on Swiss trains is under 16. I trust your child is.
Pilatus options and prices are here: https://www.pilatus.ch/en/
Rigi here: https://www.rigi.ch/en
Have a hilarious trip.