We took our 18 month old on Indy in June.
You cannot book before you go. As soon as you get on, head to the nursery, register them, and book your first reservation. At the time of our cruise we were allowed to book one evening and maybe one day slot. But more opened up the next day and we could book out the other evenings. We took our daughter once without reservations and they made an exception to let her in but know that w/o reservations, it may be hard.
Time slots exist on sea days as stated above. On port days I believe they are open from like 9-5 or something along those lines. In the PM they are open 7-midnight (with 10-12 being $8 an hour). We used the nursery every night and a few times otherwise and our daughter seemed to like it. They WILL call you if your kid cannot settle, just FYI. They give you a phone.
As for restaurants, my toddler has the patience span of 7 min and I would never bring her to specialty. I will barely bring my 7 year old son. We just make reservations for 7:30 and drop off the kids at 7. Prepare that there will be a line and wait and it can take 5-30 min for dropoff depending on where you are in line at 7.