Итак, что вам нужно, это смарт-контракт и распределенное приложение. Распределенные приложения используются для взаимодействия со смарт-контрактом и пользовательским интерфейсом.
В вашем сценарии у вас есть две заинтересованные стороны - поставщик услуг и клиент. Поставщик услуг вводит данные об услугах, которые могут храниться в форме строки в смарт-контракте.
Принимая во внимание, что, когда Клиент просматривает страницу через Распределенное приложение, вы извлекаете информацию из Умного Контракта. И если клиент заинтересован, вы инициируете способ оплаты, указанный в смарт-контракте.
Взаимодействие между смарт-контрактом и распределенным приложением осуществляется с помощью библиотеки Web3. Что касается дизайна внешнего интерфейса, вы можете использовать AngularJs или трюфель framework в качестве хорошо управляемой системы и иметь множество коробок с готовым шаблоном для распределенного приложения.