Master-Interlook:Правила расчета цен на услуги — различия между версиями

Материал из Megatec
Перейти к: навигация, поиск
[досмотренная версия][досмотренная версия]
Строка 13: Строка 13:
 
Данная статья описывает основные алгоритмы, используемые программой при расчете цен на различные типы услуг начиная с релиза 2011.4.0. В ПК "Мастер-Interlook" представлены 4 основных типа услуг: Проживание в отеле, Дополнительные услуги в отеле, Экскурсии и Трансферы, для которых ниже представлены правила расчёта цен.
 
Данная статья описывает основные алгоритмы, используемые программой при расчете цен на различные типы услуг начиная с релиза 2011.4.0. В ПК "Мастер-Interlook" представлены 4 основных типа услуг: Проживание в отеле, Дополнительные услуги в отеле, Экскурсии и Трансферы, для которых ниже представлены правила расчёта цен.
 
===Основные принципы расчёта цен===
 
===Основные принципы расчёта цен===
Для расчёта всегда применяется цена, принадлежащая предложению типа SPO, если она подходит для рассчитываемой услуги. Приоритет цен типа SPO над Ordinary доминирующий.<br />
+
В случае, если производится расчёт услуги на определённый период и хотя бы на одну из дат предоставления услуги не заведена цена, расчёт данной услуги производиться не будет.
В случае, если производится расчёт услуги на опеределённый период и хотя бы на одну из дат предоставления услуги не заведена цена, расчёт данной услуги производиться не будет.<br />
+
 
В случае, если в рассчитываемый период попадают несколько отрезков времени с различными ценами, расчёт услуги будет производиться с учётом приоритетов по каждому дню предоставления услуги.<br />
+
В случае, если в рассчитываемый период попадают несколько отрезков времени с различными ценами, расчёт услуги будет производиться с учётом приоритетов по каждому дню предоставления услуги.
После сортировки по определенным параметрам, цены проверяются на полное соответствие запросу и выбирается первая цена, удовлетворившая условиям запроса.
+
 
 +
Расчет цен для всех типов услуг происходит в три этапа:
 +
#Отбор цен по первоначальным параметрам.
 +
#Сортировка цен.
 +
#Выбор цены по дополнительным параметрам. Происходит по очереди для каждой цены в сортированном списке. Из списка выбирается первая подходящая по всем параметрам цена.
 
===Правила расчёта цен на Проживание в отеле===  
 
===Правила расчёта цен на Проживание в отеле===  
Расчёт производится отдельно для Брутто и Нетто цены. При расчёте производится подбор цены на каждую ночь с учётом параметров и приоритетов выбора. Если цена успешно рассчиталась на всю продолжительность услуги, то происходит разбитие услуги на периоды ночей, рассчитанных в рамках одного ценового предложения. В случае наличия правил (XY) у ценового предложения производится проверка возможности их применения.<br />
+
Расчёт производится отдельно для брутто- и нетто-цены. При расчёте производится подбор цены на каждую ночь с учётом параметров и приоритетов выбора. Если цена успешно рассчиталась на всю продолжительность услуги, то происходит разбитие услуги на периоды ночей, рассчитанных в рамках одного ценового предложения. В случае наличия правил (XY) у ценового предложения, производится проверка возможности их применения.
Подбор цен осуществляется в соответствии с точным попаданием параметров:
+
 
*Тип услуги
+
Первый этап расчета заключается в отборе цен по следующим параметрам:
*Отель
+
*Отель, предоставляющий услугу
*Тип номера
+
*Тип комнаты
 
*Питание
 
*Питание
 
*Категория номера
 
*Категория номера
*Размещение
+
*Тип размещения
*Тариф (для Брутто и Нетто соответственно)
+
*Тариф (соответственно для брутто и нетто)
*Рынок СПО (равен рынку Покупателя или All)
 
 
*Даты действия (не строгое соответствие =>  =<, если указаны)
 
*Даты действия (не строгое соответствие =>  =<, если указаны)
 
*Даты заездов (не строгое соответствие =>  =<, если указаны)
 
*Даты заездов (не строгое соответствие =>  =<, если указаны)
 
*Даты продажи по СПО (не строгое соответствие =>  =<, если указаны)
 
*Даты продажи по СПО (не строгое соответствие =>  =<, если указаны)
*Мин макс продолжительность по СПО
+
 
