We are heading back to Vienna and we wanted to try out the Nightjet train. The Nightjet from Milano to Wien does take 12 hours. The trains stops at each stop for longer times and once you cross the border into Austria, the train is stopped at Villach for several hours in the middle of the night. We took James on a long walk before we boarded the train and he was okay to hold going to the bathroom for the entire trip. We knew we could get off at stops and walk him if needed but he was so comfortable in our sleeper cabin - he didn't wan't to get up and walk! James slept with Sandra on the bottom bunk and Chris slept on the upper bunk. If you are traveling on a night train with your dog, you do need to book an entire sleeper cabin. You don't have the option of sitting in a seat or sharing a couchette. But we preferred this - we wanted a private cabin.
There isn't a dining car on a nightjet train. We suggest bringing a dinner with you. You could bring a picnic with wine, too! The train does provide a few items - one of each for each person: a little bottle of sparkling wine, water, juice and pretzels. And breakfast is included with your ticket!