Upvote:2
I did this a few months ago.
For Korean Airlines (free transit hotel):
You need to wait until you arrive in Incheon to request the overnight hotel. Usually it is granted within a few minutes of getting to the assistant desk.
You can't book it before arriving as it's on a first-come-first-serve basis. If you arrive they will most likely put you in a hotel near the airport (they're very rarely full).
You don't contact the hotels at all. You just contact the airline desk on arrival, you need to clear customs obviously and then they'll give you a coupon for shuttle and hotel stay.
For other airlines/hotels (organised and paid by traveller):
This is entirely up to you and the hotel. It's like booking any other hotel. You can't book too early or too late as visa information may be required, etc.