Начните с определения моделей (сущностей), их свойств и того, как они связаны друг с другом. Затем выясните, какие функции должны быть доступны для внешнего интерфейса.
(Эти шаги могут происходить в любом порядке, или, более реалистично, каждый из них повлияет на ваши мысли о другом, поэтому он отскакивает назад и вперед, когда вы перебираете различные вещи, которые должна обрабатывать система.)
Расширьте пользовательские истории, описанные выше, условиями, с которыми вы столкнетесь, и узнайте, как это делается. Rails позволяет легко приступить к созданию предварительной функциональности - сначала не зацикливайтесь на том, как это выглядит, просто убедитесь, что вы действительно можете делать то, что вам нужно.
Вам также понадобится система аутентификации / авторизации пользователя; Я рекомендую использовать существующий, такой как authlogic или devise . Нужно ли вам что-то вроде cancan для авторизации, я не знаю; но вам понадобится какой-то способ убедиться, что люди могут видеть только то, на что они способны.
Вам также понадобится что-то вроде eventmachine для сметания старых бронирований (мужик, в Нью-Йорке, если вы опоздали на 10 минут, вы уезжаете!), Но сделайте шаг вперед время - сначала просто примените уборщик как ручной процесс, чтобы проработать логику.
Удачи!