You do not need to "book" the connection from Milan to Tirano, it is an Italian regional train which is unreserved and always the same price. You can buy a ticket when you get to Milan. Cost is 11.50 EUR 2nd cl, or 17.50 EUR 1st cl. Take the 10:20 train to get you to Tirano at 12:52.
For the continuation to Zurich, I'll assume you want to take the named Bernina Express Train. Go to www.sbb.ch/en. Put in Tirano to Zurich HB and via Chur and your date (June 4) and time you want to depart (13:00) and click red search button. You will see a list of trains, note the one departing at 14:25 with a red "PE". That is the Bernina Express, with the connection from Chur to Zurich. Click on the red button, then enter your name and date of birth and the reduction pull down menu click on "no reduction", assuming you don't have a Swiss Travel Pass or Half Fare card. Now look below and you will see a block with a black "%" in the corner. Click on that and then "Saver Day Pass". Now you will see the price of 52 CHF. You just saved 40 CHF. The Saver Day pass allows unlimited travel for the rest of the day in Switzerland. Then go to payment.
Here comes the tricky part. SBB requires on-line credit cards payment with 3-D security. That means you need something like Verified by Visa or MasterPass, where you enter a 4-digit PIN during the transaction. The exception is American Express or Diners Club. Use one of those if you have them.
You're not done yet. The Bernina Express requires a seat reservation you have to get from the actual Bernina Express operator, Rhaetische Bahn. https://shop.rhb.ch/en/catalog/product/view/id/18
You now have to book your seat reservation for 16 CHF. go through the process again selecting the 14:25 train from Tirano to Chur, then continue to seat reservation. You will get a train map showing 5 cars. 1 & 2 are 1st class so look at cars 3, 4, & 5, You'll see what seats are taken and you can pick a seat, then go to payment cart. There, click on "GA Travel Card" and they will take out the cost of the ticket (you already paid SBB for the ticket) and you will be left with 16 CHF due for the seat reservation.
Yes, its complicated.
BTW, there are several nice little pizzerias by the RhB station to have some lunch waiting for the Bernina Express.