Is the following acceptable or is it bad English? Is there a better way to phrase the question and answer? (Someone told me it is bad English but he couldn't elaborate. I'm confused.)

Qn: Is there school today?
Ans: Today, there is no school because it is a school holiday.
Please help.

1 answer

It's not bad English.

I'd rephrase the answer slightly, though ... like this:
There is no school today because it is a school holiday.