WP , как платформа - может быть да, но не факт, что лучший выбор, именно под вашу задачу.
Woocommerce, как система для онлайн-бронирования - тоже самое.
Копать нужно примерно в такую сторону -
Сначала понять, какой будет структура данных.
Что есть - залы, места, фильмы, сеансы, билеты (проданные товары), покупатели.
Каждое из перечисленного будет обладать набором атрибутов (свойств):
Зал - название (большой, малый...) и некая конфигурация, описывающая его размер и места. Например 15х20 - это 15 мест, на 20 рядов. Еще как-то нужно учесть проходы, недоступные места и т.д.
Фильм - название, картинка, ссылка на трейлер, описание, страна, жанр, год, возраст ограничения ...
Сеанс - скорее всего здесь будет связь с залом и фильмом, дата/время, цена. Цена на разные сеансы может отличаться (дневной, вечерний...).
Билет - это номер ряда и места в конкретном зале, дата/время бронирования или продажи, сумма, и какая-то привязка к покупателю. Также, здесь будет некий статус - забронирован, продан... Тогда еще нужна какая-то связь с местами в зале, чтобы отмечать забронированные и проданные. Причем, бронирование нужно иметь возможность отменить.
Далее, нужно понять, как это наложить на WP и WC.
В WP есть базовая "единица хранения" данных - post (запись). У записи - базовый набор атрибутов: заголовок, картинка, текст, анонс, выбор категорий, теги, галерея. На основе базовой записи в WP можно создавать собственные типы - Custom Types. Собственные атрибуты создаются с помощью метабоксов.
То есть, базовых возможностей записи вам точно не хватит. Так же как и товара в магазине.
Товар в woocommerce, это тот-же custom type со своим набором атрибутов - цена, артикул и т. д. Чтобы использовать "механику" woocommerce, нужно, чтобы продаваемые билеты стали товарами. Атрибутов билета, которых не будет хватать, можно добавлять к товару.
Еще, я бы посмотрел, как организовать корзину. По сути, товар в корзине - это забронированный билет. То есть, такой товар уже никто не должен положить в корзину, кроме меня. Потому, что пока я положил в корзину, потом пошел чаю попить, за это время еще пять человек также положили в корзину или купили тот-же билет. Будет куча накладок. А стандартная корзина по другому не "умеет"...
Думаю, также нужно понять, как будет онлайн-оплата. И от этого идти, в отношении магазина. Если вы перенаправляете на платежную систему, что скорее всего, то магазин может быть и не нужен. Оплату реализовать с api платежной системы. ...
и т.д....