Только для Брутто:
+
Второй этап представляет собой сортировку по определенным параметрам. Параметры для брутто-цены:
*Покупатель (покупатель или его группа)
+
#Тип ценового предложения (SPO приоритетней Ordinary)
Только для Нетто:
+
#Рынок ценового предложения (конкретный приоритетней ALL)
*Поставщик
+
#Покупатель (конкретный приоритетней группы)
<br />
+
#Город (конкретный приоритетней ALL)
'''Приоритет выбора цен'''<br />
+
#Дата создания ценового предложения (новое приоритетней старого)
Список параметров, влияющих на приоритет выбора Брутто цены:
+
#Дата создания цены (новая приоритетней старой)
*Тип ценового предложения (SPO приоритетней Ordinary)
+
#Дата заезда с (максимальная приоритетней)
*Рынок ценового предложения (конкретный приоритетней ALL)
+
#Дата заезда по (минимальная приоритетней)
*Покупатель (конкретный приоритетней группы)
+
#Дата с (максимальная приоритетней)
*Город (конкретный приоритетней ALL)
+
#Дата по (минимальная приоритетней)
*Дата создания ценового предложения (новое приоритетней старого)
+
#Ключ цены в Базе Данных
*Дата создания цены (новая приоритетней старой)
 
*Дата заезда с (максимальная приоритетней)
 
*Дата заезда по (минимальная приоритетней)
 
*Дата с (максимальная приоритетней)
 
*Дата по (минимальная приоритетней)
 
*Ключ цены в Базе Данных
 
 
 
Список параметров, влияющих на приоритет выбора Нетто цены:
+
Параметры для нетто-цены:
*Поставщик (если равен филиалу, то приоритетней)
+
#Поставщик (если равен филиалу, то приоритетней)
*Тип ценового предложения (SPO приоритетней Ordinary)
+
#Рынок ценового предложения (конкретный приоритетней ALL)
*Дата создания ценового предложения (новое приоритетней старого)
+
#Тип ценового предложения (SPO приоритетней Ordinary)
*Город (конкретный приоритетней ALL)
+
#Значение цены (минимальная приоритетней)
*Дата создания ценового предложения (новое приоритетней старого)
+
#Дата создания ценового предложения (новое приоритетней старого)
*Дата создания цены (новая приоритетней старой)
+
#Дата заезда с (максимальная приоритетней)
*Дата заезда с (максимальная приоритетней)
+
#Дата заезда по (минимальная приоритетней)
*Дата заезда по (минимальная приоритетней)
+
#Дата с (максимальная приоритетней)
*Дата с (максимальная приоритетней)
+
#Дата по (минимальная приоритетней)
*Дата по (минимальная приоритетней)
+
#Ключ цены в Базе Данных
*Ключ цены в Базе Данных
+
 
<br />
+
Третий этап представляет собой выбор цены по принципу точного соответствия параметров по каждому дню услуги отдельно. Параметры, влияющие на отбор:
'''Применение XY правил'''<br />
+
*Min-Max продолжительность
Правило применяется только один раз за любой период. После успешного расчёта цены производится анализ на наличие сплошных периодов ночей рассчитанных в рамках одного ценового предложения. Далее проверятся, наличие правил у ценового предложения и в случае совпадения применяется.  
+
*Рынок
 +
*Период действия цены
 +
*Период продажи
 +
*Тариф
 +
*Период действия правил
 +
*День недели
 +
 
 +
Только для брутто-цен:
 +
*Покупатель (или его группа)
 +
 
 +
Только для нетто-цен
 +
*Поставщик
 +
====Применение XY правил====
 +
Правило применяется только один раз за любой период. После успешного расчёта цены, производится анализ на наличие сплошных периодов ночей рассчитанных в рамках одного ценового предложения. Далее проверятся наличие правил у ценового предложения и, в случае совпадения, применяется.  
  
 
Параметры правила:
 
Параметры правила:
 
*xFrom - значение X с
 
*xFrom - значение X с
 
*xTo  - значение X до
 
*xTo  - значение X до
*Sign  - действие =или -(равно или минус)
+
*Sign  - действие "=" или "-"(равно или минус)
 
*Y    - Y значение
 
*Y    - Y значение
Примеры правил:<br />
+
Примеры правил:
Для продолжительности от 7(xFrom) до 14(xTo) ночей  "минус"(Sign) 1(Y) ночь;
+
*Для продолжительности от 7(xFrom) до 14(xTo) ночей  "минус"(Sign) 1(Y) ночь
Для продолжительности от 21(xFrom) до 21(xTo) ночей "равно"(Sign) 19(Y) ночей.
+
*Для продолжительности от 21(xFrom) до 21(xTo) ночей "равно"(Sign) 19(Y) ночей
 +
 
 +
Выбор правила и применение:
  
Выбор правила и применение:<br />
 
 
Приоритет при выборе у правила с большим значением xFrom.  '''Значение Sign не влияет на выбор правила'''. При применении скидка распространяется на последние ночи в рамках периода.
 
