Перейти к содержанию

Рекомендуемые сообщения

Доброго времени суток!

 

Есть сайт на ocstore  по продаже билетов на автобусные рейсы. 

Каждый рейс - это товар. У товара есть опция - дата.

 

Задача добавить установить дневной лимит продажи билетов для каждого рейса. Лимит - 10 билетов в день.

 

Надо доработать внешнюю сторону сайта и админку.

 

В админке реализовать возможность редактирования лимита продажи билетов каждой даты каждого рейса.

 

 

Называйте сразу примерную стоимость вашей работы.

 

Подробности  в ЛС.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Почему не пользоваться количеством товара, встроенным в OpenCart? Поставьте галку в настройках "списывать товар со склада". Для каждой опции (даты) задайте количество билетов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как вариант - добавить каждому товару в админке количество товара, как было предложено выше и списывать со склада.

А чтобы каждые сутки не добавлять новые товары (с новыми датами) - дописать скриптик обновления БД и повесить на крон на полночь.

Суть - скрипт пробегается по товарам, обновляет всем товарам дату и количество возвращает к 10.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Почему не пользоваться количеством товара, встроенным в OpenCart? Поставьте галку в настройках "списывать товар со склада". Для каждой опции (даты) задайте количество билетов.

 

Если открыта продажа билетов на пол-года, то надо по каждому товару добавить по 180 опций (дат) и для каждого задавать количество?

как менять эти 180 опций (дат) ?

как отображать на сайте?

Изменено пользователем andrey55555

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как вариант - добавить каждому товару в админке количество товара, как было предложено выше и списывать со склада.

А чтобы каждые сутки не добавлять новые товары (с новыми датами) - дописать скриптик обновления БД и повесить на крон на полночь.

Суть - скрипт пробегается по товарам, обновляет всем товарам дату и количество возвращает к 10.

 

Каждому товару добавить опцию 180 дат (продажа на 6 месяцев вперед) ?

как менять эти 180 опций (дат) ?

как отображать на сайте?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Продажа товаров только на текущий день или возможна бронь на неделю вперед?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Продажа товаров только на текущий день или возможна бронь на неделю вперед?

возможна бронь на пол-года вперед

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Каждый рейс+дата - отдельный товар, а опция - места

 

Добавить поле - конец действия продаж (товара)

 

С другой стороны, если за полгода бронь на билет, то рейсы, наверное, не каждый день

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да нет, мне кажется, что тут лучше проверять в заказах количество данного товара со значением опции равным требуемой дате

Тогда не нужно дата+рейс отдельным товаром делать

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Удобный учет,

Если рейсы через день, раз в неделю?

 

 

Опция - места

Вторая опция - место высадки (не обязательно до конца - и стоимость разная)

Товар - рейс, дата, даже время (если несколько рейсов в день)

 

Как вариант:

Направление - категория

Товар - дата и время

Опции - места и место высадки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Посмотрите на этот модуль, возможно он подойдёт.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пока нужен более примитивный вариант.

Возможно:

 

Как вариант - добавить каждому товару в админке количество товара, как было предложено выше и списывать со склада.

А чтобы каждые сутки не добавлять новые товары (с новыми датами) - дописать скриптик обновления БД и повесить на крон на полночь.

Суть - скрипт пробегается по товарам, обновляет всем товарам дату и количество возвращает к 10.

самое простое и правильное решение.

 

Вопрос: как сильно будет "грузить" систему 180 опций (заказ билетов на пол-года вперед) на каждый товар ?

 

И сколько будет стоить реализация согласно цитаты выше ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Но ведь оно в вашем случае не будет работать. Оно не предусматривает бронь на полгода вперед. Или я не всё понял в его словах

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Но ведь оно в вашем случае не будет работать. Оно не предусматривает бронь на полгода вперед. Или я не всё понял в его словах

Про бронь изначально ни слова не было, поэтому таких вещей я не учитывал. Насчет 180 опций - вообще в шоке - откуда столько? Что за билеты со 180 разными параметрами?

 

Тут надо просто продумать сначала сам принцип и как тут уже кто-то упоминал, график.

И уже исходя из этого, писать дополнения. Вряд ли подойдет какой-то готовый модуль, в любом случае - придется допиливать.

Лучше все как следует продумать, написать конкретное ТЗ и уже искать исполнителя.

Но тему эту закрывать не стоит - могут появиться полезные советы, или какое-то замечание может натолкнуть на идею.

Изменено пользователем Helloween

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Про бронь изначально ни слова не было, поэтому таких вещей я не учитывал. 

 

Бронь - не нужна. Билет или приобретается или нет.

 

 

 

Насчет 180 опций - вообще в шоке - откуда столько? Что за билеты со 180 разными параметрами?

 

Нужно реализовать возможность покупать билеты на пол-года вперед: 30 х 6 = 180 дней. Значит каждому товару (рейсу) надо добавить по 180 опций (дат).

Каждый день надо:

- удалять во всех товарах по одной старой опции (дате);

