The only way to solve this without tearing it out and replacing it is with an overlay. You could drill holes in the low spots to allow the water to drain but who wants to look at concrete with holes in it. I would also tell the contractor that you're going to call the BBB if he doesn't address the problem. If he cares about his company he won't want the bad reputation.