Приоритет при выборе у правила с большим значением xFrom.  '''Значение Sign не влияет на выбор правила'''. При применении скидка распространяется на последние ночи в рамках периода.
 
===Правила расчёта цен на Дополнительные услуги в отелях===
 
===Правила расчёта цен на Дополнительные услуги в отелях===
В первую очередь идёт попытка рассчитать доп. услугу  по групповой цене. Если не удалось рассчитать по групповой цене, то производится расчёт по индивидуальным ценам. Если услуга имеет продолжительность, то рассчитывается каждый день отдельно.<br />
+
Если услуга имеет продолжительность, то рассчитывается каждый день отдельно.
Подбор цен осуществляется в соответствии с точным попаданием параметров:
+
 
*Доп. услуга
+
Первый этап расчета заключается в отборе цен по следующим параметрам:
*Тариф (для Брутто и Нетто соответственно)
+
*Услуга
*Валюта
+
*Тариф (для брутто и нетто соответственно)
*Город начала (свой и «все»)
+
*Даты действия (не строгое соответствие =>  =<, если указаны)
*Город окончания (свой и «все»)
 
 
*Даты заездов (не строгое соответствие =>  =<, если указаны)
 
*Даты заездов (не строгое соответствие =>  =<, если указаны)
*Даты действия (не строгое соответствие =>  =<, если указаны)
 
 
*Даты продажи по СПО (не строгое соответствие =>  =<, если указаны)
 
*Даты продажи по СПО (не строгое соответствие =>  =<, если указаны)
 +
Если среди выбранных на первом этапе цен есть групповые, то расчет будет производиться по группе, иначе - индивидуально.
 +
 +
Второй этап представляет собой сортировку по определенным параметрам. Параметры для брутто-цены:
 +
#Тип ценового предложения (SPO приоритетней Ordinary)
 +
#Рынок ценового предложения (конкретный приоритетней ALL)
 +
#Покупатель (конкретный приоритетней группы)
 +
#Город (конкретный приоритетней ALL)
 +
#Дата создания ценового предложения (новое приоритетней старого)
 +
#Дата создания цены (новая приоритетней старой)
 +
#Дата заезда с (максимальная приоритетней)
 +
#Дата заезда по (минимальная приоритетней)
 +
#Дата с (максимальная приоритетней)
 +
#Дата по (минимальная приоритетней)
 +
#Ключ цены в Базе Данных
 
 
Только для Брутто:
+
Параметры для нетто-цены:
*Покупатель (покупатель, группа или все покупатели «All»)
+
#Поставщик (если равен филиалу, то приоритетней)
*Соответствие поставщика привязанной нетто цены
+
#Тип ценового предложения (SPO приоритетней Ordinary)
 +
#Дата создания ценового предложения (новое приоритетней старого)
 +
#Дата заезда с (максимальная приоритетней)
 +
#Дата заезда по (минимальная приоритетней)
 +
#Дата с (максимальная приоритетней)
 +
#Дата по (минимальная приоритетней)
 +
#Значение цены (минимальная приоритетней)
 +
#Ключ цены в Базе Данных
 +
 
 +
Третий этап представляет собой выбор цены по принципу точного соответствия параметров по каждому дню услуги отдельно. Параметры, влияющие на отбор:
 +
*Город (свой и ALL)
 +
*Min-Max продолжительность
 +
*Рынок
 +
*Период действия цены
 +
*Период продажи
 +
*Тариф
 +
*Период действия правил
 +
*День недели
 +
 
 +
Только для брутто-цен:
 +
*Покупатель (покупатель, группа или ALL)
 +
*Соответствие поставщика привязанной нетто-цены. Если среди выбранных на первом этапе нетто-цен, не окажется связанной цены, то такая брутто-цена считается неподходящей
  
Только для Нетто:
+
Только для нетто-цен:
*Поставщик
+
*Поставщик
'''Приоритет выбора цен'''<br />
 
Список параметров, влияющих на приоритет выбора Брутто цены:
 
*Тип ценового предложения (SPO приоритетней Ordinary)
 
*Рынок ценового предложения (конкретный приоритетней ALL)
 
*Покупатель (конкретный приоритетней группы)
 
*Город (конкретный приоритетней ALL)
 
*Дата создания ценового предложения (новое приоритетней старого)
 
*Дата создания цены (новая приоритетней старой)
 
*Дата заезда с (максимальная приоритетней)
 
*Дата заезда по (минимальная приоритетней)
 
*Дата с (максимальная приоритетней)
 
*Дата по (минимальная приоритетней)
 
*Ключ цены в Базе Данных
 
 
Список параметров, влияющих на приоритет выбора Нетто цены:
 
