After you receive the eighth gym badge, you go north through Route 223.
Explore the Route
If you use the Old Rod in Route 223, you can catch Magikarp. If you use the Good Rod, you can catch Magikarp and Remoraid. While Surfing in the route, you can encounter Mantyke, Pelipper, and Tentacruel.
Near the south end of the route, you can battle Swimmer Miranda, who has a level 43 Lumineon. You get 860 Pokédollars for winning.
To the north, you can battle Swimmer Aubree, who has a level 41 Azurill and a level 41 Azumarill. You get 820 Pokédollars for winning.
To the north, you can battle Swimmer Oscar, who has a level 38 Mantyke, a level 40 Remoraid, and a level 42 Mantine. You get 840 Pokédollars for winning.
If you go southwest between the rocks, you will find a TM18 Rain Dance at the end of the path.
Go north from there and there are two Swimmers. You can either battle them separately talking to them from the south, or battle them at the same time by Surfing between them.
On the left, Swimmer Paige has a level 39 Marill, a level 41 Golduck, and a level 40 Wingull. You get 820 Pokédollars for winning.
On the right, Swimmer Colton has a level 37 Wingull, a level 41 Pelipper, and a level 42 Quagsire. You get 820 Pokédollars for winning.
To the northwest, you can battle Swimmer Ricardo, who has a level 43 Tentacruel. You get 860 Pokédollars for winning.
To the north, you can battle Swimmer Crystal, who has a level 41 Wingull and a level 41 Seaking. You get 820 Pokédollars for winning.
To the northwest, you can battle Swimmer Wesley, who has a level 41 Buizel and a level 41 Tentacruel. You get 820 Pokédollars for winning.
To the north, you can battle Sailor Zachariah, who has a level 38 Pelipper, a level 44 Gastrodon, and a level 38 Machoke. You get 1584 Pokédollars for winning.
Northeast of the sailor, there is a Pearl.
Northwest of the sailor, you can battle Swimmer Gabrielle, who has a level 43 Golduck. You get 860 Pokédollars for winning.
If you go east, then south between the rocks, you can battle Swimmer Francisco, who has a level 40 Tentacool and a level 42 Golduck. You get 840 Pokédollars for winning.
To the north, you can battle Swimmer Cassandra, who has a level 41 Finneon and a level 41 Pelipper. You get 820 Pokédollars for winning.
To the north, you can battle Swimmer Troy, who has a level 43 Gyarados. You get 860 Pokédollars for winning.
To the north, check on the waterfall, and you will use Waterfall to go up to a Pokémon Center. You will now be able to fly here whenever you wish. When you are ready, go into the cave to enter Victory Road.