R6 775 Find Cheap Flights to Shanghai – Compare and Save

1 adult
1 adult, Economy, 0 bags

Save 13% or more on flights. Compare deals from all over the web.

Never overpay with our price tracking tools.

Filter searches by price, airline and more to find your best flights.

Everything you should know

Cheapest return flight
R12 836
Typical prices: R12 011-R15 927
Qatar Airways
Mon 22/10Mon 5/11
CPT - PVG • 1 stop
Cheapest one-way flight
R6 775
Typical prices: R7 288-R11 433
Qatar Airways
Mon 26/11
JNB - PVG • 1 stop
Top airlines
Best reviews • 8,2 score
Airline reviews
Airline reviews
When to book
in advance
Our data shows that travellers who book at least 13 weeks in advance save around 22% compared to booking last minute.
Insights
Insights
When to travel
Cheapest • 8% price drop
Most popular
Good to know
+1
Good to know
+1
Start a new search
KAYAK searches hundreds of sites at once to find you the best travel deals.
We hope you enjoy your trip to Shanghai!
Flight Deals
Booking Insights
Flight Deals

Cheap Flights to Shanghai

 
Discover the best prices for you by selecting your travel dates on KAYAK.

Recent return flight deals to Shanghai

Thu, Oct 22 - Thu, Nov 5
Qatar Airways Logo
13:15 - 22:40CPT  Cape Town Intl-PVG Shanghai Pu Dong
27h 25m1 stop Doha Hamad Intl
Qatar Airways Logo
18:10 - 17:25PVG  Shanghai Pu Dong-CPT Cape Town Intl
29h 15m1 stop Doha Hamad Intl
R12 836Qatar Airways
Sun, Nov 1 - Thu, Nov 12
Qatar Airways Logo
12:35 - 21:45CPT  Cape Town Intl-PVG Shanghai Pu Dong
27h 10m1 stop Doha Hamad Intl
Qatar Airways Logo
18:10 - 17:25PVG  Shanghai Pu Dong-CPT Cape Town Intl
29h 15m1 stop Doha Hamad Intl
R12 852Qatar Airways
Thu, Oct 1 - Wed, Oct 14
Etihad Airways Logo
9:45 - 10:05JNB  Johannesburg OR Tambo-PVG Shanghai Pu Dong
18h 20m1 stop Abu Dhabi Zayed Intl
Etihad Airways Logo
19:25 - 8:20PVG  Shanghai Pu Dong-JNB Johannesburg OR Tambo
18h 55m1 stop Abu Dhabi Zayed Intl
R13 112Etihad Airways
Wed, Oct 14 - Sat, Oct 31
Air China Logo
10:10 - 14:45JNB  Johannesburg OR Tambo-SHA Shanghai Hongqiao Intl
22h 35m2 stops Shenzhen Beijing Capital
Air China Logo
21:30 - 7:40SHA  Shanghai Hongqiao Intl-JNB Johannesburg OR Tambo
40h 10m2 stops Beijing Capital Shenzhen
R13 534Air China
Wed, Oct 14 - Wed, Oct 21
Air China Logo
10:10 - 15:20JNB  Johannesburg OR Tambo-PVG Shanghai Pu Dong
23h 10m2 stops Shenzhen Beijing Capital
Air China Logo
20:05 - 7:40PVG  Shanghai Pu Dong-JNB Johannesburg OR Tambo
41h 35m2 stops Beijing Capital Shenzhen
R13 551Air China
Wed, Oct 14 - Sat, Oct 31
Multiple Airlines Logo
10:10 - 14:25JNB  Johannesburg OR Tambo-SHA Shanghai Hongqiao Intl
22h 15m1 stop Shenzhen
Multiple Airlines Logo
21:30 - 7:40SHA  Shanghai Hongqiao Intl-JNB Johannesburg OR Tambo
40h 10m2 stops Beijing Capital Shenzhen
R13 713Multiple Airlines
Tue, Nov 17 - Thu, Nov 19
Etihad Airways Logo
9:50 - 12:50JNB  Johannesburg OR Tambo-PVG Shanghai Pu Dong
21h 00m1 stop Abu Dhabi Zayed Intl
Etihad Airways Logo
18:15 - 8:20PVG  Shanghai Pu Dong-JNB Johannesburg OR Tambo
20h 05m1 stop Abu Dhabi Zayed Intl
R13 843Etihad Airways
Sun, Nov 22 - Mon, Dec 7
China Eastern Logo
9:50 - 22:40JNB  Johannesburg OR Tambo-PVG Shanghai Pu Dong
30h 50m2 stops Abu Dhabi Zayed Intl Beijing Daxing Intl
China Eastern Logo
9:00 - 8:20PVG  Shanghai Pu Dong-JNB Johannesburg OR Tambo
29h 20m2 stops Beijing Daxing Intl Abu Dhabi Zayed Intl
R13 924China Eastern
Mon, Nov 23 - Thu, Dec 3
Multiple Airlines Logo
13:45 - 21:45JNB  Johannesburg OR Tambo-PVG Shanghai Pu Dong
26h 00m1 stop Doha Hamad Intl
Multiple Airlines Logo
8:30 - 8:20PVG  Shanghai Pu Dong-JNB Johannesburg OR Tambo
29h 50m3 stops Hong Kong Intl Manila Ninoy Aquino Intl Abu Dhabi Zayed Intl
R13 941Multiple Airlines
Sun, Dec 6 - Fri, Dec 11
China Eastern Logo
9:50 - 15:00JNB  Johannesburg OR Tambo-PVG Shanghai Pu Dong
23h 10m2 stops Abu Dhabi Zayed Intl Beijing Daxing Intl
China Eastern Logo
18:15 - 8:20PVG  Shanghai Pu Dong-JNB Johannesburg OR Tambo
20h 05m1 stop Abu Dhabi Zayed Intl
R15 208China Eastern
Booking Insights