*Поставщик (если равен филиалу, то приоритетней)
 
*Тип ценового предложения (SPO приоритетней Ordinary)
 
*Рынок ценового предложения (конкретный приоритетней ALL)
 
*Покупатель (конкретный приоритетней группы)
 
*Город (конкретный приоритетней ALL)
 
*Дата создания ценового предложения (новое приоритетней старого)
 
*Дата создания цены (новая приоритетней старой)
 
*Дата заезда с (максимальная приоритетней)
 
*Дата заезда по (минимальная приоритетней)
 
*Дата с (максимальная приоритетней)
 
*Дата по (минимальная приоритетней)
 
*Ключ цены в Базе Данных
 
 
===Правила расчёта цен на Экскурсии===
 
===Правила расчёта цен на Экскурсии===
Расчёт Нетто и Брутто цены связан. В случае подбора Брутто цены идёт проверка связанной Нетто цены, если поставщик подходит, то эта цена берётся в качестве Нетто. В первую очередь идёт попытка рассчитать экскурсию по групповой цене. Если не удалось рассчитать по групповой цене, то производиться разбивка услуги по признаку возраста туриста (каждый уникальный возраст рассчитывается отдельно). Итоговая цена определяется как сумма всех составляющих.<br />
+
Расчёт нетто- и брутто-цены связан. В случае подбора брутто-цены идёт проверка связанной нетто-цены, если поставщик подходит, то эта цена берётся в качестве нетто.
Подбор цен осуществляется в соответствии с точным попаданием параметров:
+
 
*Трансфер
+
Первый этап расчета заключается в отборе цен по следующим параметрам:
*Тип трансфера
+
*Услуга экскурсии
*Валюта
+
*Тариф (для брутто и нетто соответственно)
*Город отправления
 
*Город назначения
 
*Возраст
 
*Тариф (для Брутто и Нетто соответственно)
 
*Рынок СПО (равен рынку Покупателя или All)
 
 
*Даты действия (не строгое соответствие =>  =<, если указаны)
 
*Даты действия (не строгое соответствие =>  =<, если указаны)
 
*Даты заездов (не строгое соответствие =>  =<, если указаны)
 
*Даты заездов (не строгое соответствие =>  =<, если указаны)
 
*Даты продажи по СПО (не строгое соответствие =>  =<, если указаны)
 
*Даты продажи по СПО (не строгое соответствие =>  =<, если указаны)
+
Если среди выбранных на первом этапе цен есть групповые, то расчет будет производиться по группе, иначе - происходит разбивка услуги по признаку возраста туриста (каждый уникальный возраст рассчитывается отдельно).
Только для Брутто:
+
 
*Покупатель (покупатель, группа или все покупатели «All»)
+
Второй этап представляет собой сортировку по определенным параметрам. Параметры для брутто-цены:
*Соответствие поставщика привязанной нетто цены
+
#Тип ценового предложения (SPO приоритетней Ordinary)
 +
#Покупатель (конкретный приоритетней группы)
 +
#Возраст «С» (по возрастанию)
 +
#Возраст «По» (по возрастанию)
 +
#Город начала предоставления услуги (конкретный приоритетней)
 +
#Город окончания предоставления услуги (конкретный приоритетней)
 +
#Дата создания ценового предложения (новое приоритетней старого)
 +
#Ключ цены в Базе Данных
 +
 
 +
Параметры для нетто-цены:
 +
#Поставщик (если равен филиалу, то приоритетней)
 +
#Возраст «С» (по возрастанию)
 +
#Возраст «По» (по возрастанию)
 +
#Город начала предоставления услуги (конкретный приоритетней)
 +
#Город окончания предоставления услуги (конкретный приоритетней)
 +
#Дата создания ценового предложения (новое приоритетней старого)
 +
#Значение цены (минимальная приоритетней)
 +
#Ключ цены в Базе Данных
 +
 
 +
Третий этап представляет собой выбор цены по принципу точного соответствия параметров по каждому дню услуги отдельно. Параметры, влияющие на отбор:
 +
*Возраст
 +
*Min-Max продолжительность
 +
*Рынок
 +
*Период действия цены
 +
*Период оказания услуги
 +
*Период продажи
 +
*Тариф
 +
*Период действия правил
 +
*День недели
  
Только для Нетто:
+
Только для брутто-цен:
*Поставщик
+
*Покупатель (покупатель, группа или ALL)
 +
*Соответствие поставщика привязанной нетто-цены. Если среди выбранных на первом этапе нетто-цен, не окажется связанной цены, то такая брутто-цена считается неподходящей
  
'''Приоритет выбора цен'''<BR>
+
Только для нетто-цен:
Список параметров, влияющих на приоритет выбора Брутто цены:
+
*Поставщик
*Тип ценового предложения (SPO приоритетней Ordinary)
 
