Our flight from Auckland to Sydney experience an hour or so long delay, but we managed to make good time and arrive in Sydney early enough to make our connecting flight. The cabin crew told us we could disembark first in order to make connecting flights to South Africa (there were also some people on the flight who had the same issues going to India) however this didn't end up happening. We all raced through Sydney airport, through security and made it with time to spare to board our connection.... only to find out that Qantas had cancelled everyone's seats and given them away to other people! All we got as compensation was a $15 gift card... This was disgusting behaviour from an airline to have a known delay and just give away about 40 people's seats even though we made it on time. The flight from Sydney to Joburg would've been 14 hours, but we then had an hour wait, then an 8.5 hr flight to Singapore, a 9hr wait in Singapore and then finally an 11 hour flight to Joburg from Singapore with Singapore airlines. So THEY gave away our seats and then added 15.5 hours to our overall journey... I would also like to say that there were many cheaper flights with other airlines that I avoided because they had long lay-overs in either Dubai or Singapore. This was a giant waste of money - might as well have gone via Singapore airlines for the entire trip because I would've made better time. Additionally, I had the dietary requirement of no gluten that was supposed to be applied to all of my flights, only to get on the final one with Singapore airlines to find out that Qantas did not transfer that info to them. The SQ staff were lovely, friendly and very accommodating in creating a make-shift meal, however this entire experience was Qantas' fault.