programming the car can take anytime from half hour to four hours plus depending on the last time it was updated and how many control units it has.
It doesn't have to be done overnight but every time the dealer has programmed mine they have requested it overnight for programming.