Расскажу на примере того как это устроено у нас.
1. Вы выдаете нам все требования и пожелания к сайту от функционала до внешнего вида (если нет готового ТЗ)
2. Мы выдаем в ответ КП с описанием какой этап сколько стоит и сколько времени занимает. (Этапы - ТЗ+ прототипы, Дизайн, Верстка, интеграция/программирование, тестирование)
Если всё устраивает то подписываем договор и поэтапно выполняем все пункты.
ТЗ с прототипами(делаем мы сами, опираясь на пожелания, если нет уже готового):
Графическое и текстовое описание будущего сайта
Посмотреть вложение 110942
-с описанием основных элементов, присутствующих на каждой странице (хэдер, футер, менюшки и т.д.)
-с описанием всех присутствующих на сайте типов страниц и их функций (например для каталога: какая будет его структура, какие возможности по фильтрации, поиску и т.д.; Какая информация и в каком виде показывается в карточке товара; Как устроен процесс заказа и т.д.).
Отрисовывается по прототипу для каждого типа страницы (Обычно это главная, корень каталога, раздел каталога со списком товаров, карточка конкретного товара, корзина, контакты, страница под текстовое содержимое аля "о нас" и т.д в зависимости от необходимости)
После того как вас всё устроит разрабатываем уже полноценный дизайн, натягиваем его на сайт и настраиваем весь функционал
Если что стучите в лс, дам телефон, всё расскажу