*Покупатель (конкретный приоритетней группы)
 
*Возраст «С» (по возрастанию)
 
*Возраст «По» (по возрастанию)
 
*Город начала предоставления услуги (конкретный приоритетней)
 
*Город окончания предоставления услуги (конкретный приоритетней)
 
*Дата создания ценового предложения (новое приоритетней старого)
 
*Ключ цены в Базе Данных
 
 
Список параметров, влияющих на приоритет выбора Нетто цены:
 
*Поставщик (если равен филиалу, то приоритетней)
 
*Тип ценового предложения (SPO приоритетней Ordinary)
 
*Покупатель (конкретный приоритетней группы)
 
*Возраст «С» (по возрастанию)
 
*Возраст «По» (по возрастанию)
 
*Город начала предоставления услуги (конкретный приоритетней)
 
*Город окончания предоставления услуги (конкретный приоритетней)
 
*Дата создания ценового предложения (новое приоритетней старого)
 
*Ключ цены в Базе Данных
 
 
===Правила расчёта цен на Трансферы===
 
===Правила расчёта цен на Трансферы===
Расчёт Нетто и Брутто цены связан. В случае подбора Брутто цены идёт проверка связанной нетто цены, если поставщик подходит, то эта цена берётся в качестве Нетто. В первую очередь идёт попытка рассчитать трансфер по групповой цене. Если не удалось рассчитать по групповой цене, то производиться разбивка услуги по признаку возраста туриста (каждый уникальный возраст рассчитывается отдельно). Итоговая цена определяется как сумма всех составляющих.<br />
+
Расчёт нетто- и брутто-цены связан. В случае подбора брутто-цены идёт проверка связанной нетто-цены, если поставщик подходит, то эта цена берётся в качестве нетто.
Подбор цен осуществляется в соответствии с точным попаданием параметров:
+
 
*Трансфер
+
Первый этап расчета заключается в отборе цен по следующим параметрам:
*Город начала (свой и «все»)
+
*Услуга трансфера
*Город окончания (свой и «все»)
+
*Тип трансфера
*Точка начала (своя и «все»)
+
*Точка начала
*Точка окончания (своя и «все»)
+
*Точка конца
*Возраст
+
*Тариф (для брутто и нетто соответственно)
*Тариф (для Брутто и Нетто соответственно)
 
*Рынок СПО (равен рынку Покупателя или All)
 
 
*Даты действия (не строгое соответствие =>  =<, если указаны)
 
*Даты действия (не строгое соответствие =>  =<, если указаны)
 
*Даты заездов (не строгое соответствие =>  =<, если указаны)
 
*Даты заездов (не строгое соответствие =>  =<, если указаны)
 
*Даты продажи по СПО (не строгое соответствие =>  =<, если указаны)
 
*Даты продажи по СПО (не строгое соответствие =>  =<, если указаны)
+
Если среди выбранных на первом этапе цен есть групповые, то расчет будет производиться по группе, иначе - происходит разбивка услуги по признаку возраста туриста (каждый уникальный возраст рассчитывается отдельно).
Только для Брутто:
+
 
*Покупатель (покупатель, группа или все покупатели «All»)
+
Второй этап представляет собой сортировку по определенным параметрам. Параметры для брутто-цены:
*Соответствие поставщика привязанной нетто цены
+
#Тип ценового предложения (SPO приоритетней Ordinary)
 +
#Покупатель (конкретный приоритетней группы)
 +
#Возраст «С» (по возрастанию)
 +
#Возраст «По» (по возрастанию)
 +
#Точка начала (конкретная приоритетней)
 +
#Точка окончания (конкретная приоритетней)
 +
#Город начала предоставления услуги (конкретный приоритетней)
 +
#Город окончания предоставления услуги (конкретный приоритетней)
 +
#Дата создания ценового предложения (новое приоритетней старого)
 +
#Ключ цены в Базе Данных
 +
 
 +
Параметры для нетто-цены:
 +
#Поставщик (если равен филиалу, то приоритетней)
 +
#Возраст «С» (по возрастанию)
 +
#Возраст «По» (по возрастанию)
 +
#Точка начала (конкретная приоритетней)
 +
#Точка окончания (конкретная приоритетней)
 +
#Город начала предоставления услуги (конкретный приоритетней)
 +
#Город окончания предоставления услуги (конкретный приоритетней)
 +
#Дата создания ценового предложения (новое приоритетней старого)
 +
#Значение цены (минимальная приоритетней)
 +
#Ключ цены в Базе Данных
 +
 
 +
