Shaanxi and Gansu provinces are well connected to major cities in the rest of China, with direct high-speed and standard trains from Beijing and Shanghai to Xi'an, Lanzhou, and Dunhuang. Xinjiang and Qinghai are more isolated, though there are standard trains from all the above cities to Xining and Ürümqi. High-speed rail lines run from Lanzhou to Ürümqi, which cuts total travel time from 22 hours to about 12 hours. From Xining and Lanzhou, there's daily service to Lhasa in Tibet. The trip takes around 24 hours. You must book tickets in advance and secure a Tibet Travel Permit. From Ürümqi there is regular service to Kashgar, Yining, Korla, Hotan, Turpan, and Hami, as well as Almaty in Kazakstan. For all train travel, save yourself the hassle and ask your hotel or travel agency to book your ticket.