Linear or non-linear model? 
Does this residual plot state that this is a non-linear model, due to the fact that the data isn't distributed randomly? thank you!!
 A: It is hard to tell, how many "price per night" there are in 1, 2 and 3(*) but probably enough to justify that there are two outliers in 2 but none in the other groups. If you leave those two outliers out, the plot seems reasonable to me.
Note that next to nothing in real life is ever perfectly linear and your not looking for "perfectly linear" but "linear enough" to justify a model. Models are simplifications of the real world and one needs context to decide, whether residuals in the magnitude of "up to a few hundred" are acceptable or not.
Note that different people will come to different conclusions at this task. The human brain is great in finding patterns - even if there are none.
Note that displaying residuals is one important but not the only way to check "practical linearity". If you can, fit another model with a quadratic term and see, if the fit increases substantially.

(*) Edit: The overplotting that makes invisible, how the values at price per night == 1 are distributed can be relieved in many ways: Try using geom_jitter, geom_violin, geom_density instead of geom_point. My personal favorite for not-to-large-samples: geom_beeswarm from the package ggbeeswarm.