Третий этап представляет собой выбор цены по принципу точного соответствия параметров по каждому дню услуги отдельно. Параметры, влияющие на отбор:
 +
*Город начала и окончания
 +
*Точка начала и окончания
 +
*Тип трансфера
 +
*Возраст
 +
*Min-Max продолжительность
 +
*Рынок
 +
*Период действия цены
 +
*Период оказания услуги
 +
*Период продажи
 +
*Тариф
 +
*Период действия правил
 +
*День недели
  
Только для Нетто:
+
Только для брутто-цен:
*Поставщик
+
*Покупатель (покупатель, группа или ALL)
 +
*Соответствие поставщика привязанной нетто-цены. Если среди выбранных на первом этапе нетто-цен, не окажется связанной цены, то такая брутто-цена считается неподходящей
  
'''Приоритет выбора цен'''<BR>
+
Только для нетто-цен:
Список параметров, влияющих на приоритет выбора Брутто цены:
+
*Поставщик
*Тип ценового предложения (SPO приоритетней Ordinary)
 
*Покупатель (конкретный приоритетней группы)
 
*Возраст «С» (по возрастанию)
 
*Возраст «По» (по возрастанию)
 
*Точка начала (конкретная приоритетней)
 
*Точка окончания (конкретная приоритетней)
 
*Город начала предоставления услуги (конкретный приоритетней)
 
*Город окончания предоставления услуги (конкретный приоритетней)
 
*Дата создания ценового предложения (новое приоритетней старого)
 
*Ключ цены в Базе данных
 
 
Список параметров, влияющих на приоритет выбора Нетто цены:
 
*Тип ценового предложения (SPO приоритетней Ordinary)
 
*Поставщик (Если равен филиалу, то приоритетней)
 
*Возраст «С» (по возрастанию)
 
*Возраст «По» (по возрастанию)
 
*Точка начала (конкретная приоритетней)
 
*Точка окончания (конкретная приоритетней)
 
*Город начала предоставления услуги (конкретный приоритетней)
 
*Город окончания предоставления услуги (конкретный приоритетней)
 
*Дата создания ценового предложения (новое приоритетней старого)
 
*Ключ цены в Базе данных
 
 
[[Category:Master-Interlook_Prices]]
 
[[Category:Master-Interlook_Prices]]
 
[[Category:Master-Interlook_Tutorial]]
 
[[Category:Master-Interlook_Tutorial]]

Версия 10:12, 12 декабря 2013

Версия статьи от 12-12-2013. Для перехода на версию статьи, соответствующую используемой Вами версии программы, нажмите ссылку в таблице ниже:

Более ранние версии:
До 2009.2.21 включительно
До 2011.3.0 включительно


Введение

Данная статья описывает основные алгоритмы, используемые программой при расчете цен на различные типы услуг начиная с релиза 2011.4.0. В ПК "Мастер-Interlook" представлены 4 основных типа услуг: Проживание в отеле, Дополнительные услуги в отеле, Экскурсии и Трансферы, для которых ниже представлены правила расчёта цен.

Основные принципы расчёта цен

В случае, если производится расчёт услуги на определённый период и хотя бы на одну из дат предоставления услуги не заведена цена, расчёт данной услуги производиться не будет.

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

Расчет цен для всех типов услуг происходит в три этапа:

  1. Отбор цен по первоначальным параметрам.
  2. Сортировка цен.
  3. Выбор цены по дополнительным параметрам. Происходит по очереди для каждой цены в сортированном списке. Из списка выбирается первая подходящая по всем параметрам цена.

Правила расчёта цен на Проживание в отеле

Расчёт производится отдельно для брутто- и нетто-цены. При расчёте производится подбор цены на каждую ночь с учётом параметров и приоритетов выбора. Если цена успешно рассчиталась на всю продолжительность услуги, то происходит разбитие услуги на периоды ночей, рассчитанных в рамках одного ценового предложения. В случае наличия правил (XY) у ценового предложения, производится проверка возможности их применения.

Первый этап расчета заключается в отборе цен по следующим параметрам:

  • Отель, предоставляющий услугу
  • Тип комнаты
  • Питание
  • Категория номера
  • Тип размещения
  • Тариф (соответственно для брутто и нетто)
  • Даты действия (не строгое соответствие => =<, если указаны)
  • Даты заездов (не строгое соответствие => =<, если указаны)
  • Даты продажи по СПО (не строгое соответствие => =<, если указаны)

