I agree that you have to book it in advance. You can book your room, and add the park/dining package later, but I believe you need to do it before arrive.
In my case, we booked two nights/three days at AKL. Later, we decided we wanted the dining package, but not the length-of-stay pass. So I called and added two nights basic dining, and a one day parkhopper. Disney was able to accomodate, adding those features to our existing reservation.