Price, demand, and travel trends for South Africa to Shanghai flights

Use KAYAK data on prices, travel dates, airlines, and seasonal trends to compare options and book flights from South Africa to Shanghai with more confidence.

What is the cheapest day to fly to Shanghai?

Wednesday is the cheapest day to fly to Shanghai at R13 486 return on average over the past 12 months on KAYAK. Saturday is the most expensive at R14 330.

What is the cheapest month to fly to Shanghai?

•January is the cheapest month to fly to Shanghai with an average price of R12 397 return.
•December (R15 127) and August (R14 688) are the most expensive.
•Based on KAYAK data over the past 12 months.

What is the cheapest time of day to fly to Shanghai?

Morning flights to Shanghai are the cheapest at R13 437 return on average. Night flights are the most expensive at R14 525.

When are flights to Shanghai the cheapest?

Flights to Shanghai are cheapest 13 weeks before departure. Booking in this window typically costs about 22% less than the average last-minute fare (within 2 weeks of the flight), based on KAYAK data.

Key details for flights to Shanghai

Low season

February

Cheapest flight

R6 775
Best time to beat the crowds (8% less expensive on average)
Most popular time to fly (1% more expensive on average)
Flights from Johannesburg OR Tambo Airport to Shanghai Pu Dong Airport

When to book flights to Shanghai

Are your dates flexible? Find out the best times to travel to Shanghai based on our flight data from the last year. Discover the cheapest month and even day to fly.
Estimated return price

Your questions about flights to Shanghai, answered

Find helpful route details based on KAYAK data, including flight times, airports, airlines, and booking questions.

  • What is the difference between the most popular and the most frequent airline at Shanghai?

    Cathay Pacific operates the most flights from South Africa to Shanghai at 0 per week, while Qatar Airways is the airline most often selected by KAYAK users searching for flights from South Africa to Shanghai. The two are often different because flight volume reflects an airline's schedule, while popularity reflects traveller choice.

  • Which airports serve Shanghai?

    Flights to Shanghai arrive at: Shanghai Pu Dong (PVG) and Shanghai Hongqiao Intl (SHA).

  • Which airports serve Shanghai and the surrounding area?

    Flights to Shanghai can arrive at several major airports serving the metro area, including Shanghai Pu Dong (PVG) and Shanghai Hongqiao Intl (SHA).

  • Where can I fly from to get the cheapest fares to Shanghai?

    Based on fares booked in the past 5 days, the cheapest flights to Shanghai are from:
    • Johannesburg, from R13 112 return

  • How do I know if a flight to Shanghai is a good deal?

    A good deal on a flight to Shanghai is around R12 011 return. This fare is in the lowest 25% of return flight prices searched on KAYAK, averaged across the cities most often searched as origins by KAYAK users.

  • How expensive are last-minute flights to Shanghai?

    Last-minute fares to Shanghai – booked within 2 weeks of departure – run 14% above the average return fare of R13 539.

