Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия |
open:tech:dev:db:structure [2024/10/29 12:04] – alexandra.panyukova | open:tech:dev:db:structure [2024/11/18 14:29] (текущий) – Перенос цввтов залики в таблицы evgeniy.markus |
---|
===== Определения ===== | ===== Определения ===== |
| |
**Глобальный сервис** - программный продукт, обеспечивающий возможность сделать заказ цепочки услуг из любых сервисов, пользуясь технологиями платформы ShariX, вне зависимости от точки входа заказа (через API). | | **Глобальный сервис** | программный продукт, обеспечивающий возможность сделать заказ цепочки услуг из любых сервисов, пользуясь технологиями платформы ShariX, вне зависимости от точки входа заказа (через API). | |
| | **Metaservice** (метасервис, meta - service) | это видимая для клиента самостоятельная единица Сервиса как бизнеса. У одной компании (юрлица) может быть несколько сервисов. Один сервис может включать в себя результат взаимодействия нескольких компаний. Имеет свой брендинг, дизайн, позиционирование на рынке, набор конкретных услуг (service). Соответственно id_metaservice - идентификатор такого мета-сервиса. | |
| | **id_metaservice** | уникальный идентификатор мета-сервиса, необходимый для синхронизации данных. Один и тот же провайдер может быть для нескольких мета-сервисов, соответственно если происходят изменения в одном, то либо форсируется изменение во всех (если возможно), либо снимается is_global. Соответственно при изменении is_global в true должно происходить согласование с остальными копиями в других сервисах. Нужен в том числе для того, чтобы выяснять, в каких еще сервисах есть этот провайдер. | |
| | **service** | идентификатор конкретной услуги. Услуга обладает ценой и исполнителем. Соответственно id_service - идентификатор такой услуги. | |
| | **is_global** | означает необходимость синхронизации данных, так как данные должны храниться на основной платформе, чтобы их можно было использовать в других услугах и сервисах, реализованных на платформе. | |
| | **is_visible** | означает видимость для составления цепочки услуг. Цепочка услуг - последовательность услуг различных поставщиков/сервисов, покупаемых клиентом в “пакетном” режиме (например, аренда и доставка арендуемого предмета, или аренда нескольких предметов одновременно, или аренда и оказание услуги человеком на арендуемой площадке и так далее). | |
| | **datalink** | адрес фактического размещения на физическом носителе, если информация настолько велика, что не может храниться внутри БД. | |
| |
**Meta-service** (метасервис, metaservice) - это видимая для клиента самостоятельная единица Сервиса как бизнеса. У одной компании (юрлица) может быть несколько сервисов. Один сервис может включать в себя результат взаимодействия нескольких компаний. Имеет свой брендинг, дизайн, позиционирование на рынке, набор конкретных услуг (service). Соответственно id_metaservice - идентификатор такого мета-сервиса. | ===== Общая схема ===== |
| |
**id_metaservice** - уникальный идентификатор мета-сервиса, необходимый для синхронизации данных. Один и тот же провайдер может быть для нескольких мета-сервисов, соответственно если происходят изменения в одном, то либо форсируется изменение во всех (если возможно), либо снимается is_global. Соответственно при изменении is_global в true должно происходить согласование с остальными копиями в других сервисах. Нужен в том числе для того, чтобы выяснять, в каких еще сервисах есть этот провайдер. | Синхронизируемая часть едина и неизменна для всех видов сервисов, если эти сервисы функционируют в состоянии подключения к платформе. Вся специфика по каршерингу выносится отдельно в локальную часть и хранится в отдельном репозитории. |
| |
**service** - идентификатор конкретной услуги. Услуга обладает ценой и исполнителем. Соответственно id_service - идентификатор такой услуги. | Цвета заливки строк таблиц: |
| |
**is_global** - означает необходимость синхронизации данных, так как данные должны храниться на основной платформе, чтобы их можно было использовать в других услугах и сервисах, реализованных на платформе. | | Серый | значения, получаемые автоматом (идентификаторы, отметки времени и тп) | |
| | Зеленый | то, что вводится пользователем текстом или вручную (например - написал имя) | |
| | Синий | то, что является результатом обработки формой текущего интерфейса действий пользователя (например - поставил галку) | |
| | Фиолетовый | то, что наследуется системой в результате действий пользователя (например - выбранный пользователь, сервис и так далее) | |
| |
**is_visible** - означает видимость для составления цепочки услуг. Цепочка услуг - последовательность услуг различных поставщиков/сервисов, покупаемых клиентом в “пакетном” режиме (например, аренда и доставка арендуемого предмета, или аренда нескольких предметов одновременно, или аренда и оказание услуги человеком на арендуемой площадке и так далее). | Текущая без раскраски (материал для ознакомления, требует сведение): |
| |
**datalink** - адрес фактического размещения на физическом носителе, если информация настолько велика, что не может храниться внутри БД. | {{:open:tech:dev:db:snimok_ehkrana_2024-10-29_v_12.57.00.png?1000|}} |
| |
===== Общая схема ===== | Прошлая схема БД: |
| |
{{ :tech_description:db:db-open_1_.png?1000 |}} | {{ :tech_description:db:db-open_1_.png?1000 |}} |
**Provider** – единица описания поставщика услуг/ответственного лица за определенный ресурс (например, машину). По сути - это надстройка к клиентскому аккаунту, иллюстрирующая, что данный пользователь может выступать не только в роли потребителя. То есть, по тому, какие “провайдеры” находятся по идентификатору пользователя - можно установить конкретный список услуг данного пользователя. | **Provider** – единица описания поставщика услуг/ответственного лица за определенный ресурс (например, машину). По сути - это надстройка к клиентскому аккаунту, иллюстрирующая, что данный пользователь может выступать не только в роли потребителя. То есть, по тому, какие “провайдеры” находятся по идентификатору пользователя - можно установить конкретный список услуг данного пользователя. |
| |
**type** – тип поставщика (партнер/ответственное лицо/поставщик услуг). Смысл такой - провайдер это статус пользователя, который, в зависимости от применения, может нести разный смысл и подразумевает под собой какой-то тип действия. Обычные исполнители - это провайдеры услуг (код 3). Ответственные за какое-то имущество, которые сдают его в аренду - это тоже провайдеры (код 2). Ответственные за набор услуг перед метасервисом (фактически - назначенные админы) - это провайдеры-партнеры (код 1) | ^ Поле ^ Описание ^ |
| | **type** | тип поставщика (партнер/ответственное лицо/поставщик услуг). Смысл такой - провайдер это статус пользователя, который, в зависимости от применения, может нести разный смысл и подразумевает под собой какой-то тип действия. Обычные исполнители - это провайдеры услуг (код 3). Ответственные за какое-то имущество, которые сдают его в аренду - это тоже провайдеры (код 2). Ответственные за набор услуг перед метасервисом (фактически - назначенные админы) - это провайдеры-партнеры (код 1) | |
**company** (id) – уникальный идентификатор компании, от лица которой выступает провайдер. Смысл такой - ответственны могут быть только одушевленные лица, компании - не одушевленные. Все услуги предоставляются через компании-партнеры, самозанятые или ИП являются единицами таких компаний. | | **company** (id) | уникальный идентификатор компании, от лица которой выступает провайдер. Смысл такой - ответственны могут быть только одушевленные лица, компании - не одушевленные. Все услуги предоставляются через компании-партнеры, самозанятые или ИП являются единицами таких компаний. | |
| | **user_id** (id) | уникальный идентификатор конкретного пользователя системы (meta-user), который будет оказывать услугу. Один пользователь может быть провайдером нескольких услуг. Статус провайдера означает, что с данным пользователем может быть установлена связь, как с исполнителем. | |
**user_id** (id) – уникальный идентификатор конкретного пользователя системы (meta-user), который будет оказывать услугу. Один пользователь может быть провайдером нескольких услуг. Статус провайдера означает, что с данным пользователем может быть установлена связь, как с исполнителем. | | **requirements** | требования для того, чтобы можно было предоставлять услуги любые в этом метасервисе в целом (самые строгие) | |
| | **status** | статус пользователя в системе относительно прохождения проверок (activity_status) (может быть active только в том случае, если ticket, влияющий на статус - закрыт. | |
**requirements** - требования для того, чтобы можно было предоставлять услуги любые в этом метасервисе в целом (самые строгие) | | **ticket_status** | id последнего актуального тикета, касающийся статуса. Если он меняет статус на закрытый - вызывается проверка, которая смотрит, нет ли другого открытого по пользователю. | |
| | **location_type** | статическая или динамическая локация оказания услуги. Если статическая, а исполнитель находится существенно за пределами локации - то тогда статус автоматом оффлайн для приема новых заявок. | |
**status** - статус пользователя в системе относительно прохождения проверок (activity_status) (может быть active только в том случае, если ticket, влияющий на статус - закрыт. | | **default_location** | локация по умолчанию для объекта. | |
| |
**ticket_status** - id последнего актуального тикета, касающийся статуса. Если он меняет статус на закрытый - вызывается проверка, которая смотрит, нет ли другого открытого по пользователю. | |
| |
**location_type** - статическая или динамическая локация оказания услуги. Если статическая, а исполнитель находится существенно за пределами локации - то тогда статус автоматом оффлайн для приема новых заявок. | |
| |
**default_location** - локация по умолчанию для объекта. | |
| |
==== Resource ==== | ==== Resource ==== |
**Resource/Список ресурсов** – автомобили/дома/объекты сервиса. | **Resource/Список ресурсов** – автомобили/дома/объекты сервиса. |
| |
**type_id** – определение типа ресурса по его уникальному идентификатору в соответствии с классификатором | ^ Поле ^ Описание ^ |
| | **type_id** | определение типа ресурса по его уникальному идентификатору в соответствии с классификатором | |
**user_id (id_responsible_user?)** – уникальный идентификатор ответственного (за состояние, доступность и так далее - то есть для договора) пользователя - идентификатор провайдера, по которому восстанавливается конкретный пользовательский аккаунт | | **user_id (id_responsible_user?)** | уникальный идентификатор ответственного (за состояние, доступность и так далее - то есть для договора) пользователя - идентификатор провайдера, по которому восстанавливается конкретный пользовательский аккаунт | |
| | **requirements** | код необходимого (самый строгий) для того, чтобы ресурс мог стать активным. | |
**requirements** - код необходимого (самый строгий) для того, чтобы ресурс мог стать активным. | | **status** | статус ресурса в системе относительно прохождения проверок (activity_status) (может быть active только в том случае, если ticket, влияющий на статус - закрыт. | |
| | **ticket_status** | id последнего актуального тикета, касающийся статуса. Если он меняет статус на закрытый - вызывается проверка, которая смотрит, нет ли другого открытого по пользователю. | |
**status** - статус ресурса в системе относительно прохождения проверок (activity_status) (может быть active только в том случае, если ticket, влияющий на статус - закрыт. | |
| |
**ticket_status** - id последнего актуального тикета, касающийся статуса. Если он меняет статус на закрытый - вызывается проверка, которая смотрит, нет ли другого открытого по пользователю. | |
| |
==== Relationship ==== | ==== Relationship ==== |
**Relationship/Взаимоотношение** – описание связей (желательных - как имеющиеся договорные отношения, и нежелательных - как пожелание любой из сторон) | **Relationship/Взаимоотношение** – описание связей (желательных - как имеющиеся договорные отношения, и нежелательных - как пожелание любой из сторон) |
| |
**id** - уникальный идентификатор связи | ^ Поле ^ Описание ^ |
| | **id** | уникальный идентификатор связи | |
**user_id_who** (id) – уникальный идентификатор инициатора договорных отношений | | **user_id_who** (id) | уникальный идентификатор инициатора договорных отношений | |
| | **user_id_whom** (id) | уникальный идентификатор того с кем связываются | |
**user_id_whom** (id) – уникальный идентификатор того с кем связываются | | **neg_type_id** (id) | тип договорных отношений по его уникальному идентификатору | |
| | **requirements** | код необходимого (самый строгий) для того, чтобы ресурс мог стать активным. Оно вставляется автоматом, в соответствии с профилем метасервиса. Далее, если кому-то из партнеров или пользователей надо строже - применяется более строгий вариант на данную связь. | |
**neg_type_id** (id) - тип договорных отношений по его уникальному идентификатору | | **status** | (статус обработки заявки в системе заявок) | |
| | **ticket_status** | id заявки, по которой происходит проверка статуса relationship. State меняется только в результате изменений в заявке. | |
**requirements** - код необходимого (самый строгий) для того, чтобы ресурс мог стать активным. Оно вставляется автоматом, в соответствии с профилем метасервиса. Далее, если кому-то из партнеров или пользователей надо строже - применяется более строгий вариант на данную связь. | |
| |
**status** - (статус обработки заявки в системе заявок) | |
| |
**ticket_status** - id заявки, по которой происходит проверка статуса relationship. State меняется только в результате изменений в заявке. | |
| |
==== Company ==== | ==== Company ==== |
** Company ** - это таблица с партнерами сервисов. Партнер сервиса - юридическое лицо или ИП, которое непосредственно организует работу с исполнителями и отвечает перед клиентами и перед сервисом за качество оказанных услуг. Юридически это лица, фактически оказывающие услуги по договору. | ** Company ** - это таблица с партнерами сервисов. Партнер сервиса - юридическое лицо или ИП, которое непосредственно организует работу с исполнителями и отвечает перед клиентами и перед сервисом за качество оказанных услуг. Юридически это лица, фактически оказывающие услуги по договору. |
| |
**legal_name** – настоящее имя юридического лица | ^ Поле ^ Описание ^ |
| | **legal_name** | настоящее имя юридического лица | |
**representative** (provider_id) – уникальный идентификатор представителя компании. Это обязательно пользователь-провайдер определенного типа. То есть нельзя назначить ответственного, который не может быть ответственным. | | **representative** (provider_id) | уникальный идентификатор представителя компании. Это обязательно пользователь-провайдер определенного типа. То есть нельзя назначить ответственного, который не может быть ответственным. | |
| | **requirements** | код необходимого (самый строгий) для того, чтобы ресурс мог стать активным. Оно вставляется автоматом, в соответствии с профилем метасервиса. Далее, если кому-то из партнеров или пользователей надо строже - применяется более строгий вариант на данную связь. | |
**requirements** - код необходимого (самый строгий) для того, чтобы ресурс мог стать активным. Оно вставляется автоматом, в соответствии с профилем метасервиса. Далее, если кому-то из партнеров или пользователей надо строже - применяется более строгий вариант на данную связь. | | **status** | (статус обработки заявки в системе заявок) | |
| | **ticket_status** | id заявки, по которой происходит проверка статуса relationship. State меняется только в результате изменений в заявке. | |
**status** - (статус обработки заявки в системе заявок) | |
| |
**ticket_status** - id заявки, по которой происходит проверка статуса relationship. State меняется только в результате изменений в заявке. | |
| |
==== Servicetype ==== | ==== Servicetype ==== |
** Перечень типов услуг ** - таблица, в которой хранятся данные об общей типовой форме услуги, оказываемой сервисом. Например, для сервиса личных водителей это может быть 2 типа услуг - поездки и поручения. У них может быть разный ход оказания, разные допустимые виды ценообразования, разные требования и т.п. | ** Перечень типов услуг ** - таблица, в которой хранятся данные об общей типовой форме услуги, оказываемой сервисом. Например, для сервиса личных водителей это может быть 2 типа услуг - поездки и поручения. У них может быть разный ход оказания, разные допустимые виды ценообразования, разные требования и т.п. |
| |
**id** - идентификатор типа услуги | ^ Поле ^ Описание ^ |
| | **id** | идентификатор типа услуги | |
**codename** - латинское наименование услуги в системе | | **codename** | латинское наименование услуги в системе | |
| | **caption** | наименование услуги для отображения пользователю | |
**caption** - наименование услуги для отображения пользователю | | **description** | текстовое описание услуги | |
| | **requirements** | код требований на основе вспомогательных таблиц-справочников | |
**description** - текстовое описание услуги | | **price_type** | ценообразование - код допустимых вариантов или код параметров, принимаемых во внимание и способ их учета (по сути хорошо закодировать формулу) | |
| | **status** | активность на основе системы заявок | |
**requirements** - код требований на основе вспомогательных таблиц-справочников | | **ticket_status** | id последнего актуального тикета, касающийся статуса. Если он меняет статус на закрытый - вызывается проверка, которая смотрит, нет ли другого открытого по пользователю. | |
| | **link_agreement** | ссылка на договор в вики об оказании услуги данного типа (аренда, перевозка и тп) | |
**price_type** - ценообразование - код допустимых вариантов или код параметров, принимаемых во внимание и способ их учета (по сути хорошо закодировать формулу) | |
| |
**status** - активность на основе системы заявок | |
| |
**ticket_status** - id последнего актуального тикета, касающийся статуса. Если он меняет статус на закрытый - вызывается проверка, которая смотрит, нет ли другого открытого по пользователю. | |
| |
**link_agreement** - ссылка на договор в вики об оказании услуги данного типа (аренда, перевозка и тп) | |
| |
==== Service ==== | ==== Service ==== |
** Service ** - спецификация услуги каждого конкретного поставщика (например, в рамках сервиса многие могут предоставлять услуги перевозки, но конкретный шаблон с конкретным тарифом относится к отдельному перевозчику) | ** Service ** - спецификация услуги каждого конкретного поставщика (например, в рамках сервиса многие могут предоставлять услуги перевозки, но конкретный шаблон с конкретным тарифом относится к отдельному перевозчику) |
| |
**servicetype_id** – тип оказываемой услуги по классификатору услуг сервиса. По сути указание родительского элемента. | ^ Поле ^ Описание ^ |
| | **servicetype_id** | тип оказываемой услуги по классификатору услуг сервиса. По сути указание родительского элемента. | |
**id_provider** – уникальный идентификатор поставщика услуг (фактически определяет, какой пользователь будет оказывать услугу). Одному заказу соответствует 1 услуга, которую выполняет конкретный Исполнитель (провайдер). Провайдер может при этом предлагать несколько услуг на выбор, но текущему заказу может соответствовать только одна. | | **id_provider** | уникальный идентификатор поставщика услуг (фактически определяет, какой пользователь будет оказывать услугу). Одному заказу соответствует 1 услуга, которую выполняет конкретный Исполнитель (провайдер). Провайдер может при этом предлагать несколько услуг на выбор, но текущему заказу может соответствовать только одна. | |
| | **resource_id** | так как ресурсы сами услугу оказать не могут, а также один ресурс может быть представлен в виде разных услуг, то фактически с точки зрения смысла системы ресурс - это как неодушевленный пользователь. Без провайдера, который с его помощью оказывает услугу - никуда. Поле остается пустым, если сервис не предусматривает использование услуг. Стоит обратить внимание, что это не обязательно ответственный за ресурс. Например, за состояние автомобиля может быть ответственен пользователь (он и указывается в таблице со свойствами ресурса), а услугу доступа или перевозки может оказывать иное лицо. | |
**resource_id** - так как ресурсы сами услугу оказать не могут, а также один ресурс может быть представлен в виде разных услуг, то фактически с точки зрения смысла системы ресурс - это как неодушевленный пользователь. Без провайдера, который с его помощью оказывает услугу - никуда. Поле остается пустым, если сервис не предусматривает использование услуг. Стоит обратить внимание, что это не обязательно ответственный за ресурс. Например, за состояние автомобиля может быть ответственен пользователь (он и указывается в таблице со свойствами ресурса), а услугу доступа или перевозки может оказывать иное лицо. | | **requirements** | код необходимого (самый строгий) для того, чтобы ресурс мог стать активным. Оно вставляется автоматом, в соответствии с профилем метасервиса. Далее, если кому-то из партнеров или пользователей надо строже - применяется более строгий вариант на данную связь. | |
| | **id_metaservice** | уникальный идентификатор мета-сервиса, необходимый для синхронизации данных. Один и тот же провайдер может быть для нескольких мета-сервисов, соответственно если происходят изменения в одном, то либо форсируется изменение во всех (если возможно), либо снимается is_global. Соответственно при изменении is_global в true должно происходить согласование с остальными копиями в других сервисах. Нужен в том числе для того, чтобы выяснять, в каких еще сервисах есть этот провайдер. | |
**requirements** - код необходимого (самый строгий) для того, чтобы ресурс мог стать активным. Оно вставляется автоматом, в соответствии с профилем метасервиса. Далее, если кому-то из партнеров или пользователей надо строже - применяется более строгий вариант на данную связь. | | **price_alg** | шаблон алгоритма расчета цены для оказываемой услуги (по этой переменной определяется, какую функцию для расчета цены вызывать) | |
| | **price_km** | значение параметра стоимости 1км данного поставщика для данного шаблона услуги | |
**id_metaservice** - уникальный идентификатор мета-сервиса, необходимый для синхронизации данных. Один и тот же провайдер может быть для нескольких мета-сервисов, соответственно если происходят изменения в одном, то либо форсируется изменение во всех (если возможно), либо снимается is_global. Соответственно при изменении is_global в true должно происходить согласование с остальными копиями в других сервисах. Нужен в том числе для того, чтобы выяснять, в каких еще сервисах есть этот провайдер. | | **price_min** | значение параметра стоимости 1мин данного поставщика для данного шаблона услуги | |
| | **price_amount** | значение параметра стоимости 1 услуги данного поставщика для данного шаблона услуги | |
**price_alg** – шаблон алгоритма расчета цены для оказываемой услуги (по этой переменной определяется, какую функцию для расчета цены вызывать) | | **service_status** | статус спецификации типа услуги, принимает значения Online, Offline, Preorder with Gap. Online/offline выставляются по проверке параметров и желанию пользователя (например, если пользователь переключает себя online, но по какой-то причине ему такую услугу оказывать запрещено - оно не переключится, то есть надо перед сменой значения этого поля всегда запускать проверку) | |
| | **status** | активность на основе системы заявок | |
**price_km** - значение параметра стоимости 1км данного поставщика для данного шаблона услуги | | **ticket_status** | id последнего актуального тикета, касающийся статуса. Если он меняет статус на закрытый - вызывается проверка, которая смотрит, нет ли другого открытого по пользователю. | |
| |
**price_min** - значение параметра стоимости 1мин данного поставщика для данного шаблона услуги | |
| |
**price_amount** - значение параметра стоимости 1 услуги данного поставщика для данного шаблона услуги | |
| |
**service_status** - статус спецификации типа услуги, принимает значения Online, Offline, Preorder with Gap. Online/offline выставляются по проверке параметров и желанию пользователя (например, если пользователь переключает себя online, но по какой-то причине ему такую услугу оказывать запрещено - оно не переключится, то есть надо перед сменой значения этого поля всегда запускать проверку) | |
| |
**status** - активность на основе системы заявок | |
| |
**ticket_status** - id последнего актуального тикета, касающийся статуса. Если он меняет статус на закрытый - вызывается проверка, которая смотрит, нет ли другого открытого по пользователю. | |
| |
==== Documents ==== | ==== Documents ==== |
**Documents** - это одна таблица со всеми документами. Вообще в концепции предполагалось, что таких таблиц должно быть много под каждый тип для удобства поиска. То есть отдельно таблица с паспортами, отдельно с правами, отдельно с какими-нибудь разрешениями и так далее. Базово на данном этапе - это сводная таблица. | **Documents** - это одна таблица со всеми документами. Вообще в концепции предполагалось, что таких таблиц должно быть много под каждый тип для удобства поиска. То есть отдельно таблица с паспортами, отдельно с правами, отдельно с какими-нибудь разрешениями и так далее. Базово на данном этапе - это сводная таблица. |
| |
**doc_type** - тип документа (паспорт/паспорт 1 страница и т д) в соответствии с классификатором типов документов (см описание в Requirements) | ^ Поле ^ Описание ^ |
| | **doc_type** | тип документа (паспорт/паспорт 1 страница и т д) в соответствии с классификатором типов документов (см описание в Requirements) | |
**expire_date** - срок окончания действия документа. | | **expire_date** | срок окончания действия документа. | |
| | **datalink** | адрес фактического размещения на физическом носителе, если информация настолько велика, что не может храниться внутри БД. | |
**datalink** - адрес фактического размещения на физическом носителе, если информация настолько велика, что не может храниться внутри БД. | | **userid** | уникальный идентификатор пользователя (конкретного клиентского аккаунта) являющегося владельцем данного документа | |
| | **company_id** | идентификатор компании, к которой относится документ, если таковая есть (может не быть) | |
**userid** - уникальный идентификатор пользователя (конкретного клиентского аккаунта) являющегося владельцем данного документа | | **check_level** (check-levels) | информация об уровне проверки. Документ может быть проверен как платформой, так и мета-сервисом, так и партнером мета-сервиса, а может быть и никем (просто загружен). Указывается, так как достоверность проверки разная. Документ, проверенный только на низком уровне, не принимается во внимание как имеющийся до прохождения более высокоуровневой проверки. Информацию об уровнях проверки можно посмотреть по словарю Requirements. В данной таблице хранится информация о наиболее высоком уровне проверки. | |
| | **checked_by** | userid проверившего | |
**company_id** - идентификатор компании, к которой относится документ, если таковая есть (может не быть) | | **check_date** | timestamp проверки | |
| | **status** | активность на основе системы заявок | |
**check_level** (check-levels) - информация об уровне проверки. Документ может быть проверен как платформой, так и мета-сервисом, так и партнером мета-сервиса, а может быть и никем (просто загружен). Указывается, так как достоверность проверки разная. Документ, проверенный только на низком уровне, не принимается во внимание как имеющийся до прохождения более высокоуровневой проверки. Информацию об уровнях проверки можно посмотреть по словарю Requirements. В данной таблице хранится информация о наиболее высоком уровне проверки. | | **ticket_status** | id последнего актуального тикета, касающийся статуса. Если он меняет статус на закрытый - вызывается проверка, которая смотрит, нет ли другого открытого по пользователю. | |
| |
**checked_by** - userid проверившего | |
| |
**check_date** - timestamp проверки | |
| |
**status** - активность на основе системы заявок | |
| |
**ticket_status** - id последнего актуального тикета, касающийся статуса. Если он меняет статус на закрытый - вызывается проверка, которая смотрит, нет ли другого открытого по пользователю. | |
| |
==== Permissions ==== | ==== Permissions ==== |
**Permissions/Разрешения** - (проверки/экзамены). По смыслу это что-то вроде “документа на право что-то делать” - на данном этапе это ограничено метасервисом/платформой, при этом он может быть полностью цифровым (выданным платформой/сервисом). | **Permissions/Разрешения** - (проверки/экзамены). По смыслу это что-то вроде “документа на право что-то делать” - на данном этапе это ограничено метасервисом/платформой, при этом он может быть полностью цифровым (выданным платформой/сервисом). |
| |
**id_permission** - уникальный идентификатор определяющий наличие разрешения из множества в словаре - выданных пользователю/клиенту/аккаунту | ^ Поле ^ Описание ^ |
| | **id_permission** | уникальный идентификатор определяющий наличие разрешения из множества в словаре - выданных пользователю/клиенту/аккаунту | |
**id_metaservice** - уникальный идентификатор мета-сервиса, необходимый для синхронизации данных. | | **id_metaservice** | уникальный идентификатор мета-сервиса, необходимый для синхронизации данных. check_level - тип проверки в соответствии с классификатором проверок. | |
check_level - тип проверки в соответствии с классификатором проверок. | | **user_id** | уникальный идентификатор пользователя/клиента/аккаунта, которым была пройдена проверка и получено разрешение | |
| | **checked_by** | userid проверившего | |
**user_id** - уникальный идентификатор пользователя/клиента/аккаунта, которым была пройдена проверка и получено разрешение | | **check_date** | timestamp проверки | |
| | **status** | (статус обработки заявки в системе заявок) | |
**checked_by** - userid проверившего | | **ticket_status** | id заявки, по которой происходит проверка статуса relationship. State меняется только в результате изменений в заявке. | |
| |
**check_date** - timestamp проверки | |
| |
**status** - (статус обработки заявки в системе заявок) | |
| |
**ticket_status** - id заявки, по которой происходит проверка статуса relationship. State меняется только в результате изменений в заявке. | |
| |
==== Orders ==== | ==== Orders ==== |
**Orders/Заказы current_orders** (смысл такой, что записи в этой таблице могут меняться по ходу осуществления заказов, после - заказ записывается в историю - order_list_log) | **Orders/Заказы current_orders** (смысл такой, что записи в этой таблице могут меняться по ходу осуществления заказов, после - заказ записывается в историю - order_list_log) |
| |
**service_id** - спецификатор услуги провайдера, нужен для установления цены (id_service - уникальный идентификатор шаблона услуги, необходим для установления цены и исполнителей). | ^ Поле ^ Описание ^ |
| | **service_id** | спецификатор услуги провайдера, нужен для установления цены (id_service - уникальный идентификатор шаблона услуги, необходим для установления цены и исполнителей). | |
**service_type_id** - тип заказа по классификатору услуг | | **service_type_id** | тип заказа по классификатору услуг | |
| | **state** | текущий статус заказа из возможных на платформе | |
**state** - текущий статус заказа из возможных на платформе | | **time_placed** | время размещения заказа | |
| | **time_start** | время начала оказания услуги | |
**time_placed** - время размещения заказа | | **time_finish_predicted** | предварительное/расчетное время до окончания оказания услуги | |
| | **time_finish_real** | фактическое время окончания (точное установленное время) | |
**time_start** - время начала оказания услуги | | **order_place_start** | место, которое фиксируется как точка с которой начался совершаться заказ | |
| | **order_place_predicted** предполагаемое место (например | парковка) завершения заказа, может совпадать с начальным, а также обязательно должно быть доступным для завершения (в случае с авто - в разрешенной зоне завершения, например) | |
**time_finish_predicted** - предварительное/расчетное время до окончания оказания услуги | | **order_place_real** | фактическое место где был завершен заказ (например - машина припаркована “здесь”) | |
| | **provider** (id) | уникальный идентификатор поставщика услуги/аккаунта, который оказывает услугу. Если несколько провайдеров собираются мета-сервисом в цепочку, где на уровне связи с клиентом нельзя установить одно ответственное лицо, то указывается вспомогательный мета-провайдер сервиса, и это означает, что мета-сервис несет ответственность перед пользователем за сборку услуги воедино. | |
**time_finish_real** - фактическое время окончания (точное установленное время) | | **receiver** (id) | пользователь/аккаунт, который принимает оказываемые услуги | |
| | **client** (id) | клиент/аккаунт, который оплачивает все оказанные услуги | |
**order_place_start** - место, которое фиксируется как точка с которой начался совершаться заказ | | **predicted_price** | расчетная цена с учетом тарифа поставщика услуг. predicted_price рассчитывается посредством вызова функции get_price на основе данных о поставщике, услуге, тарифе для услуги и предполагаемой длительности и километражу (если он актуален). | |
| | **real_price** | цена с учетом тарифа поставщика услуг по факту оказания услуги. real_price рассчитывается после превышения predicted_price с интервалом раз в 10 минут и/или по завершению заказа | |
**order_place_predicted** предполагаемое место (например - парковка) завершения заказа, может совпадать с начальным, а также обязательно должно быть доступным для завершения (в случае с авто - в разрешенной зоне завершения, например) | |
| |
**order_place_real** - фактическое место где был завершен заказ (например - машина припаркована “здесь”) | |
| |
**provider** (id) - уникальный идентификатор поставщика услуги/аккаунта, который оказывает услугу. Если несколько провайдеров собираются мета-сервисом в цепочку, где на уровне связи с клиентом нельзя установить одно ответственное лицо, то указывается вспомогательный мета-провайдер сервиса, и это означает, что мета-сервис несет ответственность перед пользователем за сборку услуги воедино. | |
| |
**receiver** (id) - пользователь/аккаунт, который принимает оказываемые услуги | |
| |
**client** (id) -клиент/аккаунт, который оплачивает все оказанные услуги | |
| |
**predicted_price** - расчетная цена с учетом тарифа поставщика услуг. predicted_price рассчитывается посредством вызова функции get_price на основе данных о поставщике, услуге, тарифе для услуги и предполагаемой длительности и километражу (если он актуален). | |
| |
**real_price** - цена с учетом тарифа поставщика услуг по факту оказания услуги. real_price рассчитывается после превышения predicted_price с интервалом раз в 10 минут и/или по завершению заказа | |
| |