- добавлять во всех товарах по одной новой опции (дате);

 

Вопрос: как сильно будет "грузить" систему 180 опций (заказ билетов на пол-года вперед) на каждый товар ?

 

Или я не правильно понял идею с опциями (датами)?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Опция "дата" может заполнятся пользователем. 

Итого 1 товар, одна опция.

Короче как я и говорил - дать возможность покупать любые даты и проверять просто количество уже проданных с такой опцией

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

... и проверять просто количество уже проданных с такой опцией

 

Я не понимаю, где хранить количество проданных для конкретной даты?

 

Делать отдельную таблицу и добавлять функционал по обновлению ее полей при заказе и редактированию ее полей из админки?

 

Или все же лучше штатными средствами  каждому товару (рейсу) добавить по 180 опций (дат) ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

много гемороя, по моему с этими опциями... ну коль рук не жалко- то можно
а вообще тыц

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А зачем писать в oc_product (oc_option и связанные) что-то заранее и потом только отмечать запись "Продано" (или минусовать со склада) ?

 

Фактически - чтобы получить ассортимент товаров.

 

В данном случае можно создать таблицу oc_assortiment с полями direction и shedule.

 

В shedule - формула графика рейса (к примеру, "ближайшая среда" + 7, если рейс по средам)

 

Покупателю предлагается список направлений. Выбирает -> открывается календарь с подсвеченными доступными датами на полгода вперед.

 

Выбирает -> Купить -> Заказ попадает в таблицу oc_order после проверки count(направление, дата) + кол-во_купленных_билетов <= 10.

 

Если >10 -> "Sorry, все билеты проданы".

 

При желании данные о полностью завершенных (оплаченных) заказах можно перенести в oc_product и связанные таблицы.

 

Разумеется, это только схема, которую еще уточнять и уточнять....

 

Видимые плюсы: job`а через крон нет, нагрузка на систему - минимальная.

 

Видимые минусы - пока невидимы :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я не понимаю, где хранить количество проданных для конкретной даты?

 

Делать отдельную таблицу и добавлять функционал по обновлению ее полей при заказе и редактированию ее полей из админки?

 

Или все же лучше штатными средствами  каждому товару (рейсу) добавить по 180 опций (дат) ?

Всю статистику можно извлечь из oc_order и связанных таблиц

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

много гемороя, по моему с этими опциями... ну коль рук не жалко- то можно

а вообще тыц

Да, интерфейс с билетопокупателем примерно такой

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Бронь - не нужна. Билет или приобретается или нет.

 

 

Нужно реализовать возможность покупать билеты на пол-года вперед: 30 х 6 = 180 дней. Значит каждому товару (рейсу) надо добавить по 180 опций (дат).

Каждый день надо:

- удалять во всех товарах по одной старой опции (дате);

- добавлять во всех товарах по одной новой опции (дате);

 

Вопрос: как сильно будет "грузить" систему 180 опций (заказ билетов на пол-года вперед) на каждый товар ?

 

Или я не правильно понял идею с опциями (датами)?

 

1. А почему бы не продавать билеты с открытой датой?

2. Как я и предлагал - можно обновление дат повесить на крон - каждую полночь скрипт пробегается по таблице и тем товарам, где дата меньше текущей, например, добавляет 180 дней. Таким образом, устаревшие билеты, с просроченной датой обновляются с другого конца - становятся билетами с датой "на 180 дней вперед". Как бы по кругу. Ну и, заодно, обновляется их количество, тем же скриптом по крону.

 

Нагрузка минимальная, если хостинг нормальный - сайт не повесит.

Изменено пользователем Helloween

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

 

...скрипт пробегается по таблице и тем товарам, где дата меньше текущей, например, добавляет 180 дней.

Я не понимаю, предлагается создавать не товар с 180 опциями, а 180 товаров?

 

Ежедневное добавление новых опций или товаров - думаю не проблема.

 

Проблема показа на сайте товара со 180 опциями.

 

Как реализовать и какая будет нагрузка на сервер ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Такая же  как вывести 180 товаров на одной странице.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я не понимаю, предлагается создавать не товар с 180 опциями, а 180 товаров?

 

Ежедневное добавление новых опций или товаров - думаю не проблема.

 

Проблема показа на сайте товара со 180 опциями.

 

Как реализовать и какая будет нагрузка на сервер ?

1. это уже по желанию клиента. На мой взгляд - удобнее каждый билет (на каждое время сделать отдельным товаром, чтобы было удобнее лимит выставлять, а не писать дополнение, чтобы лимиты выставлялись на опции)

2. Совсем не проблема - повесить скрипт на крон и он сам будет все делать - тогда точно в полночь будет происходить автоматическое обновление и не будет зависеть от попойки ответственного лица, или других форс-мажорных обстоятельств.

3-4. Как реализовать? - выбрать вариант: либо товары, либо опции. О нагрузке ответ уже дан мной ранее и chukcha в предыдущем сообщении.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.