Your guide to booking Shanghai flights

From booking to airport arrival, find tips to help you plan your flight with more confidence.
  • For the best chance at a low fare to Shanghai, aim to book around 13 weeks before you fly. That window historically saves about 22% versus last-minute pricing based on KAYAK booking data over the last 12 months.
  • For flights to Shanghai, recent KAYAK data shows that stronger deals tend to be around R12 011 return. If you see a fare below that threshold, it's a good deal – book before the price climbs back up.
  • If you can choose when to go, aim to travel to Shanghai in January. Return fares historically average R12 397 that month – typically the cheapest month to travel based on the last 12 months.
  • Before you book:

    • Check the route's typical price range so you can spot a deal.
    • Confirm baggage fees and seat selection costs on budget carriers.
    • Verify whether you need any travel documents beyond an ID.
    • Pick a departure airport, since your nearest may not be the cheapest origin.
  • Shift your departure to morning to save up to R1 089 per return. Morning flights to Shanghai average R13 437 compared to R14 525 for evening flights. See the time-of-day chart above for the full breakdown.
  • Once you arrive in Shanghai, a great place to start is Oriental Pearl Tower. It is popular with first-time visitors and can give you a good feel for the area.

Reviews of the top 5 airlines flying to Shanghai

 
Need help choosing which airline to fly with to Shanghai? KAYAK airline reviews give an overall score for each airline based on loads of factors, including comfort, boarding, in-flight entertainment and more, to make your decision easier. See airline scores according to verified KAYAK customer reviews.
8,2
Singapore AirlinesOverall score based on 1606 reviews
8,1Entertainment
8,3Boarding
7,8Food
8,6Crew
8,0Comfort
Airline reviews

On schedule, courteous, and efficient. Old aircraft with not so nice lavatories.

10,0 ExcellentAnonymous, Sept 2026
Read more Singapore Airlines reviews

On schedule, courteous, and efficient. Old aircraft with not so nice lavatories.

I had the worst experience of my life in travel. Due to circumstances beyond my control (catastrophic traffic accidents on the highway between Gold Coast and Brisbane) I missed my flight for the first time ever. Because I booked through Kayak Singapore Airlines were not interested in helping me. They told me to contact the agent that I booked through. I was extremely stressed as I had connecting flights in Europe. First Kayak told me that the next available flights were in four days time. Then they told me that they could do it but at a cost of $2600 AUD. When I agreed he told me that he was having trouble getting it through Singapore’s system and he would contact me further once it had been done. When I had not heard from him after several hours, I phoned Kayak again, spoke to a different person who said he could do it for $8200. I declined and told him to cancel the booking. The worst part of this experience was that I had booked 5 flights altogether with Singapore including Premium Economy on two legs and Singapore cancelled all my flights including the return legs leaving me with having to completely reschedule my entire trip. Kayak refunded me $2000 from $5200, obviously leaving me out of pocket. This has left me feeling that I will never deal with Kayak or Singapore Airlines again.

Subject: Complaint Regarding Cabin Temperature on Flight SQ447 (DAC–SIN)** Dear Singapore Airlines Customer Service, I am writing to express my disappointment regarding my recent experience on flight SQ447 from Dhaka (DAC) to Singapore (SIN). After boarding, it became apparent that the cabin air conditioning was not functioning adequately. When we initially raised the concern, a flight attendant informed us that it would take approximately 10 minutes for the temperature to cool down once the aircraft began operating. We trusted this explanation; however, the cabin remained uncomfortably warm, and many passengers—including my family—were sweating for an extended period. After approximately 45 minutes, I raised the issue again. While the attendant mentioned that adjustments had been made, the response did not reflect the seriousness of the ongoing discomfort. It was only after about an hour into the flight that the temperature finally improved and the cabin became more comfortable. I also spoke with several other passengers seated nearby, and they confirmed they were experiencing the same issue. As a frequent traveler who has always associated Singapore Airlines with high standards of service, this experience was very disappointing. It has made me reconsider choosing this route with your airline in the future. I hope you will review this incident and take the necessary steps to ensure that such situations are handled more promptly and professionally going forward. Thank you for your attention to this matter. Sincerely, Mohammed Shahriar

