Jump to content

Recommended Posts

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

 

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

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

 

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

 

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

 

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

 

 

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

 

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

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

 

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

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

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

Edited by andrey55555

Share this post


Link to post
Share on other sites

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

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

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

 

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

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

 

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

 

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

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

 

 

Опция - места

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

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

 

Как вариант:

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

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Возможно:

 

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

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

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

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

 

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

 

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

 

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

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

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

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

Edited by Helloween

Share this post


Link to post
Share on other sites

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

 

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

 

 

 

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

 

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

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

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

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

 

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

 

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

Share this post


Link to post
Share on other sites

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

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

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

Share this post


Link to post
Share on other sites

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

 

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

 

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

 

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

Share this post


Link to post
Share on other sites

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

 

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

 

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

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

Share this post


Link to post
Share on other sites

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

а вообще тыц

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

Share this post


Link to post
Share on other sites

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

 

 

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

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

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

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

 

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

 

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

 

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

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

 

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

Edited by Helloween

Share this post


Link to post
Share on other sites

 

 

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

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

 

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

 

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

 

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

 

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

 

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

 

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

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

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

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.