The answer: choose flexibility first, then the class

For an ordinary Morocco rail journey, make three separate choices: the exact service, the comfort class offered for it and the fare conditions you can accept. ONCF’s live search currently asks for departure and arrival stations, travel dates, passenger number and a comfort choice; it lists First class, Second class and Single bed among the available search choices.2 The sale terms then make the flexibility of the selected fare part of the checkout summary. They also say that date, time, origin, destination, price and identity cannot be modified after validation.1

That makes a simple rule useful: do not pay extra for a class in the hope that it makes the ticket flexible. Compare the fare conditions beside the actual offer, then choose the class that is available and suits the journey. For the route, station and connection decision that comes before this one, use our Morocco train guide.

Keep class and fare conditions separate

ONCF’s current search labels first class, second class and, where relevant, single bed as comfort options.2 The operator’s standard after-sales table, however, applies the same three fare types—Non-Flex, Semi-Flex and Flex—to first and second class. In other words, the class label alone does not tell you whether a ticket is refundable or changeable.1

Use this comparison as a decision prompt, not as a promise about a particular carriage, seat layout or service:

Your priorityWhat to compare on the live offerA sensible choice rule
Lowest upfront cost and a fixed planThe displayed Non-Flex termsChoose it only if replacing the ticket would be acceptable should plans move.
A possible same-day changeSemi-Flex terms, including the one-exchange limitCompare its extra cost with the realistic cost of needing another departure.
Several plausible plan changesFlex terms, availability and any fare differencePay for it only if the published flexibility is worth more to you than the price difference.
An overnight optionWhether the search actually offers Single bed for the selected journeyTreat it as a separate product and check the entire itinerary before payment.

The last column is deliberately conditional. Train configuration, availability and the offers returned for a journey can change; the selected offer and its attached conditions are the record that matters.

What Non-Flex, Semi-Flex and Flex mean today

ONCF’s published general conditions set the following standard terms for first- and second-class travel tickets. They are current terms accessed on 30 October 2026, not a substitute for checking the conditions shown with a specific booking.1

Fare typeCancellation before departureExchange before departure
Non-FlexNot refundableNot exchangeable
Semi-Flex50% of the ticket priceOne exchange
FlexFull refund up to 24 hours before departure; 80% within the final 24 hoursUp to five exchanges

Every cancellation in these standard terms must happen before the train departs. ONCF also says that an online or app cancellation is available only for an e-ticket bought online and only until 30 minutes before departure. An exchange depends on seats being available on the new train; if the new ticket costs more, the customer pays the difference, and if it costs less, the terms provide for a refund of the difference.1

Special, reduced or promotional offers can have their own conditions. Do not assume that a lower displayed price has the same after-sales treatment as a standard fare; open the conditions attached to the exact offer and save them with your confirmation.

Check the ticket fields before payment

At a station ticket office, ONCF says the traveler should give the departure station, arrival station, departure date and time slot. The seller then presents offers with their prices and related sales and after-sales conditions. The terms put the responsibility on the buyer to check the printed travel information before leaving the ticket office.1

The online equivalent is a short, deliberate pause before validation:

  1. Search with the actual station names, not only the city name. This matters most when an itinerary includes a connection or an airport/station transfer.
  2. Check the direction, date and departure time against your accommodation, flight or onward plan.
  3. Compare the class and the fare type on the same offer.
  4. If you are buying for someone else, verify the displayed traveler identity before you validate.
  5. Save the ticket and the fare conditions together. A screenshot or offline copy is useful when you later need to decide whether to cancel or exchange.

The point is not to make a reservation feel risky. It is to make the irreversible fields visible while they can still be checked. ONCF’s terms explicitly say the online summary contains the total price and related flexibility, and that the key journey and identity details cannot be changed after validation.1

Change a booking without creating a second problem

Start with the original ticket, not a fresh search. Identify its fare type, the scheduled departure time and whether it is an e-ticket bought online. Then choose between cancellation and exchange.

  • If you need to abandon the journey, compare the applicable cancellation percentage with the value of keeping the ticket. The standard terms allow cancellation before departure; for an online e-ticket, use the website or app before the 30-minute cutoff, or present the ticket or e-ticket at a station ticket office.1
  • If you still want to travel, look for an exchange under the ticket’s fare rules. ONCF says exchanges can be handled at a station, while only e-tickets bought online can also be exchanged through the website or app. Seat availability and any price difference still apply.1
  • If you booked online and need the official after-sales form, the current page asks for the travel-file code or CMI order number and the booking email.3

Do not assume a permitted exchange holds a seat on another departure, or that the original price will carry across. Look at the new train and the resulting total before confirming the change. If the operator changes or disrupts a service, use its current notice and the applicable terms rather than applying this ordinary voluntary-change table by guesswork.

Check the ticket and station before you leave

A travel-day check takes less than a minute and avoids the most frustrating avoidable errors:

  • Open the ticket and match its date, train time, departure station and arrival station to your plan.
  • Keep the ticket, passport and essential valuables with you rather than treating a large bag as the place for travel documents.
  • If your trip includes more than one station or mode, confirm the final local handoff separately; a rail ticket does not arrange a taxi, hotel pickup or coach connection.
  • Do not buy a platform ticket as a substitute for a journey ticket. ONCF says it is valid for one platform entry at the station where it was purchased, is neither exchangeable nor refundable, and does not permit travel on a train.1
Interior concourse at Gare Casa Voyageurs in Casablanca, Morocco
Gare Casa Voyageurs in October 2023. Check the station name on your ticket before travel; this photograph is not a timetable or service notice. · Sharon Hahn Darlin

A useful next step for a mixed itinerary

If you are arriving in Tangier by ferry, the rail-ticket decision comes after a separate port-to-station or hotel handoff. See Tangier Ferry Terminal: Rail, Transfer and Onward Travel Planning before choosing a tight departure. If coordinating independently booked rail and road legs is the difficult part, Maroc Mobility’s Personal Travel Assistant can help arrange the plan; each transport provider’s ticket, availability and after-sales policy still applies.