I had ordered vegetarian food. What I was presented was extremely dissatisfying and not up to the mark. I pretty much did not eat entire 19 hours. For.an airline voted as best in business, it was extremely disappointing. Seats were not comfortable to sleep. Entertainment system didn’t have much choice. WiFi didn’t work for more than half the time. Cabin crew were also difficult to understand. A bit of diversity like Emirates crew would go a long way.

a completely full flight - felt quite carmped in, despite being on the window seat. Meal served could better. Surely different from pre-covid trips I used to take to and from Bangkok.

I was in a middle seat where I felt a bit too cramped otherwise the trip was good

On time boarding I would like to see ground hostess to help transit customers to direct them to the right terminal and boarding gate. Last night, all the transit customers on SQ484 arriving Singapore had to merry go round to look for terminal and boarding gate to board SQ128 transit to KL Malaysia. We went to Terminal 3 taking the Skytrain to T3 and back to T3 to get out to look for different Skytrain to T2. On arrival t2, we had to go round to ask which boarding gate to KL. We only had 5 minutes to make to the boarding time at 6:55pm but we already spent more than 30 minutes running around to find the boarding gate. We were late at the boarding gate.

Leg room and flight sound insulation is very bad. They broke 3 of my bags with bad handling

Excellent meal served with real utensils, cardboard served hot meals instead of plastic utensils and plastic covers. Quick service, friendly and accommodating stewards.

Transfer within the same terminal and lots of facilities at the airport.

Good service. I wish there was more legroom. The food could be improved with additional options.

There is an issue with A380 when it arrives in Munich, because a business class passengers like me have to wait for the first class passengers to disembark, which takes some time while you are also offloading economy passengers this causes an issue at customs where your business class passengers end up behind a large bulk of economy passengers This is a frustration and the early dislocation should be and is supposed to be a benefit of business class

This was my first time flying with Emirates. Overall, the experience was very good. I thought the seats in economy would have been a bit more comfortable, but, they seem to be on par with other airlines. The food was excellent and very satisfying. If you can afford it, I would definitely suggest upgrading to at lest premium economy seats for long haul flights.

First time and very memorable, the finest flying experience ive ever had

No Vegetarian options onboard, made to wait for a long time for boarding

The internet connection did was not functioning as per normal.

The individual attention the crew gives to passengers is commendable and I find them positively helpful.

The amenities offered in the Business class is far away less compared with other Air Companies. Emirates is going down in the competition pricing the same value as Qatar airways for example.

For such a long flight I feel the spacing of seats could’ve been better to make it more comfortable for passengers. Very little space to move & stretch legs.

The flight was delayed in Jhb and I could have had some help in Dubai trying to get to my connecting flight to London

The crew were fabulous. We travelled Doha to Miami and the crew in board we exceptional too.

Qatar was pretty OK for their services but Arangrant was awful at theirs and frankly lied to me. Qatar offers four business class fares and only three of them allow lounge access. This is a horrible policy when you pay so much for business class and shame on them for denying the simple use of their lounges for this confusion. When I requested my business class ticket with Arangrant I knew this and specifically told them I would only purchase the lowest class business seat that would still permit me lounge access on all legs of my trip. They lied to me and said I did and then I was refused this service on my return flights. I had no less than 4-8 schedule changes and got screwed by a late departure from DCA on my double connection to JNB. I lost nearly a full day on my outbound and then had little to no use of the lounges on my outbound flights. To then be denied access on my return flights made the 27 hour trip home pretty awful. Kayak should no longer work with Arangrant as they are dishonest and liars. Qatar should price all four of their business class fares to include lounge access and stop the insanity they have forced on people. My return trip home nearly ruined my entire trip to South Africa and I blame Arangrant for telling me lies and for Qatar for offering insane rules and regulations on such expensive business class fares. For the money I paid to Qatar, I did not receive the full services I was promised. I will probably never use Arangrant and their ignorant services ever again. I will question whether I ever fly on Qatar Airways again as well. When you pay so much and get such little in return, it leaves a bad taste in your mouth. Arangrant gives the whole industry a bad name and Qatar is not far behind them. I can honestly say that the wretched service and way I was treated by both have soured me on travel companies and airlines. It is bad enough that we have an idiot, felon, racist and bigoted president and administration to contend with while he has started an illegal war, I did not expect to get screwed over by Arangrant and Qatar as well. Shame on all of you.