Второй этап представляет собой сортировку по определенным параметрам. Параметры для брутто-цены:

  1. Тип ценового предложения (SPO приоритетней Ordinary)
  2. Рынок ценового предложения (конкретный приоритетней ALL)
  3. Покупатель (конкретный приоритетней группы)
  4. Город (конкретный приоритетней ALL)
  5. Дата создания ценового предложения (новое приоритетней старого)
  6. Дата создания цены (новая приоритетней старой)
  7. Дата заезда с (максимальная приоритетней)
  8. Дата заезда по (минимальная приоритетней)
  9. Дата с (максимальная приоритетней)
  10. Дата по (минимальная приоритетней)
  11. Ключ цены в Базе Данных

Параметры для нетто-цены:

  1. Поставщик (если равен филиалу, то приоритетней)
  2. Рынок ценового предложения (конкретный приоритетней ALL)
  3. Тип ценового предложения (SPO приоритетней Ordinary)
  4. Значение цены (минимальная приоритетней)
  5. Дата создания ценового предложения (новое приоритетней старого)
  6. Дата заезда с (максимальная приоритетней)
  7. Дата заезда по (минимальная приоритетней)
  8. Дата с (максимальная приоритетней)
  9. Дата по (минимальная приоритетней)
  10. Ключ цены в Базе Данных

Третий этап представляет собой выбор цены по принципу точного соответствия параметров по каждому дню услуги отдельно. Параметры, влияющие на отбор:

  • Min-Max продолжительность
  • Рынок
  • Период действия цены
  • Период продажи
  • Тариф
  • Период действия правил
  • День недели

Только для брутто-цен:

  • Покупатель (или его группа)

Только для нетто-цен

  • Поставщик

Применение XY правил

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

Параметры правила:

  • xFrom - значение X с
  • xTo - значение X до
  • Sign - действие "=" или "-"(равно или минус)
  • Y - Y значение

Примеры правил:

  • Для продолжительности от 7(xFrom) до 14(xTo) ночей "минус"(Sign) 1(Y) ночь
  • Для продолжительности от 21(xFrom) до 21(xTo) ночей "равно"(Sign) 19(Y) ночей

Выбор правила и применение:

Приоритет при выборе у правила с большим значением xFrom. Значение Sign не влияет на выбор правила. При применении скидка распространяется на последние ночи в рамках периода.

Правила расчёта цен на Дополнительные услуги в отелях

Если услуга имеет продолжительность, то рассчитывается каждый день отдельно.

Первый этап расчета заключается в отборе цен по следующим параметрам:

  • Услуга
  • Тариф (для брутто и нетто соответственно)
  • Даты действия (не строгое соответствие => =<, если указаны)
  • Даты заездов (не строгое соответствие => =<, если указаны)
  • Даты продажи по СПО (не строгое соответствие => =<, если указаны)

Если среди выбранных на первом этапе цен есть групповые, то расчет будет производиться по группе, иначе - индивидуально.

Второй этап представляет собой сортировку по определенным параметрам. Параметры для брутто-цены:

  1. Тип ценового предложения (SPO приоритетней Ordinary)
  2. Рынок ценового предложения (конкретный приоритетней ALL)
  3. Покупатель (конкретный приоритетней группы)
  4. Город (конкретный приоритетней ALL)
  5. Дата создания ценового предложения (новое приоритетней старого)
  6. Дата создания цены (новая приоритетней старой)
  7. Дата заезда с (максимальная приоритетней)
  8. Дата заезда по (минимальная приоритетней)
  9. Дата с (максимальная приоритетней)
  10. Дата по (минимальная приоритетней)
  11. Ключ цены в Базе Данных

Параметры для нетто-цены:

  1. Поставщик (если равен филиалу, то приоритетней)
  2. Тип ценового предложения (SPO приоритетней Ordinary)
  3. Дата создания ценового предложения (новое приоритетней старого)
  4. Дата заезда с (максимальная приоритетней)
  5. Дата заезда по (минимальная приоритетней)
  6. Дата с (максимальная приоритетней)
  7. Дата по (минимальная приоритетней)
  8. Значение цены (минимальная приоритетней)
  9. Ключ цены в Базе Данных

Третий этап представляет собой выбор цены по принципу точного соответствия параметров по каждому дню услуги отдельно. Параметры, влияющие на отбор:

  • Город (свой и ALL)
  • Min-Max продолжительность
  • Рынок
  • Период действия цены
  • Период продажи
  • Тариф
  • Период действия правил
  • День недели

Только для брутто-цен:

  • Покупатель (покупатель, группа или ALL)
  • Соответствие поставщика привязанной нетто-цены. Если среди выбранных на первом этапе нетто-цен, не окажется связанной цены, то такая брутто-цена считается неподходящей

Только для нетто-цен:

  • Поставщик

Правила расчёта цен на Экскурсии

Расчёт нетто- и брутто-цены связан. В случае подбора брутто-цены идёт проверка связанной нетто-цены, если поставщик подходит, то эта цена берётся в качестве нетто.