This flight was a very good trip for us. The crew were very friendly and helpful. They made arrangements for my husband to have assistance in boarding. We were not expecting a meal, so it was a pleasant surprise on this short flight to have a meal and beverage from a very courteous crew.

Indigo airlines is terrible. Staff is awful and so disorganized. They are so rude and unhelpful. I will never travel on Indigo airlines again!!!!!

As gold member there is no priority checkin. Meaning you either have to board with your zone or last with business class pax. As economy pax all the baggage bays are filled by the time you arrive

Online check-in doesn't work. That's why I couldn't give it full Star.

Luggage handling was very very bad. Damaged my new Calvin Klein bag and delayed another. Still did not get it since 2 days. Worst airlines and service.

Qatar screwed up by delaying our onward journey for refueling, which resulted in missing our connecting flight to India. the airport qater staff at Doha, herded us like cattle in a very incohesive and uncoordinated way. We were then given 2 options: either catch our original flight the Next day ( After 24.hrs) or catch 2 flights instead , to goto our destination in India. All this, for paying a premium for Qatar.

I really did like the food and beverage and crew was really good!

Boarding was orderly, staff at the counter were friendly and so as most of the staff in the flight. Room for some improvement in entertainment, but overall very good flight.

The first segment from Atlanta to Abu Dhabi was fantastic, but we got downgraded to a different aircraft from Abu Dhabi to Delhi. We were supposed to be on a flatbed business class when we booked it but just about one week before travel, we were changed to A321 Neo, which just has old-fashioned business class seats that recline but don’t go flat. While I fully understand that sometimes these changes have to be made for operational reasons, but I asked for some credit or compensation for that and I did not get any anywhere with that

They lost the baggage and said it was deleted from the system. I had baggage tag so was able to file the complaint but there was no PIR number and update so far

Air hostesses were great. Food was good. Flat bed is not that flat or comfortable.

I booked tickets for a family of five and specifically paid extra to select our seats together. We spent nearly $1,000 extra (around $100 per seat) for extra legroom so we could sit near each other. However, despite paying for this, we ended up being separated on the flight. This caused a major issue for our family because my parents do not speak English and rely on me to translate and assist them during the journey. I do not understand why Etihad changed our reserved seats without explanation. I am extremely dissatisfied with this experience. I expect the airline to do better, and I am requesting a full refund for the seat selection fees we paid.

We have paid premium price for a business class Cabinet and we have received the old 777 with the following apart business class that is not to standard. It was very disappointing and it’s a very bad reputation for a premium airline company. This aeroplane should be the commission from being as a business class. We will pass this knowledge to our colleagues because the quality of business class in Etihad is not consistent and it is a lucky dip that sometimes you’re getting a good aeroplane and sometimes you’re getting their 30 years old aeroplane. The crew of the aeroplane have apologise and said that they hate this aeroplane and they have complained about it multiple times as well. Obviously Etihad is putting the economy in front of the Customer Experience. For the future we will not take this risk anymore and will fly with established company like emirates.

I missed my flight ,staff unhelpful, they sat and watched me wait ,gangway door closed, English was a problem no announcement I was on time now I missed my month vacation ,lost 1400 bucks no refund I'm sick to my stomach

Surprised at the lower quality of seats on the Boeing 777 in Business Class. Seats are tight and the whole Business class section is jam packed with seats. It doesn’t feel like Business Class at all. Also the way the tray tables are placed with a huge bulky solid metal hinge at knee level makes it so uncomfortable and always anxious that one will accidentally bang their knee on it. Quality of amenities has also declined. Over priced tickets with diminished quality of the entire experience.

Certainly! Here’s a more concise and refined version of your report, maintaining a polished and professional tone: --- Crew Check-In – Kolkata (CCU) The crew handling check-in in Kolkata was outstanding—efficient, courteous, and highly organized. Flight Segment – CCU to Abu Dhabi (AUH) A standard flight overall. Notably, only one in-flight meal option—a vegetarian curry—was available, which seemed unsuitable for a red-eye journey. The crew offered no alternatives, which was unexpected. Flight Segment – Abu Dhabi to Rome (AUH-FCO) Comfort improved on this leg, but service quality was average, falling short of Etihad’s premium standards. Crew attention was heavily absorbed by a difficult couple in Row 15 (port side), resulting in disproportionate focus. It was concerning that a steward had to personally return to apologize, a task better suited for supervisory staff. This highlights a development opportunity for supervisors Anna and Quashim in managing guest escalation professionally.

Overall mediocre experience. Check in was good. They're were discriminatory. They were not attentive, food choices were not vegetarian friendly. The food served was frozen.

Good range of movies but lacking decent tv shows. Wifi was really expensive on this flight, considering flights under 7 hours have a $9.99 USD charge for streaming, to jump up to $24.99 for a 7 hour 40 flight seemed a little bit of a rip off. Staff are inattentive, and really need to improve on the customer experience. The new airport is fantastic, as is the new lounge, a huge upgrade from the old airport and lounge!

The following is a review for a flight from Johannesburg to Washington, DC with a connection at Addis Ababa, Ethiopia and refueling landing at Rome, Italy. The flight was provided by Ethiopian Airlines. There were two of us: me and my wife on this flight. Everything was on time. Enough legroom between the seats, I was able to stretch my legs and sleep for at least some time during the 14 hour second flight (19 hours in total for both flights). Very decent meals that included two lunches and one breakfast on the flight from Addis Ababa to Washington and one lunch on the flight from Johannesburg to Addis Ababa. The lunch choices were beef, chicken and fish, I think the vegetarian option was available as well, accompanied with beans. The breakfast was a choice between egg and pancake, accompanied with a fruit salad. The egg breakfast was awesome, it came with a scrambled egg and a sausage. However, my wife mentioned unusual taste of the pancake breakfast meal, by all means those were not pancakes. What wasn't good: Externally initiated commercials on the infosystem screens, you couldn't turn the screen off. These commercials were accompanied by loud and annoying music, transmitted through the entire cabin. Obviously, there was no escape from this music as well. Additional moment: on the flight from Addis Ababa to Washington, DC, we landed at Rome for refueling. This was totally fine and it was in the flight itinerary. But, the flight attendant asked me to straighten the seat while we were at the steady position during the refueling. I can't rationalize this order except that some people just like to be a boss of some kind. Keeping the light lit in the economy cabin while keeping it dimmed in the first class also didn't improve my and my wife's feelings. Overall, the services were very good and the flight, despite its longevity, went on very smoothly.

Food was really not appealing. There was a blocked sink in the toilet. Toilet is cramped and the wall between the 2 toilets are not secured properly.

Plane was late with no information or announcement … had to walk up n downstairs.., had not communicated this … and ppl had suitcase to carry .

I did not receive my luggage This airline is not good. My luggage is missing please you guys need to find my luggage. It’s been three days now I cannot get my luggage. This is not a good business I

My entertainment screen wasn't working and they couldn't fix it.

The flight was one hour late. The food is mediocre and the screen was broken

It is just ok, the sits are very uncomfortable, the temperature too low and there weren’t blankets. The food is mediocre and there are no screens to watch movies.

The check in staff was amazing. Best customer service! The plane was old! My entertainment on the first flight didn't work at all, in my seat or in the seat next to me. The bathroom doors were old and troublesome. One of the bathrooms, the whole sink panel was broken. Everything felt old and falling apart. The airline stewardesses were amazing and quite hospitable. When there were delays, they kept us well informed. Transit was GREAT! I wasn't sure how I would make it to my next flight in 1 1/2 hours but the security lines were short and efficient. The C gates in Addis Ababa were CROWDED! That whole space downstairs was too crowded and challenging to manuever. I usually fly Ethiopian within Africa and was interested to see how the experience would be intercontinental. Overall, I would choose it again if it was cheaper than Delta/Air France or Lufthansa/KLM. I wouldn't make it a first choice if the prices were the same because the planes are so old! The food and entertainment also weren't as good. Good selection of movies but as I mentioned, on the first flight they didn't work at all (I slept so it was okay) and the 2nd flight it was glitchy. All in all, I didn't hate it but it would be a first choice only if it's cheaper.

The wifi service was really poor I try to use it the service was extremely poor if that could be improved that will go a long way

I've never been served three bread courses in a single meal before. Was really impressed by the novelty of that.

More options for your flight to Shanghai