Первый этап расчета заключается в отборе цен по следующим параметрам:

  • Услуга экскурсии
  • Тариф (для брутто и нетто соответственно)
  • Даты действия (не строгое соответствие => =<, если указаны)
  • Даты заездов (не строгое соответствие => =<, если указаны)
  • Даты продажи по СПО (не строгое соответствие => =<, если указаны)

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

Второй этап представляет собой сортировку по определенным параметрам. Параметры для брутто-цены:

  1. Тип ценового предложения (SPO приоритетней Ordinary)
  2. Покупатель (конкретный приоритетней группы)
  3. Возраст «С» (по возрастанию)
  4. Возраст «По» (по возрастанию)
  5. Город начала предоставления услуги (конкретный приоритетней)
  6. Город окончания предоставления услуги (конкретный приоритетней)
  7. Дата создания ценового предложения (новое приоритетней старого)
  8. Ключ цены в Базе Данных

Параметры для нетто-цены:

  1. Поставщик (если равен филиалу, то приоритетней)
  2. Возраст «С» (по возрастанию)
  3. Возраст «По» (по возрастанию)
  4. Город начала предоставления услуги (конкретный приоритетней)
  5. Город окончания предоставления услуги (конкретный приоритетней)
  6. Дата создания ценового предложения (новое приоритетней старого)
  7. Значение цены (минимальная приоритетней)
  8. Ключ цены в Базе Данных

Третий этап представляет собой выбор цены по принципу точного соответствия параметров по каждому дню услуги отдельно. Параметры, влияющие на отбор:

  • Возраст
  • Min-Max продолжительность
  • Рынок
  • Период действия цены
  • Период оказания услуги
  • Период продажи
  • Тариф
  • Период действия правил
  • День недели

Только для брутто-цен:

  • Покупатель (покупатель, группа или ALL)
  • Соответствие поставщика привязанной нетто-цены. Если среди выбранных на первом этапе нетто-цен, не окажется связанной цены, то такая брутто-цена считается неподходящей

Только для нетто-цен:

  • Поставщик

Правила расчёта цен на Трансферы

Расчёт нетто- и брутто-цены связан. В случае подбора брутто-цены идёт проверка связанной нетто-цены, если поставщик подходит, то эта цена берётся в качестве нетто.

Первый этап расчета заключается в отборе цен по следующим параметрам:

  • Услуга трансфера
  • Тип трансфера
  • Точка начала
  • Точка конца
  • Тариф (для брутто и нетто соответственно)
  • Даты действия (не строгое соответствие => =<, если указаны)
  • Даты заездов (не строгое соответствие => =<, если указаны)
  • Даты продажи по СПО (не строгое соответствие => =<, если указаны)

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

Второй этап представляет собой сортировку по определенным параметрам. Параметры для брутто-цены:

  1. Тип ценового предложения (SPO приоритетней Ordinary)
  2. Покупатель (конкретный приоритетней группы)
  3. Возраст «С» (по возрастанию)
  4. Возраст «По» (по возрастанию)
  5. Точка начала (конкретная приоритетней)
  6. Точка окончания (конкретная приоритетней)
  7. Город начала предоставления услуги (конкретный приоритетней)
  8. Город окончания предоставления услуги (конкретный приоритетней)
  9. Дата создания ценового предложения (новое приоритетней старого)
  10. Ключ цены в Базе Данных

Параметры для нетто-цены:

  1. Поставщик (если равен филиалу, то приоритетней)
  2. Возраст «С» (по возрастанию)
  3. Возраст «По» (по возрастанию)
  4. Точка начала (конкретная приоритетней)
  5. Точка окончания (конкретная приоритетней)
  6. Город начала предоставления услуги (конкретный приоритетней)
  7. Город окончания предоставления услуги (конкретный приоритетней)
  8. Дата создания ценового предложения (новое приоритетней старого)
  9. Значение цены (минимальная приоритетней)
  10. Ключ цены в Базе Данных

Третий этап представляет собой выбор цены по принципу точного соответствия параметров по каждому дню услуги отдельно. Параметры, влияющие на отбор:

  • Город начала и окончания
  • Точка начала и окончания
  • Тип трансфера
  • Возраст
  • Min-Max продолжительность
  • Рынок
  • Период действия цены
  • Период оказания услуги
  • Период продажи
  • Тариф
  • Период действия правил
  • День недели

Только для брутто-цен:

  • Покупатель (покупатель, группа или ALL)
  • Соответствие поставщика привязанной нетто-цены. Если среди выбранных на первом этапе нетто-цен, не окажется связанной цены, то такая брутто-цена считается неподходящей

Только для нетто-цен:

  • Поставщик