Covivo/mobicoop

View on GitHub
api/public/database/index.html

Summary

Maintainability
Test Coverage
<html><head>
<title>Schema Report for database: mobicoop</title>
<style>
        td,th {
        text-align:left;
        vertical-align:middle;
        }
        table {
        border-collapse: collapse;
        border: 1px solid;
        }
        caption, th, td {
        padding: .2em .8em;
        border: 1px solid #000000;
        }
        caption {
        background: #D3D3D3;
        font-weight: bold;
        font-size: 1.1em;
        }
        th {
        font-weight: bold;
        background: #000000;
        color: white;
        }
        td {
        background: #FFFFFF;
        }
        </style>
      </head>
     <body>
<h1>Schema Report for database: mobicoop</h1>
<a id="home">Table List </a><br /><ul>
<li><a href="#user">user </a></li>
<li><a href="#proposal">proposal </a></li>
<li><a href="#ask">ask </a></li>
<li><a href="#matching">matching </a></li>
<li><a href="#waypoint">waypoint </a></li>
<li><a href="#criteria">criteria </a></li>
<li><a href="#address">address </a></li>
<li><a href="#ptjourney">ptjourney </a></li>
<li><a href="#ptdeparture">ptdeparture </a></li>
<li><a href="#ptarrival">ptarrival </a></li>
<li><a href="#ptleg">ptleg </a></li>
<li><a href="#ptline">ptline </a></li>
<li><a href="#ptcompany">ptcompany </a></li>
<li><a href="#ptstep">ptstep </a></li>
<li><a href="#car">car </a></li>
<li><a href="#direction">direction </a></li>
<li><a href="#travelMode">travelMode </a></li>
<li><a href="#proposal_travelMode">proposal_travelMode </a></li>
<li><a href="#individualStop">individualStop </a></li>
<li><a href="#event">event </a></li>
<li><a href="#image">image </a></li>
<li><a href="#zone">zone </a></li>
<li><a href="#app">app </a></li>
<li><a href="#territory">territory </a></li>
<li><a href="#mass">mass </a></li>
<li><a href="#mass_person">mass_person </a></li>
<li><a href="#mass_matching">mass_matching </a></li>
<li><a href="#ptjourney_mass_person">ptjourney_mass_person </a></li>
<li><a href="#community">community </a></li>
<li><a href="#community_user">community_user </a></li>
<li><a href="#community_proposal">community_proposal </a></li>
<li><a href="#relayPoint">relayPoint </a></li>
<li><a href="#relayPointType">relayPointType </a></li>
<li><a href="#relayPoint_relayPointType">relayPoint_relayPointType </a></li>
<li><a href="#article">article </a></li>
<li><a href="#section">section </a></li>
<li><a href="#paragraph">paragraph </a></li>
<li><a href="#community_security">community_security </a></li>
<li><a href="#message">message </a></li>
<li><a href="#recipient">recipient </a></li>
<li><a href="#medium">medium </a></li>
<li><a href="#action">action </a></li>
<li><a href="#notification">notification </a></li>
<li><a href="#notified">notified </a></li>
<li><a href="#askHistory">askHistory </a></li>
<li><a href="#structure">structure </a></li>
<li><a href="#subject">subject </a></li>
<li><a href="#solidary">solidary </a></li>
<li><a href="#log">log </a></li>
<li><a href="#solidarySolution">solidarySolution </a></li>
<li><a href="#diary">diary </a></li>
<li><a href="#user_notification">user_notification </a></li>
<li><a href="#icon">icon </a></li>
<li><a href="#user_import">user_import </a></li>
<li><a href="#community_import">community_import </a></li>
<li><a href="#event_import">event_import </a></li>
<li><a href="#relay_point_import">relay_point_import </a></li>
<li><a href="#redirect">redirect </a></li>
<li><a href="#campaign">campaign </a></li>
<li><a href="#delivery">delivery </a></li>
<li><a href="#campaignTemplate">campaignTemplate </a></li>
<li><a href="#solidaryUser">solidaryUser </a></li>
<li><a href="#language">language </a></li>
<li><a href="#user_language">user_language </a></li>
<li><a href="#need">need </a></li>
<li><a href="#solidary_need">solidary_need </a></li>
<li><a href="#need_volunteer">need_volunteer </a></li>
<li><a href="#need_structure">need_structure </a></li>
<li><a href="#structureProof">structureProof </a></li>
<li><a href="#proof">proof </a></li>
<li><a href="#position">position </a></li>
<li><a href="#carpoolProof">carpoolProof </a></li>
<li><a href="#solidaryAsk">solidaryAsk </a></li>
<li><a href="#solidaryAskHistory">solidaryAskHistory </a></li>
<li><a href="#solidaryUserStructure">solidaryUserStructure </a></li>
<li><a href="#authItem">authItem </a></li>
<li><a href="#authRule">authRule </a></li>
<li><a href="#authItem_child">authItem_child </a></li>
<li><a href="#app_authItem">app_authItem </a></li>
<li><a href="#user_auth_assignment">user_auth_assignment </a></li>
<li><a href="#solidaryMatching">solidaryMatching </a></li>
<li><a href="#direction_territory">direction_territory </a></li>
<li><a href="#address_territory">address_territory </a></li>
<li><a href="#pushToken">pushToken </a></li>
<li><a href="#operate">operate </a></li>
<li><a href="#carpoolItem">carpoolItem </a></li>
<li><a href="#carpoolPayment">carpoolPayment </a></li>
<li><a href="#carpoolItem_carpoolPayment">carpoolItem_carpoolPayment </a></li>
<li><a href="#paymentProfile">paymentProfile </a></li>
</ul>
<a id="user"></a><table style="width:100%"><caption>Table: user </caption>
<tr><td>Table Comments</td><td colspan="6">User table</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>status</td><td>TINYINT</td><td>Yes</td><td>No</td><td>No</td><td>1</td><td>User status (1 = active; 2 = disabled; 3 = anonymized)</td></tr>
<tr><td>givenName</td><td>VARCHAR(100)</td><td>No</td><td>No</td><td>No</td><td></td><td>First name</td></tr>
<tr><td>familyName</td><td>VARCHAR(100)</td><td>No</td><td>No</td><td>No</td><td></td><td>Family name</td></tr>
<tr><td>email</td><td>VARCHAR(100)</td><td>No</td><td>No</td><td>No</td><td></td><td>Email</td></tr>
<tr><td>password</td><td>VARCHAR(100)</td><td>No</td><td>No</td><td>No</td><td></td><td>Password</td></tr>
<tr><td>gender</td><td>SMALLINT</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Gender
1=female
2=male
3=nc</td></tr>
<tr><td>nationality</td><td>VARCHAR(100)</td><td>No</td><td>No</td><td>No</td><td></td><td>Nationality</td></tr>
<tr><td>birthDate</td><td>DATE</td><td>No</td><td>No</td><td>No</td><td></td><td>B‏irth date</td></tr>
<tr><td>telephone</td><td>VARCHAR(255)</td><td>No</td><td>No</td><td>No</td><td></td><td>Telephone number</td></tr>
<tr><td>maxDetourDuration</td><td>INT</td><td>No</td><td>No</td><td>No</td><td>600</td><td>Maximum detour duration (in seconds) as a driver to accept a request proposal</td></tr>
<tr><td>maxDetourDistance</td><td>INT</td><td>No</td><td>No</td><td>No</td><td>5000</td><td>Maximum detour length (in metres) as a driver to accept a request proposal</td></tr>
<tr><td>anyRouteAsPassenger</td><td>TINYINT(1)</td><td>No</td><td>No</td><td>No</td><td>1</td><td>The user accepts any route as a passenger from its origin to the destination</td></tr>
<tr><td>multiTransportMode</td><td>TINYINT(1)</td><td>No</td><td>No</td><td>No</td><td></td><td>The user accepts other transportation modes</td></tr>
<tr><td>kmPrice</td><td>DECIMAL(4,2)</td><td>No</td><td>No</td><td>No</td><td></td><td>Price per km</td></tr>
<tr><td>createdDate</td><td>DATETIME</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Creation date</td></tr>
<tr><td>updatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Update date</td></tr>
<tr><td>pwdToken</td><td>VARCHAR(100)</td><td>No</td><td>No</td><td>No</td><td></td><td>Token for password modification</td></tr>
<tr><td>pwdTokenDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Date of password token generation modification</td></tr>
<tr><td>language</td><td>VARCHAR(10)</td><td>No</td><td>No</td><td>No</td><td></td><td>Language</td></tr>
<tr><td>validatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Email validation date</td></tr>
<tr><td>emailToken</td><td>VARCHAR(100)</td><td>No</td><td>No</td><td>No</td><td></td><td>Email validation token</td></tr>
<tr><td>smoke</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td></td><td>Smoking preference : 
0 = i don't smoke
1 = i don't smoke in car
2 = i smoke</td></tr>
<tr><td>music</td><td>TINYINT(1)</td><td>No</td><td>No</td><td>No</td><td></td><td>Music preferences : 
0 = no music
1 = i listen to music or radio</td></tr>
<tr><td>musicFavorites</td><td>VARCHAR(255)</td><td>No</td><td>No</td><td>No</td><td></td><td>Music favorites</td></tr>
<tr><td>chat</td><td>TINYINT(1)</td><td>No</td><td>No</td><td>No</td><td></td><td>Chat preferences :
0 = no chat
1 = chat</td></tr>
<tr><td>chatFavorites</td><td>VARCHAR(255)</td><td>No</td><td>No</td><td>No</td><td></td><td>Chat favorite subjects</td></tr>
<tr><td>newsSubscription</td><td>TINYINT(1)</td><td>No</td><td>No</td><td>No</td><td></td><td>News subscription</td></tr>
<tr><td>phoneToken</td><td>VARCHAR(100)</td><td>No</td><td>No</td><td>No</td><td></td><td>Phone token validation</td></tr>
<tr><td>phoneValidatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Validation date of the phone number</td></tr>
<tr><td>phoneDisplay</td><td>SMALLINT</td><td>No</td><td>No</td><td>No</td><td></td><td>Phone number display policy : 
1 = restricted
2 = all access</td></tr>
<tr><td>mobile</td><td>TINYINT(1)</td><td>No</td><td>No</td><td>No</td><td></td><td>Mobile user</td></tr>
<tr><td>proEmail</td><td>VARCHAR(255)</td><td>No</td><td>No</td><td>No</td><td></td><td>Email used for pro context (mass mailing...)</td></tr>
<tr><td>proName</td><td>VARCHAR(255)</td><td>No</td><td>No</td><td>No</td><td></td><td>Name used for pro context (mass mailing...)</td></tr>
<tr><td>iduserDelegate</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>Delegate user if the user is created by an admin</td></tr>
<tr><td>idsolidaryUser</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>Solidary user</td></tr>
<tr><td>lastActivityDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Date of last activity</td></tr>
<tr><td>facebookId</td><td>VARCHAR(255)</td><td>No</td><td>No</td><td>No</td><td></td><td>Facebook ID</td></tr>
<tr><td>unsubscribeToken</td><td>VARCHAR(255)</td><td>No</td><td>No</td><td>No</td><td></td><td>Token for news unsubscription</td></tr>
<tr><td>unsubscribeDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>News unsubscription date</td></tr>
</table><a href="#home">Table List </a></br>
<a id="proposal"></a><table style="width:100%"><caption>Table: proposal </caption>
<tr><td>Table Comments</td><td colspan="6">Proposal table :

- an offer from a driver
- a request from a passenger

An offer consists in 2 or more waypoints : 
- an origin point
- a destination point
- zero or more middle points

The origin point is numbered 0, other points are incremented.

A request is initially composed of 2 waypoints : 
- an origin point
- a destination point

The origin point is numbered 0, the destination point is numbered 1.

In the event of a multimodal route, the original proposal is saved and a calculated route is made. This calculated route may be composed of additional points linked with other travel modes than carpooling.

The proposal is linked with offer or request criteria.

</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>idcriteria</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Request or offer criteria
</td></tr>
<tr><td>idproposalLinked</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>Linked proposal for a round trip (return or outward journey), or linked proposal for dynamic carpooling (new proposal after passenger acceptation)</td></tr>
<tr><td>iduser</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>User for whom the proposal is submitted (in general the user itself, except when it is a "posting for"). Can be  null for anonymous search.</td></tr>
<tr><td>type</td><td>TINYINT</td><td>Yes</td><td>No</td><td>No</td><td>1</td><td>Proposal type : 
1 : one way trip
2 : outward of a round trip
3 : return of a round trip</td></tr>
<tr><td>exposed</td><td>TINYINT(1)</td><td>No</td><td>No</td><td>No</td><td></td><td>Exposed proposal : can be publicly visible via a link</td></tr>
<tr><td>externalId</td><td>VARCHAR(20)</td><td>No</td><td>No</td><td>No</td><td></td><td>External ID : used to mask the real id for external requests</td></tr>
<tr><td>seo</td><td>TINYINT(1)</td><td>No</td><td>No</td><td>No</td><td></td><td>Proposal well suited for SEO optimization</td></tr>
<tr><td>dynamic</td><td>TINYINT(1)</td><td>No</td><td>No</td><td>No</td><td></td><td>Dynamic carpool (real-time)</td></tr>
<tr><td>active</td><td>TINYINT(1)</td><td>No</td><td>No</td><td>No</td><td></td><td>The dynamic carpool proposal is active. A passenger proposal is set to inactive when an ask is accepted, a driver proposal is set to inactive when no more passenger can be involved.</td></tr>
<tr><td>finished</td><td>TINYINT(1)</td><td>No</td><td>No</td><td>No</td><td></td><td>The dynamic carpool proposal is finished. An ad is set to finished when it is manually stopped, or when the destination is reached.</td></tr>
<tr><td>private</td><td>TINYINT(1)</td><td>No</td><td>No</td><td>No</td><td></td><td>Private proposal. A private proposal can't be the found in the result of a search.</td></tr>
<tr><td>paused</td><td>TINYINT(1)</td><td>No</td><td>No</td><td>No</td><td></td><td>Paused proposal. A paused proposal can't be the found in the result of a search, and can be unpaused at any moment. </td></tr>
<tr><td>comment</td><td>TEXT</td><td>No</td><td>No</td><td>No</td><td></td><td>Comment</td></tr>
<tr><td>createdDate</td><td>DATETIME</td><td>Yes</td><td>No</td><td>No</td><td></td><td>A comment about the proposal</td></tr>
<tr><td>updatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Update date</td></tr>
<tr><td>iduserDelegate</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>User that create the proposal for another user</td></tr>
<tr><td>idevent</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>Event linked with the proposal</td></tr>
<tr><td>external</td><td>VARCHAR(255)</td><td>No</td><td>No</td><td>No</td><td></td><td>The external origin of this proposal (i.e. for an RDEX request we store the public api key)</td></tr>
<tr><td>idsubject</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>A proposal can be linked to a specific solidary subject</td></tr>
</table><a href="#home">Table List </a></br>
<a id="ask"></a><table style="width:100%"><caption>Table: ask </caption>
<tr><td>Table Comments</td><td colspan="6">An ask made by a user (as a driver or passenger) after matching between an offer and a request.
The user that creates the ask is either the driver or the passenger.</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>iduser</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>User for whome the ask is created (in general the user itself, except when it is a "posting for")</td></tr>
<tr><td>iduserRelated</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>User who is the recipient of the ask</td></tr>
<tr><td>idmatching</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Matching</td></tr>
<tr><td>idcriteria</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Criteria</td></tr>
<tr><td>idask</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>Linked ask if a user proposes another ask</td></tr>
<tr><td>idaskLinked</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>Linked ask for return trip</td></tr>
<tr><td>idaskOpposite</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>Related ask for opposite role : driver ask if the current ask is as passenger, passenger ask if the current ask is as driver.
Used when the ask is created with an undefined role. </td></tr>
<tr><td>iduserDelegate</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>User that create the ask for another user</td></tr>
<tr><td>status</td><td>TINYINT</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Ask status : 
1 : initiated
2 : pending with requester as driver
3 : pending with requester as passenger
4 : accepted with requester as driver
5 : accepted with requester as passenger
6 : declined with requester as driver
7 : declined with requester as passenger</td></tr>
<tr><td>type</td><td>TINYINT</td><td>Yes</td><td>No</td><td>No</td><td>1</td><td>Ask type : 
1 : one way trip
2 : outward of a round trip
3 : return of a round trip</td></tr>
<tr><td>createdDate</td><td>DATETIME</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Creation date of the ask</td></tr>
<tr><td>updatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Update date</td></tr>
</table><a href="#home">Table List </a></br>
<a id="matching"></a><table style="width:100%"><caption>Table: matching </caption>
<tr><td>Table Comments</td><td colspan="6">Matching between offer and request
Must be computed after each proposal add
Matching may be partial (only between certain points)</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>idproposalOffer</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Offer proposal</td></tr>
<tr><td>idproposalRequest</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Request proposal</td></tr>
<tr><td>idcriteria</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Criteria used for the matching (may be a combination of offer and request criteria)</td></tr>
<tr><td>createdDate</td><td>DATETIME</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Creation date of the matching</td></tr>
<tr><td>updatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Update date</td></tr>
<tr><td>idmatchingLinked</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>Linked matching for return trip</td></tr>
<tr><td>idmatchingOpposite</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>Opposite matching (if proposal and request can be switched, so if driver and passenger can switch roles)</td></tr>
<tr><td>originalDistance</td><td>INT</td><td>No</td><td>No</td><td>No</td><td></td><td>Original distance of the driver in metres</td></tr>
<tr><td>acceptedDetourDistance</td><td>INT</td><td>No</td><td>No</td><td>No</td><td></td><td>Accepted detour distance of the driver in metres</td></tr>
<tr><td>newDistance</td><td>INT</td><td>No</td><td>No</td><td>No</td><td></td><td>New distance of the driver including the detour in metres</td></tr>
<tr><td>detourDistance</td><td>INT</td><td>No</td><td>No</td><td>No</td><td></td><td>Detour distance of the driver in metres</td></tr>
<tr><td>detourDistancePercent</td><td>DECIMAL(5,2)</td><td>No</td><td>No</td><td>No</td><td></td><td>Detour distance of the driver in percentage of the original distance</td></tr>
<tr><td>originalDuration</td><td>INT</td><td>No</td><td>No</td><td>No</td><td></td><td>Original duration of the driver in seconds</td></tr>
<tr><td>acceptedDetourDuration</td><td>INT</td><td>No</td><td>No</td><td>No</td><td></td><td>Accepted detour duration of the driver in seconds</td></tr>
<tr><td>newDuration</td><td>INT</td><td>No</td><td>No</td><td>No</td><td></td><td>New duration including the detour of the driver in seconds</td></tr>
<tr><td>detourDuration</td><td>INT</td><td>No</td><td>No</td><td>No</td><td></td><td>Detour duration of the driver in seconds</td></tr>
<tr><td>detourDurationPercent</td><td>DECIMAL(5,2)</td><td>No</td><td>No</td><td>No</td><td></td><td>Detour duration of the driver in percentage of the original duration</td></tr>
<tr><td>commonDistance</td><td>INT</td><td>No</td><td>No</td><td>No</td><td></td><td>Common distance in metres</td></tr>
<tr><td>pickUpDuration</td><td>INT</td><td>No</td><td>No</td><td>No</td><td></td><td>Duration till the pickup of the passenger in seconds</td></tr>
<tr><td>dropOffDuration</td><td>INT</td><td>No</td><td>No</td><td>No</td><td></td><td>Duration till the dropoff of the passenger in seconds</td></tr>
</table><a href="#home">Table List </a></br>
<a id="waypoint"></a><table style="width:100%"><caption>Table: waypoint </caption>
<tr><td>Table Comments</td><td colspan="6">Table of waypoints for a route.

A waypoint is created by a user who wants to travel by certain points.
</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>idproposal</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>Proposal if the waypoint is a proposal waypoint</td></tr>
<tr><td>idmatching</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>Matching if the waypoint is a matching waypoint (calculated by the georouting algorythm)</td></tr>
<tr><td>idask</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>Ask if the waypoint is an ask waypoint (calculated by the georouting algorythm and potentially modified by the user that creates the ask)</td></tr>
<tr><td>position</td><td>TINYINT</td><td>Yes</td><td>No</td><td>No</td><td>0</td><td>Position number</td></tr>
<tr><td>destination</td><td>TINYINT</td><td>Yes</td><td>No</td><td>No</td><td>0</td><td>True if it's the last point</td></tr>
<tr><td>floating</td><td>TINYINT(1)</td><td>No</td><td>No</td><td>No</td><td></td><td>The waypoint is a floating waypoint (for dynamic carpooling).</td></tr>
<tr><td>reached</td><td>TINYINT(1)</td><td>No</td><td>No</td><td>No</td><td></td><td>The waypoint has been reached during a dynamic carpooling</td></tr>
<tr><td>idaddress</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Address</td></tr>
<tr><td>createdDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Creation date</td></tr>
<tr><td>updatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Update date</td></tr>
<tr><td>role</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td></td><td>Role concerned by the waypoint in case of potential carpooling
1 : driver
2 : passenger</td></tr>
<tr><td>duration</td><td>INT</td><td>No</td><td>No</td><td>No</td><td></td><td>Duration from the start in seconds</td></tr>
</table><a href="#home">Table List </a></br>
<a id="criteria"></a><table style="width:100%"><caption>Table: criteria </caption>
<tr><td>Table Comments</td><td colspan="6">Criteria table : 
- for an offer : restriction criteria
- for a request : select criteria</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>driver</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td></td><td>The user is driver</td></tr>
<tr><td>passenger</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td></td><td>The user is passenger</td></tr>
<tr><td>frequency</td><td>TINYINT</td><td>Yes</td><td>No</td><td>No</td><td>1</td><td>Proposal frequency : 
1 : punctual
2 : regular</td></tr>
<tr><td>seatsDriver</td><td>INT</td><td>Yes</td><td>No</td><td>No</td><td>1</td><td>Number of seats available for a driver</td></tr>
<tr><td>seatsPassenger</td><td>INT</td><td>Yes</td><td>No</td><td>No</td><td>1</td><td>The number of requested seats for a passenger.</td></tr>
<tr><td>fromDate</td><td>DATE</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Starting date (=proposal date if punctual)</td></tr>
<tr><td>fromTime</td><td>TIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Starting time</td></tr>
<tr><td>minTime</td><td>TIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Starting time min</td></tr>
<tr><td>maxTime</td><td>TIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Starting time max</td></tr>
<tr><td>marginDuration</td><td>INT</td><td>No</td><td>No</td><td>No</td><td></td><td>Margin duration in seconds if punctual</td></tr>
<tr><td>strictDate</td><td>TINYINT(1)</td><td>No</td><td>No</td><td>No</td><td></td><td>For a punctual proposal, accept only matchings for the define fromDate (no matchings for fluctuant dates)</td></tr>
<tr><td>strictPunctual</td><td>TINYINT(1)</td><td>No</td><td>No</td><td>No</td><td></td><td>For punctual proposals, the user accepts only matchings with punctual trips (no regular trips)</td></tr>
<tr><td>strictRegular</td><td>TINYINT(1)</td><td>No</td><td>No</td><td>No</td><td></td><td>For regular proposals, the user accepts only matchings with regular trips (no punctual trips)</td></tr>
<tr><td>toDate</td><td>DATE</td><td>No</td><td>No</td><td>No</td><td></td><td>End date if regular proposal</td></tr>
<tr><td>monCheck</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td>0</td><td>Proposal is available on mondays (if regular)</td></tr>
<tr><td>tueCheck</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td>0</td><td>Proposal is available on tuesdays (if regular)</td></tr>
<tr><td>wedCheck</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td>0</td><td>Proposal is available on wednesdays (if regular)</td></tr>
<tr><td>thuCheck</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td>0</td><td>Proposal is available on thursdays (if regular)</td></tr>
<tr><td>friCheck</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td>0</td><td>Proposal is available on fridays (if regular)</td></tr>
<tr><td>satCheck</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td>0</td><td>Proposal is available on saturdays (if regular)</td></tr>
<tr><td>sunCheck</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td>0</td><td>Proposal is available on sundays (if regular)</td></tr>
<tr><td>monTime</td><td>TIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Mondays starting time (if regular)</td></tr>
<tr><td>monMarginDuration</td><td>INT</td><td>No</td><td>No</td><td>No</td><td></td><td>Accepted margin for monday starting time in seconds</td></tr>
<tr><td>monMinTime</td><td>TIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Mondays min starting time (if regular)</td></tr>
<tr><td>monMaxTime</td><td>TIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Mondays max starting time (if regular)</td></tr>
<tr><td>tueTime</td><td>TIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Tuesdays starting time (if regular)</td></tr>
<tr><td>tueMarginDuration</td><td>INT</td><td>No</td><td>No</td><td>No</td><td></td><td>Accepted margin for tuesday starting time in seconds</td></tr>
<tr><td>tueMinTime</td><td>TIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Tuesdays min starting time (if regular)</td></tr>
<tr><td>tueMaxTime</td><td>TIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Tuesdays max starting time (if regular)</td></tr>
<tr><td>wedTime</td><td>TIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Wednesdays starting time (if regular)</td></tr>
<tr><td>wedMarginDuration</td><td>INT</td><td>No</td><td>No</td><td>No</td><td></td><td>Accepted margin for wednesday starting time in seconds</td></tr>
<tr><td>wedMinTime</td><td>TIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Wednesdays min starting time (if regular)</td></tr>
<tr><td>wedMaxTime</td><td>TIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Wednesdays max starting time (if regular)</td></tr>
<tr><td>thuTime</td><td>TIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Thursday starting time (if regular)</td></tr>
<tr><td>thuMarginDuration</td><td>INT</td><td>No</td><td>No</td><td>No</td><td></td><td>Accepted margin for thursday starting time in seconds</td></tr>
<tr><td>thuMinTime</td><td>TIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Thursday min starting time (if regular)</td></tr>
<tr><td>thuMaxTime</td><td>TIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Thursday max starting time (if regular)</td></tr>
<tr><td>friTime</td><td>TIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Fridays starting time (if regular)</td></tr>
<tr><td>friMarginDuration</td><td>INT</td><td>No</td><td>No</td><td>No</td><td></td><td>Accepted margin for friday starting time in seconds</td></tr>
<tr><td>friMinTime</td><td>TIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Fridays min starting time (if regular)</td></tr>
<tr><td>friMaxTime</td><td>TIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Fridays max starting time (if regular)</td></tr>
<tr><td>satTime</td><td>TIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Saturdays starting time (if regular)</td></tr>
<tr><td>satMarginDuration</td><td>INT</td><td>No</td><td>No</td><td>No</td><td></td><td>Accepted margin for saturday starting time in seconds</td></tr>
<tr><td>satMinTime</td><td>TIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Saturdays min starting time (if regular)</td></tr>
<tr><td>satMaxTime</td><td>TIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Saturdays max starting time (if regular)</td></tr>
<tr><td>sunTime</td><td>TIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Sundays starting time (if regular)</td></tr>
<tr><td>sunMarginDuration</td><td>INT</td><td>No</td><td>No</td><td>No</td><td></td><td>Accepted margin for sunday starting time in seconds</td></tr>
<tr><td>sunMinTime</td><td>TIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Sundays min starting time (if regular)</td></tr>
<tr><td>sunMaxTime</td><td>TIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Sundays max starting time (if regular)</td></tr>
<tr><td>maxDetourDuration</td><td>INT</td><td>No</td><td>No</td><td>No</td><td>600</td><td>Maximum detour time (in seconds) as a driver to accept a request proposal</td></tr>
<tr><td>maxDetourDistance</td><td>INT</td><td>No</td><td>No</td><td>No</td><td>5000</td><td>Maximum detour length (in metres) as a driver to accept a request proposal</td></tr>
<tr><td>anyRouteAsPassenger</td><td>TINYINT(1)</td><td>No</td><td>No</td><td>No</td><td>1</td><td>The user accepts any route as a passenger from its origin to the destination</td></tr>
<tr><td>multiTransportMode</td><td>TINYINT(1)</td><td>No</td><td>No</td><td>No</td><td></td><td>The user accepts other transportation modes</td></tr>
<tr><td>priceKm</td><td>DECIMAL(6,2)</td><td>No</td><td>No</td><td>No</td><td></td><td>Price per km</td></tr>
<tr><td>driverPrice</td><td>DECIMAL(6,2)</td><td>No</td><td>No</td><td>No</td><td></td><td>The total price selected by the user as a driver.</td></tr>
<tr><td>driverComputedPrice</td><td>DECIMAL(6,2)</td><td>No</td><td>No</td><td>No</td><td></td><td>The total price computed by the system, using the user price per km, not rounded, as a driver</td></tr>
<tr><td>driverComputedRoundedPrice</td><td>DECIMAL(6,2)</td><td>No</td><td>No</td><td>No</td><td></td><td>The driver computed price rounded using the rounding rules</td></tr>
<tr><td>driverMasterPrice</td><td>DECIMAL(6,2)</td><td>No</td><td>No</td><td>No</td><td></td><td>The driver master price to use. It's the price if it's not null, otherwise the computedPrice</td></tr>
<tr><td>passengerPrice</td><td>DECIMAL(6,2)</td><td>No</td><td>No</td><td>No</td><td></td><td>The total price selected by the user as a passenger.</td></tr>
<tr><td>passengerComputedPrice</td><td>DECIMAL(6,2)</td><td>No</td><td>No</td><td>No</td><td></td><td>The total price computed by the system, using the user price per km, not rounded, as a passenger</td></tr>
<tr><td>passengerComputedRoundedPrice</td><td>DECIMAL(6,2)</td><td>No</td><td>No</td><td>No</td><td></td><td>The passenger computed price rounded using the rounding rules</td></tr>
<tr><td>passengerMasterPrice</td><td>DECIMAL(6,2)</td><td>No</td><td>No</td><td>No</td><td></td><td>The passenger master price to use. It's the price if it's not null, otherwise the computedPrice</td></tr>
<tr><td>luggage</td><td>TINYINT(1)</td><td>No</td><td>No</td><td>No</td><td></td><td>Big luggage accepted / asked.</td></tr>
<tr><td>bike</td><td>TINYINT(1)</td><td>No</td><td>No</td><td>No</td><td></td><td>Bike accepted / asked.</td></tr>
<tr><td>backSeats</td><td>TINYINT(1)</td><td>No</td><td>No</td><td>No</td><td></td><td>2 passengers max on the back seats</td></tr>
<tr><td>solidary</td><td>TINYINT(1)</td><td>No</td><td>No</td><td>No</td><td></td><td>Solidary request (from a solidary user or via an admin)</td></tr>
<tr><td>solidaryExclusive</td><td>TINYINT(1)</td><td>No</td><td>No</td><td>No</td><td></td><td>Solidary exclusive (usually from a driver who wants to make the travel for solidary requests only)</td></tr>
<tr><td>avoidMotorway</td><td>TINYINT(1)</td><td>No</td><td>No</td><td>No</td><td></td><td>Avoid motorway</td></tr>
<tr><td>avoidToll</td><td>TINYINT(1)</td><td>No</td><td>No</td><td>No</td><td></td><td>Avoid toll</td></tr>
<tr><td>idcar</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>Car used as a driver</td></tr>
<tr><td>iddirectionDriver</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>Direction calculated by the georouter as a driver</td></tr>
<tr><td>iddirectionPassenger</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>Direction calculated by the georouter as a passenger</td></tr>
<tr><td>idptjourney</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>Public transport journey in case of combined transport</td></tr>
<tr><td>createdDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Creation date</td></tr>
<tr><td>updatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Update date</td></tr>
</table><a href="#home">Table List </a></br>
<a id="address"></a><table style="width:100%"><caption>Table: address </caption>
<tr><td>Table Comments</td><td colspan="6">Address table. The address contains the geopoint to keep things simple.</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>layer</td><td>INT</td><td>No</td><td>No</td><td>No</td><td></td><td>The layer identified for the address :
1 : locality
2 : full address</td></tr>
<tr><td>houseNumber</td><td>VARCHAR(45)</td><td>No</td><td>No</td><td>No</td><td></td><td>House number</td></tr>
<tr><td>street</td><td>VARCHAR(255)</td><td>No</td><td>No</td><td>No</td><td></td><td>Street</td></tr>
<tr><td>streetAddress</td><td>VARCHAR(255)</td><td>No</td><td>No</td><td>No</td><td></td><td>Street address</td></tr>
<tr><td>postalCode</td><td>VARCHAR(15)</td><td>No</td><td>No</td><td>No</td><td></td><td>Postal code</td></tr>
<tr><td>subLocality</td><td>VARCHAR(100)</td><td>No</td><td>No</td><td>No</td><td></td><td>Sub locality</td></tr>
<tr><td>addressLocality</td><td>VARCHAR(100)</td><td>No</td><td>No</td><td>No</td><td></td><td>Locality</td></tr>
<tr><td>localAdmin</td><td>VARCHAR(100)</td><td>No</td><td>No</td><td>No</td><td></td><td>Local admin</td></tr>
<tr><td>county</td><td>VARCHAR(100)</td><td>No</td><td>No</td><td>No</td><td></td><td>County</td></tr>
<tr><td>macroCounty</td><td>VARCHAR(100)</td><td>No</td><td>No</td><td>No</td><td></td><td>Macro county</td></tr>
<tr><td>region</td><td>VARCHAR(100)</td><td>No</td><td>No</td><td>No</td><td></td><td>Region</td></tr>
<tr><td>macroRegion</td><td>VARCHAR(100)</td><td>No</td><td>No</td><td>No</td><td></td><td>Macro region</td></tr>
<tr><td>addressCountry</td><td>VARCHAR(100)</td><td>No</td><td>No</td><td>No</td><td></td><td>Country</td></tr>
<tr><td>countryCode</td><td>VARCHAR(10)</td><td>No</td><td>No</td><td>No</td><td></td><td>Country code</td></tr>
<tr><td>longitude</td><td>DECIMAL(9,6)</td><td>No</td><td>No</td><td>No</td><td></td><td>Longitude</td></tr>
<tr><td>latitude</td><td>DECIMAL(9,6)</td><td>No</td><td>No</td><td>No</td><td></td><td>Latitude</td></tr>
<tr><td>elevation</td><td>DECIMAL(8,2)</td><td>No</td><td>No</td><td>No</td><td></td><td>Elevation in metres</td></tr>
<tr><td>name</td><td>VARCHAR(45)</td><td>No</td><td>No</td><td>No</td><td></td><td>A name for this address</td></tr>
<tr><td>venue</td><td>VARCHAR(255)</td><td>No</td><td>No</td><td>No</td><td>1</td><td>Venue name for this address</td></tr>
<tr><td>iduser</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>The owner of the address</td></tr>
<tr><td>geoJson</td><td>POINT</td><td>No</td><td>No</td><td>No</td><td></td><td>The geoJson representation of the address</td></tr>
<tr><td>home</td><td>TINYINT(1)</td><td>No</td><td>No</td><td>No</td><td></td><td>Home address</td></tr>
<tr><td>createdDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Creation date</td></tr>
<tr><td>updatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Update date</td></tr>
<tr><td>homeImported</td><td>TINYINT(1)</td><td>No</td><td>No</td><td>No</td><td></td><td>The address is a home address auto imported (not filled by the user itself).</td></tr>
</table><a href="#home">Table List </a></br>
<a id="ptjourney"></a><table style="width:100%"><caption>Table: ptjourney </caption>
<tr><td>Table Comments</td><td colspan="6">Public transport journey</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>distance</td><td>INT</td><td>No</td><td>No</td><td>No</td><td></td><td>Distance in metres</td></tr>
<tr><td>duration</td><td>VARCHAR(100)</td><td>No</td><td>No</td><td>No</td><td></td><td>Duration in ISO8601 format</td></tr>
<tr><td>price</td><td>DECIMAL(4,2)</td><td>No</td><td>No</td><td>No</td><td></td><td>Price</td></tr>
<tr><td>co2</td><td>INT</td><td>No</td><td>No</td><td>No</td><td></td><td>CO2</td></tr>
<tr><td>changeNumber</td><td>INT</td><td>No</td><td>No</td><td>No</td><td></td><td>Number of changes</td></tr>
<tr><td>idptdeparture</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Departure</td></tr>
<tr><td>idptarrival</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Arrival</td></tr>
</table><a href="#home">Table List </a></br>
<a id="ptdeparture"></a><table style="width:100%"><caption>Table: ptdeparture </caption>
<tr><td>Table Comments</td><td colspan="6">Public transport departure</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>name</td><td>VARCHAR(45)</td><td>No</td><td>No</td><td>No</td><td></td><td>Name</td></tr>
<tr><td>date</td><td>DATETIME</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Date</td></tr>
<tr><td>idaddress</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Address</td></tr>
<tr><td>idindividualStop</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>Individual stop if multimodal using carpool</td></tr>
</table><a href="#home">Table List </a></br>
<a id="ptarrival"></a><table style="width:100%"><caption>Table: ptarrival </caption>
<tr><td>Table Comments</td><td colspan="6">Public transport arrival</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>name</td><td>VARCHAR(45)</td><td>No</td><td>No</td><td>No</td><td></td><td>Name</td></tr>
<tr><td>date</td><td>DATETIME</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Date</td></tr>
<tr><td>idaddress</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Address</td></tr>
<tr><td>idindividualStop</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>Individual stop if multimodal using carpool</td></tr>
</table><a href="#home">Table List </a></br>
<a id="ptleg"></a><table style="width:100%"><caption>Table: ptleg </caption>
<tr><td>Table Comments</td><td colspan="6">Public transport leg</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>indication</td><td>TEXT</td><td>No</td><td>No</td><td>No</td><td></td><td>Textual indication</td></tr>
<tr><td>distance</td><td>INT</td><td>No</td><td>No</td><td>No</td><td></td><td>Distance in metres</td></tr>
<tr><td>duration</td><td>VARCHAR(100)</td><td>No</td><td>No</td><td>No</td><td></td><td>Duration in ISO8601 format</td></tr>
<tr><td>pos</td><td>INT</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Position in the journey</td></tr>
<tr><td>lastLeg</td><td>TINYINT</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Last leg of the journey</td></tr>
<tr><td>magneticDirection</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td></td><td>Magnetic direction</td></tr>
<tr><td>relativeDirection</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td></td><td>Relative direction</td></tr>
<tr><td>idptjourney</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Journey</td></tr>
<tr><td>idptdeparture</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>Departure</td></tr>
<tr><td>idptarrival</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>Arrival</td></tr>
<tr><td>idptline</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>Line</td></tr>
<tr><td>direction</td><td>VARCHAR(45)</td><td>No</td><td>No</td><td>No</td><td></td><td>Direction of the line</td></tr>
<tr><td>idtravelMode</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Travel mode</td></tr>
</table><a href="#home">Table List </a></br>
<a id="ptline"></a><table style="width:100%"><caption>Table: ptline </caption>
<tr><td>Table Comments</td><td colspan="6">Public transport line</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>name</td><td>VARCHAR(45)</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Name</td></tr>
<tr><td>origin</td><td>VARCHAR(45)</td><td>No</td><td>No</td><td>No</td><td></td><td>Origin</td></tr>
<tr><td>destination</td><td>VARCHAR(45)</td><td>No</td><td>No</td><td>No</td><td></td><td>Destination</td></tr>
<tr><td>direction</td><td>VARCHAR(255)</td><td>No</td><td>No</td><td>No</td><td></td><td>Direction if no origin/destination</td></tr>
<tr><td>number</td><td>VARCHAR(10)</td><td>No</td><td>No</td><td>No</td><td></td><td>Line number</td></tr>
<tr><td>idptcompany</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Company</td></tr>
<tr><td>idtravelMode</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Travel mode</td></tr>
</table><a href="#home">Table List </a></br>
<a id="ptcompany"></a><table style="width:100%"><caption>Table: ptcompany </caption>
<tr><td>Table Comments</td><td colspan="6">Public transport company</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>name</td><td>VARCHAR(45)</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Name</td></tr>
</table><a href="#home">Table List </a></br>
<a id="ptstep"></a><table style="width:100%"><caption>Table: ptstep </caption>
<tr><td>Table Comments</td><td colspan="6">Public transport step</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>distance</td><td>INT</td><td>No</td><td>No</td><td>No</td><td></td><td>Distance in metres</td></tr>
<tr><td>duration</td><td>VARCHAR(100)</td><td>No</td><td>No</td><td>No</td><td></td><td>Duration in ISO8601 format</td></tr>
<tr><td>pos</td><td>INT</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Position of the step in the leg</td></tr>
<tr><td>lastStep</td><td>TINYINT</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Last step of the leg</td></tr>
<tr><td>magneticDirection</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td></td><td>Magnetic direction</td></tr>
<tr><td>relativeDirection</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td></td><td>Relative direction</td></tr>
<tr><td>idptleg</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Leg</td></tr>
<tr><td>idptdeparture</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Departure</td></tr>
<tr><td>idptarrival</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Arrival</td></tr>
</table><a href="#home">Table List </a></br>
<a id="car"></a><table style="width:100%"><caption>Table: car </caption>
<tr><td>Table Comments</td><td colspan="6">A car of a user</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>brand</td><td>VARCHAR(45)</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Brand</td></tr>
<tr><td>model</td><td>VARCHAR(45)</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Model</td></tr>
<tr><td>color</td><td>VARCHAR(45)</td><td>No</td><td>No</td><td>No</td><td></td><td>Color</td></tr>
<tr><td>siv</td><td>VARCHAR(45)</td><td>No</td><td>No</td><td>No</td><td></td><td>Identification of the vehicle</td></tr>
<tr><td>seats</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td></td><td>Number of seats available for carpooling</td></tr>
<tr><td>kmPrice</td><td>DECIMAL(4,2)</td><td>No</td><td>No</td><td>No</td><td></td><td>Price per km</td></tr>
<tr><td>iduser</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>User</td></tr>
<tr><td>createdDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Creation date</td></tr>
<tr><td>updatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Update date</td></tr>
</table><a href="#home">Table List </a></br>
<a id="direction"></a><table style="width:100%"><caption>Table: direction </caption>
<tr><td>Table Comments</td><td colspan="6">Direction to follow between 2 or more points. We keep  the detail of the direction in a textual encoded format to save space and stay simple.</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>distance</td><td>INT</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Distance in metres</td></tr>
<tr><td>duration</td><td>INT</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Duration in seconds (based on real distance)</td></tr>
<tr><td>ascend</td><td>INT</td><td>No</td><td>No</td><td>No</td><td></td><td>The total ascend of the route in meter</td></tr>
<tr><td>descend</td><td>INT</td><td>No</td><td>No</td><td>No</td><td></td><td>The total descend of the route in meter</td></tr>
<tr><td>bboxMinLon</td><td>DECIMAL(9,6)</td><td>No</td><td>No</td><td>No</td><td></td><td>The minimum longitude of the bounding box of the route</td></tr>
<tr><td>bboxMinLat</td><td>DECIMAL(9,6)</td><td>No</td><td>No</td><td>No</td><td></td><td>The minimum latitude of the bounding box of the route</td></tr>
<tr><td>bboxMaxLon</td><td>DECIMAL(9,6)</td><td>No</td><td>No</td><td>No</td><td></td><td>The maximum longitude of the bounding box of the route</td></tr>
<tr><td>bboxMaxLat</td><td>DECIMAL(9,6)</td><td>No</td><td>No</td><td>No</td><td></td><td>The maximum latitude of the bounding box of the route</td></tr>
<tr><td>geoJsonBbox</td><td>POLYGON</td><td>No</td><td>No</td><td>No</td><td></td><td>The geoJson representation of the bounding box</td></tr>
<tr><td>bearing</td><td>INT</td><td>No</td><td>No</td><td>No</td><td></td><td>The initial bearing for the direction in degrees related to the north (0°)</td></tr>
<tr><td>detail</td><td>TEXT</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Encoded detail of the direction</td></tr>
<tr><td>geoJsonDetail</td><td>LINESTRING</td><td>No</td><td>No</td><td>No</td><td></td><td>The geoJson representation of the detail</td></tr>
<tr><td>geoJsonSimplified</td><td>LINESTRING</td><td>No</td><td>No</td><td>No</td><td></td><td>The simplified geoJson linestring detail of the direction (using the Ramer-Douglas-Peucker algorithm)</td></tr>
<tr><td>snapped</td><td>TEXT</td><td>No</td><td>No</td><td>No</td><td></td><td>Encoded snapped waypoints of the direction</td></tr>
<tr><td>format</td><td>VARCHAR(45)</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Encoding format of the detail</td></tr>
<tr><td>createdDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Creation date</td></tr>
<tr><td>updatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Update date</td></tr>
</table><a href="#home">Table List </a></br>
<a id="travelMode"></a><table style="width:100%"><caption>Table: travelMode </caption>
<tr><td>Table Comments</td><td colspan="6">Travel modes available</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>name</td><td>VARCHAR(45)</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Name</td></tr>
<tr><td>createdDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Creation date</td></tr>
<tr><td>updatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Update date</td></tr>
</table><a href="#home">Table List </a></br>
<a id="proposal_travelMode"></a><table style="width:100%"><caption>Table: proposal_travelMode </caption>
<tr><td>Table Comments</td><td colspan="6">Travel modes accepted by the creator of the proposal</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>idtravelMode</td><td>INT</td><td>Yes</td><td>Yes</td><td>Yes</td><td></td><td>Travel mode</td></tr>
<tr><td>idproposal</td><td>INT</td><td>Yes</td><td>Yes</td><td>Yes</td><td></td><td>Proposal</td></tr>
</table><a href="#home">Table List </a></br>
<a id="individualStop"></a><table style="width:100%"><caption>Table: individualStop </caption>
<tr><td>Table Comments</td><td colspan="6">Individual stop is a virtual public transport stop made from an offer proposal. It is used for multimodal calculation. It is calculated only for offer proposal, in regions that are covered by public transportation.</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>idaddress</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Address</td></tr>
<tr><td>position</td><td>INT</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Position of the stop</td></tr>
<tr><td>delay</td><td>INT</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Estimated stop delay in seconds (calculated with 0 as origin)</td></tr>
<tr><td>idproposal</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Proposal</td></tr>
<tr><td>createdDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Creation date</td></tr>
<tr><td>updatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Update date</td></tr>
</table><a href="#home">Table List </a></br>
<a id="event"></a><table style="width:100%"><caption>Table: event </caption>
<tr><td>Table Comments</td><td colspan="6">An organized activity involving many people</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>name</td><td>VARCHAR(255)</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Name</td></tr>
<tr><td>status</td><td>TINYINT</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Status (active/inactive)</td></tr>
<tr><td>description</td><td>VARCHAR(255)</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Short description</td></tr>
<tr><td>fullDescription</td><td>TEXT</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Full description</td></tr>
<tr><td>fromDate</td><td>DATETIME</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Starting date</td></tr>
<tr><td>toDate</td><td>DATETIME</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Ending date</td></tr>
<tr><td>useTime</td><td>TINYINT(1)</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Use time for dates</td></tr>
<tr><td>url</td><td>VARCHAR(255)</td><td>No</td><td>No</td><td>No</td><td></td><td>An url for the event</td></tr>
<tr><td>createdDate</td><td>DATETIME</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Creation date of the event</td></tr>
<tr><td>updatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Update date</td></tr>
<tr><td>iduser</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>External information link for the event</td></tr>
<tr><td>idaddress</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Address</td></tr>
</table><a href="#home">Table List </a></br>
<a id="image"></a><table style="width:100%"><caption>Table: image </caption>
<tr><td>Table Comments</td><td colspan="6">An image (for a user, an event...)</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>name</td><td>VARCHAR(255)</td><td>No</td><td>No</td><td>No</td><td></td><td>Name</td></tr>
<tr><td>title</td><td>VARCHAR(255)</td><td>No</td><td>No</td><td>No</td><td></td><td>Html title</td></tr>
<tr><td>alt</td><td>VARCHAR(255)</td><td>No</td><td>No</td><td>No</td><td></td><td>Html alt</td></tr>
<tr><td>cropX1</td><td>INT</td><td>No</td><td>No</td><td>No</td><td></td><td>The left coordinate of the crop, in percentage of the full width.</td></tr>
<tr><td>cropY1</td><td>INT</td><td>No</td><td>No</td><td>No</td><td></td><td>The top coordinate of the crop, in percent of the full height.</td></tr>
<tr><td>cropX2</td><td>INT</td><td>No</td><td>No</td><td>No</td><td></td><td>The right coordinate of the crop, in percentage of the full width.</td></tr>
<tr><td>cropY2</td><td>INT</td><td>No</td><td>No</td><td>No</td><td></td><td>The bottom coordinate of the crop, in percent of the full height.</td></tr>
<tr><td>fileName</td><td>VARCHAR(255)</td><td>Yes</td><td>No</td><td>No</td><td></td><td>File name</td></tr>
<tr><td>originalName</td><td>VARCHAR(255)</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Original name</td></tr>
<tr><td>width</td><td>INT</td><td>No</td><td>No</td><td>No</td><td></td><td>Width in pixels</td></tr>
<tr><td>height</td><td>INT</td><td>No</td><td>No</td><td>No</td><td></td><td>Height in pixels</td></tr>
<tr><td>size</td><td>INT</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Size in bytes</td></tr>
<tr><td>mimeType</td><td>VARCHAR(255)</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Mime type</td></tr>
<tr><td>position</td><td>TINYINT</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Position of the image if mulitple images are related to the same entity</td></tr>
<tr><td>createdDate</td><td>DATETIME</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Creation date of the image</td></tr>
<tr><td>updatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Update date</td></tr>
<tr><td>idevent</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>Event</td></tr>
<tr><td>idcommunity</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>Community</td></tr>
<tr><td>idrelayPoint</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>Relay point</td></tr>
<tr><td>idrelayPointType</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>Relay point type</td></tr>
<tr><td>iduser</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>User</td></tr>
<tr><td>idcampaign</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>Campaign</td></tr>
<tr><td>idcampaignTemplate</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>Campaign template</td></tr>
</table><a href="#home">Table List </a></br>
<a id="zone"></a><table style="width:100%"><caption>Table: zone </caption>
<tr><td>Table Comments</td><td colspan="6">Geographic zone (in the representation of the world in a grid)</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>iddirection</td><td>INT</td><td>Yes</td><td>Yes</td><td>Yes</td><td></td><td>Direction</td></tr>
<tr><td>thinness</td><td>DECIMAL(9,6)</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>Precision of the grid in degrees</td></tr>
<tr><td>zoneid</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>Numeric representation of the zone depending on the precision</td></tr>
</table><a href="#home">Table List </a></br>
<a id="app"></a><table style="width:100%"><caption>Table: app </caption>
<tr><td>Table Comments</td><td colspan="6">Apps which can access to the api (front, mobile...)</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>name</td><td>VARCHAR(45)</td><td>Yes</td><td>No</td><td>No</td><td></td><td>User-friendly name</td></tr>
<tr><td>username</td><td>VARCHAR(45)</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Username for authentication</td></tr>
<tr><td>password</td><td>VARCHAR(100)</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Encoded password</td></tr>
<tr><td>createdDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Creation date</td></tr>
<tr><td>updatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Update date</td></tr>
</table><a href="#home">Table List </a></br>
<a id="territory"></a><table style="width:100%"><caption>Table: territory </caption>
<tr><td>Table Comments</td><td colspan="6">Territory table (geographic area)</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>name</td><td>VARCHAR(100)</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Name of the territory</td></tr>
<tr><td>geoJsonDetail</td><td>MULTIPOLYGON</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Detail of the territory as a multipolygon</td></tr>
<tr><td>createdDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Creation date</td></tr>
<tr><td>updatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Update date</td></tr>
</table><a href="#home">Table List </a></br>
<a id="mass"></a><table style="width:100%"><caption>Table: mass </caption>
<tr><td>Table Comments</td><td colspan="6">Mass import table</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>status</td><td>TINYINT</td><td>Yes</td><td>No</td><td>No</td><td></td><td>The status of the import</td></tr>
<tr><td>createdDate</td><td>DATETIME</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Import date</td></tr>
<tr><td>updatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Update date</td></tr>
<tr><td>fileName</td><td>VARCHAR(255)</td><td>Yes</td><td>No</td><td>No</td><td></td><td>File name</td></tr>
<tr><td>originalName</td><td>VARCHAR(255)</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Original name</td></tr>
<tr><td>size</td><td>INT</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Size in bytes</td></tr>
<tr><td>mimeType</td><td>VARCHAR(255)</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Mime type</td></tr>
<tr><td>iduser</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>User</td></tr>
<tr><td>calculationDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Date of the start of the calculation</td></tr>
<tr><td>calculatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Date of the end of the calculation</td></tr>
<tr><td>analyzingDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Date of the start of the analyze</td></tr>
<tr><td>analyzedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Date of the end of the analyze</td></tr>
<tr><td>massType</td><td>INT(11)</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Type of Mass : 
- 0 : anonymous
- 1 : qualified</td></tr>
<tr><td>checkLegitDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>The date of the legitimacy check</td></tr>
<tr><td>migrationDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Date of migration's beginning.</td></tr>
<tr><td>migratedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Date of migration's end.</td></tr>
<tr><td>gettingPublicTransportationPotentialDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Date of getting the public transportation information from external API</td></tr>
<tr><td>gotPublicTransportationPotentialDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Date of getting the public transportation information from external API end</td></tr>
<tr><td>idcommunity</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>The community created after the migration of this mass users</td></tr>
</table><a href="#home">Table List </a></br>
<a id="mass_person"></a><table style="width:100%"><caption>Table: mass_person </caption>
<tr><td>Table Comments</td><td colspan="6">A person involved in a mass import</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>givenId</td><td>VARCHAR(255)</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Import id</td></tr>
<tr><td>givenName</td><td>VARCHAR(45)</td><td>No</td><td>No</td><td>No</td><td></td><td>First name</td></tr>
<tr><td>familyName</td><td>VARCHAR(45)</td><td>No</td><td>No</td><td>No</td><td></td><td>Last name</td></tr>
<tr><td>email</td><td>VARCHAR(512)</td><td>No</td><td>No</td><td>No</td><td></td><td>The email address of the person</td></tr>
<tr><td>idmass</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Mass</td></tr>
<tr><td>personalAddress</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Personal address</td></tr>
<tr><td>workAddress</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Work Address</td></tr>
<tr><td>outwardTime</td><td>TIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Outward time</td></tr>
<tr><td>returnTime</td><td>TIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Return time</td></tr>
<tr><td>distance</td><td>INT</td><td>No</td><td>No</td><td>No</td><td></td><td>Distance in metres between the personal address and the work address</td></tr>
<tr><td>duration</td><td>INT</td><td>No</td><td>No</td><td>No</td><td></td><td>Duration in seconds (based on real distance) between the personal address and the work address</td></tr>
<tr><td>bboxMinLon</td><td>DECIMAL(9,6)</td><td>No</td><td>No</td><td>No</td><td></td><td>The minimum longitude of the bounding box of the route</td></tr>
<tr><td>bboxMinLat</td><td>DECIMAL(9,6)</td><td>No</td><td>No</td><td>No</td><td></td><td>The minimum latitude of the bounding box of the route</td></tr>
<tr><td>bboxMaxLon</td><td>DECIMAL(9,6)</td><td>No</td><td>No</td><td>No</td><td></td><td>The maximum longitude of the bounding box of the route</td></tr>
<tr><td>bboxMaxLat</td><td>DECIMAL(9,6)</td><td>No</td><td>No</td><td>No</td><td></td><td>The maximum latitude of the bounding box of the route</td></tr>
<tr><td>bearing</td><td>INT</td><td>No</td><td>No</td><td>No</td><td></td><td>The initial bearing for the direction in degrees related to the north (0°)</td></tr>
<tr><td>createdDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Creation date</td></tr>
<tr><td>updatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Update date</td></tr>
<tr><td>iduser</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>The user id when the mass person becomes a user</td></tr>
<tr><td>driver</td><td>TINYINT(1)</td><td>No</td><td>No</td><td>No</td><td></td><td>The person accepts to be a driver</td></tr>
<tr><td>passenger</td><td>TINYINT(1)</td><td>No</td><td>No</td><td>No</td><td></td><td>The person accepts to be a passenger</td></tr>
</table><a href="#home">Table List </a></br>
<a id="mass_matching"></a><table style="width:100%"><caption>Table: mass_matching </caption>
<tr><td>Table Comments</td><td colspan="6">Matching between mass persons</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>idMassPerson1</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Person 1</td></tr>
<tr><td>idMassPerson2</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Person 2</td></tr>
<tr><td>distance</td><td>INT</td><td>No</td><td>No</td><td>No</td><td></td><td>Distance in metres</td></tr>
<tr><td>duration</td><td>INT</td><td>No</td><td>No</td><td>No</td><td></td><td>Duration in seconds (based on real distance)</td></tr>
<tr><td>createdDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Creation date</td></tr>
<tr><td>updatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Update date</td></tr>
</table><a href="#home">Table List </a></br>
<a id="ptjourney_mass_person"></a><table style="width:100%"><caption>Table: ptjourney_mass_person </caption>
<tr><td>Table Comments</td><td colspan="6">Matching public transport journey for a mass person</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>idptjourney</td><td>INT</td><td>Yes</td><td>Yes</td><td>Yes</td><td></td><td>Public transport journey</td></tr>
<tr><td>idmassPerson</td><td>INT</td><td>Yes</td><td>Yes</td><td>Yes</td><td></td><td>Person</td></tr>
</table><a href="#home">Table List </a></br>
<a id="community"></a><table style="width:100%"><caption>Table: community </caption>
<tr><td>Table Comments</td><td colspan="6">Community table</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>name</td><td>VARCHAR(100)</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Name</td></tr>
<tr><td>status</td><td>SMALLINT</td><td>No</td><td>No</td><td>No</td><td></td><td>Community status (not used yet)</td></tr>
<tr><td>description</td><td>VARCHAR(255)</td><td>Yes</td><td>No</td><td>No</td><td></td><td>The short description</td></tr>
<tr><td>fullDescription</td><td>TEXT</td><td>Yes</td><td>No</td><td>No</td><td></td><td>The full description</td></tr>
<tr><td>membersHidden</td><td>TINYINT(1)</td><td>No</td><td>No</td><td>No</td><td></td><td>Members are only visible by the members of the community</td></tr>
<tr><td>proposalsHidden</td><td>TINYINT(1)</td><td>No</td><td>No</td><td>No</td><td></td><td>Proposals are only visible by the members of the community</td></tr>
<tr><td>domain</td><td>VARCHAR(255)</td><td>No</td><td>No</td><td>No</td><td></td><td>Email domain restriction</td></tr>
<tr><td>validationType</td><td>TINYINT(1)</td><td>No</td><td>No</td><td>No</td><td></td><td>Validation type:
0 = auto
1 = manual
2 = domain
</td></tr>
<tr><td>createdDate</td><td>DATETIME</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Creation date</td></tr>
<tr><td>updatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Update date</td></tr>
<tr><td>iduser</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Creator of the community</td></tr>
<tr><td>idaddress</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Address</td></tr>
</table><a href="#home">Table List </a></br>
<a id="community_user"></a><table style="width:100%"><caption>Table: community_user </caption>
<tr><td>Table Comments</td><td colspan="6">A user can register to a community</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>idcommunity</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Community</td></tr>
<tr><td>iduser</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>User</td></tr>
<tr><td>status</td><td>TINYINT</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Status:
0: pending
1: accepted as member
2: accepted as moderator
3: refused</td></tr>
<tr><td>createdDate</td><td>DATETIME</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Creation date</td></tr>
<tr><td>updatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Update date</td></tr>
<tr><td>acceptedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Accepted date</td></tr>
<tr><td>refusedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Refused Date</td></tr>
<tr><td>idadmin</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>The user that validates/invalidates the registration</td></tr>
</table><a href="#home">Table List </a></br>
<a id="community_proposal"></a><table style="width:100%"><caption>Table: community_proposal </caption>
<tr><td>Table Comments</td><td colspan="6">Proposals posted for a community</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>idcommunity</td><td>INT</td><td>Yes</td><td>Yes</td><td>Yes</td><td></td><td>Community</td></tr>
<tr><td>idproposal</td><td>INT</td><td>Yes</td><td>Yes</td><td>Yes</td><td></td><td>Proposal</td></tr>
</table><a href="#home">Table List </a></br>
<a id="relayPoint"></a><table style="width:100%"><caption>Table: relayPoint </caption>
<tr><td>Table Comments</td><td colspan="6">Relay point table</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>name</td><td>VARCHAR(255)</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Name</td></tr>
<tr><td>description</td><td>VARCHAR(255)</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Description</td></tr>
<tr><td>fullDescription</td><td>TEXT</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Full description</td></tr>
<tr><td>private</td><td>TINYINT(1)</td><td>No</td><td>No</td><td>No</td><td>0</td><td>Private relay point for a community or a solidary structure</td></tr>
<tr><td>status</td><td>TINYINT</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Status (active/inactive/pending)</td></tr>
<tr><td>places</td><td>INT</td><td>No</td><td>No</td><td>No</td><td></td><td>Number of places</td></tr>
<tr><td>placesDisabled</td><td>INT</td><td>No</td><td>No</td><td>No</td><td></td><td>Number of places for disabled people</td></tr>
<tr><td>free</td><td>TINYINT(1)</td><td>No</td><td>No</td><td>No</td><td></td><td>Free relay point</td></tr>
<tr><td>secured</td><td>TINYINT(1)</td><td>No</td><td>No</td><td>No</td><td></td><td>Secured relay point</td></tr>
<tr><td>official</td><td>TINYINT(1)</td><td>No</td><td>No</td><td>No</td><td></td><td>Official relay point</td></tr>
<tr><td>suggested</td><td>TINYINT(1)</td><td>No</td><td>No</td><td>No</td><td></td><td>Suggested in autocompletions</td></tr>
<tr><td>permalink</td><td>VARCHAR(255)</td><td>No</td><td>No</td><td>No</td><td></td><td>Permalink</td></tr>
<tr><td>idaddress</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Address</td></tr>
<tr><td>iduser</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Creator</td></tr>
<tr><td>idcommunity</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>Community</td></tr>
<tr><td>idstructure</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>Structure</td></tr>
<tr><td>createdDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Creation date</td></tr>
<tr><td>updatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Update date</td></tr>
</table><a href="#home">Table List </a></br>
<a id="relayPointType"></a><table style="width:100%"><caption>Table: relayPointType </caption>
<tr><td>Table Comments</td><td colspan="6">Type of relay point</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>name</td><td>VARCHAR(45)</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Name</td></tr>
<tr><td>createdDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Creation date</td></tr>
<tr><td>updatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Update date</td></tr>
<tr><td>idicon</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>Icon</td></tr>
</table><a href="#home">Table List </a></br>
<a id="relayPoint_relayPointType"></a><table style="width:100%"><caption>Table: relayPoint_relayPointType </caption>
<tr><td>Table Comments</td><td colspan="6">Relay point types for a given relay point</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>idrelayPoint</td><td>INT</td><td>Yes</td><td>Yes</td><td>Yes</td><td></td><td>Relay point</td></tr>
<tr><td>idrelayPointType</td><td>INT</td><td>Yes</td><td>Yes</td><td>Yes</td><td></td><td>Relay point type</td></tr>
</table><a href="#home">Table List </a></br>
<a id="article"></a><table style="width:100%"><caption>Table: article </caption>
<tr><td>Table Comments</td><td colspan="6">Article table</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>title</td><td>VARCHAR(255)</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Title</td></tr>
<tr><td>status</td><td>TINYINT</td><td>Yes</td><td>No</td><td>No</td><td></td><td>The status of publication of the article : 
0 : pending
1 : published</td></tr>
<tr><td>iFrame</td><td>VARCHAR(512)</td><td>No</td><td>No</td><td>No</td><td></td><td>The code of the article iFrame if it's displayed from an external source</td></tr>
<tr><td>createdDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Creation date</td></tr>
<tr><td>updatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Update date</td></tr>
</table><a href="#home">Table List </a></br>
<a id="section"></a><table style="width:100%"><caption>Table: section </caption>
<tr><td>Table Comments</td><td colspan="6">Section of an article</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>title</td><td>VARCHAR(255)</td><td>No</td><td>No</td><td>No</td><td></td><td>Title</td></tr>
<tr><td>subTitle</td><td>VARCHAR(255)</td><td>No</td><td>No</td><td>No</td><td></td><td>Subtitle</td></tr>
<tr><td>position</td><td>INT</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Position in the article</td></tr>
<tr><td>status</td><td>TINYINT</td><td>Yes</td><td>No</td><td>No</td><td></td><td>The status of publication of the section : 
0 : pending
1 : published</td></tr>
<tr><td>idarticle</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Article</td></tr>
<tr><td>createdDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Creation date</td></tr>
<tr><td>updatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Update date</td></tr>
</table><a href="#home">Table List </a></br>
<a id="paragraph"></a><table style="width:100%"><caption>Table: paragraph </caption>
<tr><td>Table Comments</td><td colspan="6">Paragraph of a section</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>text</td><td>TEXT</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Text</td></tr>
<tr><td>position</td><td>INT</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Position in the section</td></tr>
<tr><td>status</td><td>TINYINT</td><td>Yes</td><td>No</td><td>No</td><td></td><td>The status of publication of the paragraph : 
0 : pending
1 : published</td></tr>
<tr><td>idsection</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Section</td></tr>
<tr><td>createdDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Creation date</td></tr>
<tr><td>updatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Update date</td></tr>
</table><a href="#home">Table List </a></br>
<a id="community_security"></a><table style="width:100%"><caption>Table: community_security </caption>
<tr><td>Table Comments</td><td colspan="6">Securization of community registration</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>idcommunity</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Community</td></tr>
<tr><td>filename</td><td>VARCHAR(255)</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Name of the file to check</td></tr>
</table><a href="#home">Table List </a></br>
<a id="message"></a><table style="width:100%"><caption>Table: message </caption>
<tr><td>Table Comments</td><td colspan="6">A message sent between 2 or more users.</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>title</td><td>VARCHAR(255)</td><td>No</td><td>No</td><td>No</td><td></td><td>Title</td></tr>
<tr><td>text</td><td>TEXT</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Text</td></tr>
<tr><td>iduser</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Creator of the message</td></tr>
<tr><td>idmessage</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>Id of the first message of the thread</td></tr>
<tr><td>createdDate</td><td>DATETIME</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Creation date</td></tr>
<tr><td>updatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Update date</td></tr>
<tr><td>iduserDelegate</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>The user who sends the message in the name of the creator</td></tr>
</table><a href="#home">Table List </a></br>
<a id="recipient"></a><table style="width:100%"><caption>Table: recipient </caption>
<tr><td>Table Comments</td><td colspan="6">Recipient of the message</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>idmessage</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Message ID</td></tr>
<tr><td>iduser</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Recipient id</td></tr>
<tr><td>status</td><td>TINYINT</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Status of the message for the user : 
0 = pending
1 = read</td></tr>
<tr><td>readDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Read date</td></tr>
<tr><td>sentdate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Sent date</td></tr>
<tr><td>createdDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Creation date</td></tr>
<tr><td>updatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Update date</td></tr>
</table><a href="#home">Table List </a></br>
<a id="medium"></a><table style="width:100%"><caption>Table: medium </caption>
<tr><td>Table Comments</td><td colspan="6">Communication medium (email, sms...)</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>name</td><td>VARCHAR(255)</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Name of the medium</td></tr>
<tr><td>createdDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Creation date</td></tr>
<tr><td>updatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Update date</td></tr>
</table><a href="#home">Table List </a></br>
<a id="action"></a><table style="width:100%"><caption>Table: action </caption>
<tr><td>Table Comments</td><td colspan="6">List of actions that can be logged and / or trigger notifications. 
Some actions can reflect a real action made by a user, some can be automatic actions triggered by other actions. Usually, these "triggered" actions aren't logged.</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>name</td><td>VARCHAR(255)</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Name of the action</td></tr>
<tr><td>type</td><td>INT</td><td>No</td><td>No</td><td>No</td><td></td><td>The type of the action</td></tr>
<tr><td>inLog</td><td>TINYINT(1)</td><td>No</td><td>No</td><td>No</td><td></td><td>The action has to be logged in the log system</td></tr>
<tr><td>inDiary</td><td>TINYINT(1)</td><td>No</td><td>No</td><td>No</td><td></td><td>The action has to be logged in the user action diary</td></tr>
<tr><td>progression</td><td>DECIMAL(6,2)</td><td>No</td><td>No</td><td>No</td><td></td><td>The progression if the action can be related to a process (like for solidary records). It's a numeric value, so it can be a percent, a step...</td></tr>
<tr><td>position</td><td>INT</td><td>Yes</td><td>No</td><td>No</td><td>0</td><td>Display position in user preferences</td></tr>
<tr><td>createdDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Creation date</td></tr>
<tr><td>updatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Update date</td></tr>
</table><a href="#home">Table List </a></br>
<a id="notification"></a><table style="width:100%"><caption>Table: notification </caption>
<tr><td>Table Comments</td><td colspan="6">A message sent by the system to a user on a given medium</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>idaction</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Action</td></tr>
<tr><td>idmedium</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Medium</td></tr>
<tr><td>templateTitle</td><td>VARCHAR(255)</td><td>No</td><td>No</td><td>No</td><td></td><td>Template file for the title</td></tr>
<tr><td>templateBody</td><td>VARCHAR(255)</td><td>No</td><td>No</td><td>No</td><td></td><td>Template file for the body</td></tr>
<tr><td>active</td><td>TINYINT(1)</td><td>No</td><td>No</td><td>No</td><td></td><td>Status of the triggering (active/inactive)</td></tr>
<tr><td>userActiveDefault</td><td>TINYINT(1)</td><td>No</td><td>No</td><td>No</td><td></td><td>Default status of the triggering (active/inactive) for users</td></tr>
<tr><td>userEditable</td><td>TINYINT(1)</td><td>No</td><td>No</td><td>No</td><td></td><td>The notification is editable by the user</td></tr>
<tr><td>position</td><td>INT</td><td>No</td><td>No</td><td>No</td><td></td><td>Display position of the action for the medium in the user preferences</td></tr>
<tr><td>updatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Update date</td></tr>
<tr><td>createdDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Creation date</td></tr>
</table><a href="#home">Table List </a></br>
<a id="notified"></a><table style="width:100%"><caption>Table: notified </caption>
<tr><td>Table Comments</td><td colspan="6">A sent notification for a user</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>idnotification</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Triggers</td></tr>
<tr><td>iduser</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>User</td></tr>
<tr><td>createdDate</td><td>DATETIME</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Creation date</td></tr>
<tr><td>updatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Update date</td></tr>
<tr><td>sentDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Sent date</td></tr>
<tr><td>receivedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Received date</td></tr>
<tr><td>readDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Read date</td></tr>
<tr><td>status</td><td>TINYINT</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Status of the notification : 
0 = sent
1 = received
2 = read</td></tr>
<tr><td>idproposal</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>The notification concerns a proposal</td></tr>
<tr><td>idmatching</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>The notification concerns a matching</td></tr>
<tr><td>idrecipient</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>The notification concerns a recipient of a message</td></tr>
<tr><td>idaskHistory</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>The notification concerns an ask history</td></tr>
<tr><td>idcommunity</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>The community if the notified is linked to a community.</td></tr>
</table><a href="#home">Table List </a></br>
<a id="askHistory"></a><table style="width:100%"><caption>Table: askHistory </caption>
<tr><td>Table Comments</td><td colspan="6">History of the ask</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>createdDate</td><td>DATETIME</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Creation date</td></tr>
<tr><td>updatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Update date</td></tr>
<tr><td>status</td><td>TINYINT</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Ask status : 
0 : initiated
1 : pending
2 : accepted
3 : declined</td></tr>
<tr><td>type</td><td>TINYINT</td><td>Yes</td><td>No</td><td>No</td><td>1</td><td>Ask type : 
1 : one way trip
2 : outward of a round trip
3 : return of a round trip</td></tr>
<tr><td>idask</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Ask</td></tr>
<tr><td>idmessage</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>Message</td></tr>
</table><a href="#home">Table List </a></br>
<a id="structure"></a><table style="width:100%"><caption>Table: structure </caption>
<tr><td>Table Comments</td><td colspan="6">Structure helping the solidary requirer</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>name</td><td>VARCHAR(100)</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Name of the structure</td></tr>
<tr><td>email</td><td>VARCHAR(255)</td><td>No</td><td>No</td><td>No</td><td></td><td>The email accepting '+' subaddressing and used to build default unique email address for beneficiaries without email address</td></tr>
<tr><td>createdDate</td><td>TIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Creation date</td></tr>
<tr><td>updatedDate</td><td>TIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Update date</td></tr>
<tr><td>mMinRangeTime</td><td>TIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Morning min range time</td></tr>
<tr><td>mMaxRangeTime</td><td>TIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Morning max range time</td></tr>
<tr><td>aMinRangeTime</td><td>TIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Afternoon min range time</td></tr>
<tr><td>aMaxRangeTime</td><td>TIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Afternoon max range time</td></tr>
<tr><td>eMinRangeTime</td><td>TIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Evening min range time</td></tr>
<tr><td>eMaxRangeTime</td><td>TIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Evening max range time</td></tr>
<tr><td>mMinTime</td><td>TIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Morning min time</td></tr>
<tr><td>mMaxTime</td><td>TIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Morning max time</td></tr>
<tr><td>aMinTime</td><td>TIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Afternoon min time</td></tr>
<tr><td>aMaxTime</td><td>TIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Afternoon max time</td></tr>
<tr><td>eMinTime</td><td>TIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Evening min time</td></tr>
<tr><td>eMaxTime</td><td>TIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Evening max time</td></tr>
<tr><td>mMon</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td></td><td>Available on monday morning</td></tr>
<tr><td>aMon</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td></td><td>Available on monday afternoon</td></tr>
<tr><td>eMon</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td></td><td>Available on monday evening</td></tr>
<tr><td>mTue</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td></td><td>Available on tuesday morning</td></tr>
<tr><td>aTue</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td></td><td>Available on tuesday afternoon</td></tr>
<tr><td>eTue</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td></td><td>Available on tuesday evening</td></tr>
<tr><td>mWed</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td></td><td>Available on wednesday morning</td></tr>
<tr><td>aWed</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td></td><td>Available on wednesday afternoon</td></tr>
<tr><td>eWed</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td></td><td>Available on wednesday evening</td></tr>
<tr><td>mThu</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td></td><td>Available on thursday morning</td></tr>
<tr><td>aThu</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td></td><td>Available on thursday afternoon</td></tr>
<tr><td>eThu</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td></td><td>Available on thursday evening</td></tr>
<tr><td>mFri</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td></td><td>Available on friday morning</td></tr>
<tr><td>aFri</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td></td><td>Available on friday afternoon</td></tr>
<tr><td>eFri</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td></td><td>Available on friday evening</td></tr>
<tr><td>mSat</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td></td><td>Available on saturday morning</td></tr>
<tr><td>aSat</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td></td><td>Available on saturday afternoon</td></tr>
<tr><td>eSat</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td></td><td>Available on saturday evening</td></tr>
<tr><td>mSun</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td></td><td>Available on sunday morning</td></tr>
<tr><td>aSun</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td></td><td>Available on sunday afternoon</td></tr>
<tr><td>eSun</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td></td><td>Available on sunday evening</td></tr>
<tr><td>maxDistance</td><td>INT</td><td>No</td><td>No</td><td>No</td><td></td><td>Max distance allowed in metres</td></tr>
<tr><td>telephone</td><td>VARCHAR(255)</td><td>No</td><td>No</td><td>No</td><td></td><td>The telephone number of the structure</td></tr>
<tr><td>idstructure</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>Parent structure</td></tr>
</table><a href="#home">Table List </a></br>
<a id="subject"></a><table style="width:100%"><caption>Table: subject </caption>
<tr><td>Table Comments</td><td colspan="6">Subject of the solidary ask</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>label</td><td>VARCHAR(100)</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Label of the subject</td></tr>
<tr><td>createdDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Creation date</td></tr>
<tr><td>updatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Update date</td></tr>
<tr><td>idstructure</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Structure</td></tr>
</table><a href="#home">Table List </a></br>
<a id="solidary"></a><table style="width:100%"><caption>Table: solidary </caption>
<tr><td>Table Comments</td><td colspan="6">A solidary record</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>status</td><td>TINYINT</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Status of the record : 
0 = asked
1 = refused
2 = pending
3 = looking for solution
4 = follow up
5 = closed
</td></tr>
<tr><td>regularDetail</td><td>VARCHAR(255)</td><td>No</td><td>No</td><td>No</td><td></td><td>Detail for regular ask</td></tr>
<tr><td>deadlineDate</td><td>DATE</td><td>No</td><td>No</td><td>No</td><td></td><td>Deadline date</td></tr>
<tr><td>createdDate</td><td>DATETIME</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Creation date</td></tr>
<tr><td>updatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Update date</td></tr>
<tr><td>idproposal</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Proposal related to the solidary record</td></tr>
<tr><td>idsubject</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Subject</td></tr>
<tr><td>idsolidaryUserStructure</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Solidary user structure</td></tr>
</table><a href="#home">Table List </a></br>
<a id="log"></a><table style="width:100%"><caption>Table: log </caption>
<tr><td>Table Comments</td><td colspan="6">User action log table</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>date</td><td>DATETIME</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Date</td></tr>
<tr><td>value</td><td>VARCHAR(255)</td><td>No</td><td>No</td><td>No</td><td></td><td>Value associated with the action</td></tr>
<tr><td>iduser</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>The user concerned by the action</td></tr>
<tr><td>idaction</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Action</td></tr>
<tr><td>iduserDelegate</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>The user that makes the action if the action is made for another user</td></tr>
<tr><td>idproposal</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>The proposal if the action concerns a proposal</td></tr>
<tr><td>idmatching</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>The matching if the action concerns a matching</td></tr>
<tr><td>idask</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>The ask if the action concerns an ask</td></tr>
<tr><td>idarticle</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>The article if the action concerns an article</td></tr>
<tr><td>idevent</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>The event if the action concerns an event</td></tr>
<tr><td>idcommunity</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>The community if the action concerns a community</td></tr>
<tr><td>idsolidary</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>The solidary record if the action concerns a solidary record</td></tr>
<tr><td>idterritory</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>The territory if the action concerns a territory</td></tr>
<tr><td>idcar</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>The car if the action concerns a car</td></tr>
<tr><td>iduserRelated</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>The user if the action concerns a user</td></tr>
<tr><td>idmessage</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>The message if the action concerns a message</td></tr>
<tr><td>idcampaign</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>The campaign if the action concerns a message</td></tr>
</table><a href="#home">Table List </a></br>
<a id="solidarySolution"></a><table style="width:100%"><caption>Table: solidarySolution </caption>
<tr><td>Table Comments</td><td colspan="6">Potential solutions for a solidary record</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>idsolidary</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Solidary record</td></tr>
<tr><td>comment</td><td>VARCHAR(255)</td><td>No</td><td>No</td><td>No</td><td></td><td>A comment about the solution</td></tr>
<tr><td>createdDate</td><td>DATETIME</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Creation date</td></tr>
<tr><td>updatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Update date</td></tr>
<tr><td>idsolidaryMatching</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Solidary matching</td></tr>
</table><a href="#home">Table List </a></br>
<a id="diary"></a><table style="width:100%"><caption>Table: diary </caption>
<tr><td>Table Comments</td><td colspan="6">Animation action diary for a user</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>comment</td><td>VARCHAR(255)</td><td>No</td><td>No</td><td>No</td><td></td><td>A comment about the action</td></tr>
<tr><td>progression</td><td>DECIMAL(6,2)</td><td>No</td><td>No</td><td>No</td><td></td><td>The progression if the action can be related to a process (like for solidary records). It's a numeric value, so it can be a percent, a step...</td></tr>
<tr><td>idaction</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Action</td></tr>
<tr><td>iduser</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>The related user</td></tr>
<tr><td>idauthor</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>The author that makes the action</td></tr>
<tr><td>idsolidary</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>The solidary record related to the animation action</td></tr>
<tr><td>idsolidarySolution</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>The solidary solution record related to the animation action</td></tr>
<tr><td>createdDate</td><td>DATETIME</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Creation date</td></tr>
<tr><td>updatedDate</td><td>DATETIME</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Update date
Special need for this entity : we need to know the last action made in a diary for a solidary record, so we have to know the last date between createdDate and updatedDate.
To do so, we will use the updatedDate, so it is mandatory and will be populated with the createdDate at insert time.</td></tr>
</table><a href="#home">Table List </a></br>
<a id="user_notification"></a><table style="width:100%"><caption>Table: user_notification </caption>
<tr><td>Table Comments</td><td colspan="6">Notification preferences for a user</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>iduser</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>User</td></tr>
<tr><td>idnotification</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Notification</td></tr>
<tr><td>active</td><td>TINYINT(1)</td><td>No</td><td>No</td><td>No</td><td></td><td>Active</td></tr>
<tr><td>createdDate</td><td>DATETIME</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Creation date</td></tr>
<tr><td>updatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Updated date</td></tr>
</table><a href="#home">Table List </a></br>
<a id="icon"></a><table style="width:100%"><caption>Table: icon </caption>
<tr><td>Table Comments</td><td colspan="6">Icon table</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>name</td><td>VARCHAR(255)</td><td>Yes</td><td>No</td><td>No</td><td></td><td>The name of the icon</td></tr>
<tr><td>fileName</td><td>VARCHAR(255)</td><td>Yes</td><td>No</td><td>No</td><td></td><td>The filename of the icon</td></tr>
</table><a href="#home">Table List </a></br>
<a id="user_import"></a><table style="width:100%"><caption>Table: user_import </caption>
<tr><td>Table Comments</td><td colspan="6">Table used for user migration : import of users from other databases.</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>iduser</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>User ID</td></tr>
<tr><td>origin</td><td>VARCHAR(255)</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Origin database</td></tr>
<tr><td>status</td><td>TINYINT</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Status of the import : 
0 : imported
1 : treatment pending
2 : treated successfully
3 : error in treatment</td></tr>
<tr><td>createdDate</td><td>DATETIME</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Creation date</td></tr>
<tr><td>updatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Updated date</td></tr>
<tr><td>treatmentUserStartDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Start of user treatment date</td></tr>
<tr><td>treatmentUserEndDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>End of user treatment date</td></tr>
<tr><td>treatmentJourneyStartDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Start of journey treatment date</td></tr>
<tr><td>treatmentJourneyEndDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>End of journey treatment date</td></tr>
</table><a href="#home">Table List </a></br>
<a id="community_import"></a><table style="width:100%"><caption>Table: community_import </caption>
<tr><td>Table Comments</td><td colspan="6">Table used for community migration : import of communities from other databases.</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>communityExternalId</td><td>VARCHAR(255)</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Community external id</td></tr>
<tr><td>status</td><td>TINYINT</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Status of the import : 
0 : imported
1 : treatment pending
2 : treated successfully
3 : error in treatment</td></tr>
<tr><td>createdDate</td><td>DATETIME</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Creation date</td></tr>
<tr><td>updatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Updated date</td></tr>
<tr><td>idcommunity</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Community ID</td></tr>
</table><a href="#home">Table List </a></br>
<a id="event_import"></a><table style="width:100%"><caption>Table: event_import </caption>
<tr><td>Table Comments</td><td colspan="6">Table used for event migration : import of events from other databases.</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>eventExternalId</td><td>VARCHAR(255)</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Event external id</td></tr>
<tr><td>status</td><td>TINYINT</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Status of the import : 
0 : imported
1 : treatment pending
2 : treated successfully
3 : error in treatment</td></tr>
<tr><td>createdDate</td><td>DATETIME</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Creation date</td></tr>
<tr><td>updatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Updated date</td></tr>
<tr><td>idevent</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Event ID</td></tr>
</table><a href="#home">Table List </a></br>
<a id="relay_point_import"></a><table style="width:100%"><caption>Table: relay_point_import </caption>
<tr><td>Table Comments</td><td colspan="6">Table used for relay point migration : import of relay points from other databases.</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>relayExternalId</td><td>VARCHAR(255)</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Relay point external id</td></tr>
<tr><td>status</td><td>TINYINT</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Status of the import : 
0 : imported
1 : treatment pending
2 : treated successfully
3 : error in treatment</td></tr>
<tr><td>createdDate</td><td>DATETIME</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Creation date</td></tr>
<tr><td>updatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Updated date</td></tr>
<tr><td>idrelayPoint</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Relay point ID</td></tr>
</table><a href="#home">Table List </a></br>
<a id="redirect"></a><table style="width:100%"><caption>Table: redirect </caption>
<tr><td>Table Comments</td><td colspan="6">Redirection table</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>originUri</td><td>VARCHAR(255)</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Origin URI</td></tr>
<tr><td>type</td><td>TINYINT</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Redirection type : 
0 : community
1 : event</td></tr>
<tr><td>language</td><td>VARCHAR(255)</td><td>Yes</td><td>No</td><td>No</td><td></td><td>The language used (fr, en...)</td></tr>
<tr><td>destinationId</td><td>INT</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Destination entity id</td></tr>
<tr><td>createdDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Creation date</td></tr>
<tr><td>updatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Updated date</td></tr>
</table><a href="#home">Table List </a></br>
<a id="campaign"></a><table style="width:100%"><caption>Table: campaign </caption>
<tr><td>Table Comments</td><td colspan="6">Campaigns of mass communication</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>iduser</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Creator of the campaign</td></tr>
<tr><td>idmedium</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Medium used for the campaign</td></tr>
<tr><td>idcampaignTemplate</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>Template</td></tr>
<tr><td>name</td><td>VARCHAR(255)</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Name of the campaign</td></tr>
<tr><td>subject</td><td>VARCHAR(255)</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Subject</td></tr>
<tr><td>body</td><td>TEXT</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Body</td></tr>
<tr><td>createdDate</td><td>DATETIME</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Creation date</td></tr>
<tr><td>updatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Update date</td></tr>
<tr><td>status</td><td>INT</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Status : 
0 : creation pending 
1 : created
2 : sent
3 : archived</td></tr>
<tr><td>email</td><td>VARCHAR(255)</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Email of the sender</td></tr>
<tr><td>fromName</td><td>VARCHAR(255)</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Name of the sender</td></tr>
<tr><td>replyTo</td><td>VARCHAR(255)</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Reply to email</td></tr>
<tr><td>sendAll</td><td>SMALLINT</td><td>No</td><td>No</td><td>No</td><td></td><td>Status to send all campaign :
- null : send to chosen deleveries
- 0 : send to all user
- id community = send to all user in the given community ID</td></tr>
</table><a href="#home">Table List </a></br>
<a id="delivery"></a><table style="width:100%"><caption>Table: delivery </caption>
<tr><td>Table Comments</td><td colspan="6">Delivery of a campaign for a given user</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>status</td><td>INT</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Status : 
0 : pending 
1 : sent
2 : error</td></tr>
<tr><td>idcampaign</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Campaign</td></tr>
<tr><td>iduser</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>User</td></tr>
<tr><td>createdDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Creation date</td></tr>
<tr><td>updatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Update date</td></tr>
<tr><td>sentDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Sent date</td></tr>
<tr><td>receivedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Received date</td></tr>
<tr><td>readDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Read date</td></tr>
</table><a href="#home">Table List </a></br>
<a id="campaignTemplate"></a><table style="width:100%"><caption>Table: campaignTemplate </caption>
<tr><td>Table Comments</td><td colspan="6">Template for a campaign and a medium</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>name</td><td>VARCHAR(255)</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Name of the template</td></tr>
<tr><td>header</td><td>TEXT</td><td>No</td><td>No</td><td>No</td><td></td><td>Header of the template</td></tr>
<tr><td>body</td><td>TEXT</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Body of the template</td></tr>
<tr><td>footer</td><td>TEXT</td><td>No</td><td>No</td><td>No</td><td></td><td>Footer of the template</td></tr>
<tr><td>createdDate</td><td>DATETIME</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Creation date</td></tr>
<tr><td>updatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Update date</td></tr>
<tr><td>idmedium</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Medium</td></tr>
</table><a href="#home">Table List </a></br>
<a id="solidaryUser"></a><table style="width:100%"><caption>Table: solidaryUser </caption>
<tr><td>Table Comments</td><td colspan="6">Solidary volunteer or beneficiary</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>volunteer</td><td>TINYINT(1)</td><td>No</td><td>No</td><td>No</td><td></td><td>The solidary user is volunteer</td></tr>
<tr><td>beneficiary</td><td>TINYINT(1)</td><td>No</td><td>No</td><td>No</td><td></td><td>The solidary user is beneficiary</td></tr>
<tr><td>mMinTime</td><td>TIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Morning min time</td></tr>
<tr><td>mMaxTime</td><td>TIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Morning max time</td></tr>
<tr><td>aMinTime</td><td>TIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Afternoon min time</td></tr>
<tr><td>aMaxTime</td><td>TIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Afternoon max time</td></tr>
<tr><td>eMinTime</td><td>TIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Evening min time</td></tr>
<tr><td>eMaxTime</td><td>TIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Evening max time</td></tr>
<tr><td>mMon</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td></td><td>Available on monday morning</td></tr>
<tr><td>aMon</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td></td><td>Available on monday afternoon</td></tr>
<tr><td>eMon</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td></td><td>Available on monday evening</td></tr>
<tr><td>mTue</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td></td><td>Available on tuesday morning</td></tr>
<tr><td>aTue</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td></td><td>Available on tuesday afternoon</td></tr>
<tr><td>eTue</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td></td><td>Available on tuesday evening</td></tr>
<tr><td>mWed</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td></td><td>Available on wednesday morning</td></tr>
<tr><td>aWed</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td></td><td>Available on wednesday afternoon</td></tr>
<tr><td>eWed</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td></td><td>Available on wednesday evening</td></tr>
<tr><td>mThu</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td></td><td>Available on thursday morning</td></tr>
<tr><td>aThu</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td></td><td>Available on thursday afternoon</td></tr>
<tr><td>eThu</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td></td><td>Available on thursday evening</td></tr>
<tr><td>mFri</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td></td><td>Available on friday morning</td></tr>
<tr><td>aFri</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td></td><td>Available on friday afternoon</td></tr>
<tr><td>eFri</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td></td><td>Available on friday evening</td></tr>
<tr><td>mSat</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td></td><td>Available on saturday morning</td></tr>
<tr><td>aSat</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td></td><td>Available on saturday afternoon</td></tr>
<tr><td>eSat</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td></td><td>Available on saturday evening</td></tr>
<tr><td>mSun</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td></td><td>Available on sunday morning</td></tr>
<tr><td>aSun</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td></td><td>Available on sunday afternoon</td></tr>
<tr><td>eSun</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td></td><td>Available on sunday evening</td></tr>
<tr><td>idaddress</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Center address of the accepted perimeter</td></tr>
<tr><td>maxDistance</td><td>INT</td><td>No</td><td>No</td><td>No</td><td></td><td>Max distance allowed in metres</td></tr>
<tr><td>comment</td><td>VARCHAR(255)</td><td>No</td><td>No</td><td>No</td><td></td><td>Comment</td></tr>
<tr><td>vehicle</td><td>TINYINT(1)</td><td>No</td><td>No</td><td>No</td><td></td><td>The volunteer has a vehicle</td></tr>
<tr><td>createdDate</td><td>DATETIME</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Creation date</td></tr>
<tr><td>updatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Update date</td></tr>
</table><a href="#home">Table List </a></br>
<a id="language"></a><table style="width:100%"><caption>Table: language </caption>
<tr><td>Table Comments</td><td colspan="6">Language table</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>code</td><td>VARCHAR(3)</td><td>Yes</td><td>No</td><td>No</td><td></td><td>ISO code</td></tr>
</table><a href="#home">Table List </a></br>
<a id="user_language"></a><table style="width:100%"><caption>Table: user_language </caption>
<tr><td>Table Comments</td><td colspan="6">Languages spoken by a user (used for solidary transport)</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>idlanguage</td><td>INT</td><td>Yes</td><td>Yes</td><td>Yes</td><td></td><td>Language</td></tr>
<tr><td>iduser</td><td>INT</td><td>Yes</td><td>Yes</td><td>Yes</td><td></td><td>User</td></tr>
<tr><td>position</td><td>TINYINT</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Position</td></tr>
</table><a href="#home">Table List </a></br>
<a id="need"></a><table style="width:100%"><caption>Table: need </caption>
<tr><td>Table Comments</td><td colspan="6">Special need for solidary </td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>label</td><td>VARCHAR(255)</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Label of the need</td></tr>
<tr><td>private</td><td>TINYINT(1)</td><td>No</td><td>No</td><td>No</td><td></td><td>Not publicly available</td></tr>
<tr><td>createdDate</td><td>DATETIME</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Creation date</td></tr>
<tr><td>updatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Update date</td></tr>
<tr><td>idsolidary</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Solidary if the need was created for a specific solidary record</td></tr>
</table><a href="#home">Table List </a></br>
<a id="solidary_need"></a><table style="width:100%"><caption>Table: solidary_need </caption>
<tr><td>Table Comments</td><td colspan="6">List of special needs for a solidary record</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>idsolidary</td><td>INT</td><td>Yes</td><td>Yes</td><td>Yes</td><td></td><td>Solidary record</td></tr>
<tr><td>idneed</td><td>INT</td><td>Yes</td><td>Yes</td><td>Yes</td><td></td><td>Need</td></tr>
</table><a href="#home">Table List </a></br>
<a id="need_volunteer"></a><table style="width:100%"><caption>Table: need_volunteer </caption>
<tr><td>Table Comments</td><td colspan="6">List of special needs proposed by as a volunteer</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>idneed</td><td>INT</td><td>Yes</td><td>Yes</td><td>Yes</td><td></td><td>Need</td></tr>
<tr><td>idsolidaryUser</td><td>INT</td><td>Yes</td><td>Yes</td><td>Yes</td><td></td><td>Volunteer</td></tr>
</table><a href="#home">Table List </a></br>
<a id="need_structure"></a><table style="width:100%"><caption>Table: need_structure </caption>
<tr><td>Table Comments</td><td colspan="6">List of special needs for a solidary structure</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>idneed</td><td>INT</td><td>Yes</td><td>Yes</td><td>Yes</td><td></td><td>Need</td></tr>
<tr><td>idstructure</td><td>INT</td><td>Yes</td><td>Yes</td><td>Yes</td><td></td><td>Structure</td></tr>
</table><a href="#home">Table List </a></br>
<a id="structureProof"></a><table style="width:100%"><caption>Table: structureProof </caption>
<tr><td>Table Comments</td><td colspan="6">Proof documents for a solidary structure</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>label</td><td>VARCHAR(255)</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Label of the proof</td></tr>
<tr><td>type</td><td>TINYINT</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Proof user type : 
1 - solidary requester
2 - solidary volunteer</td></tr>
<tr><td>position</td><td>INT</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Position in the form</td></tr>
<tr><td>checkbox</td><td>TINYINT(1)</td><td>No</td><td>No</td><td>No</td><td></td><td>The proof is a checkbox</td></tr>
<tr><td>input</td><td>TINYINT(1)</td><td>No</td><td>No</td><td>No</td><td></td><td>The proof is an input</td></tr>
<tr><td>selectbox</td><td>TINYINT(1)</td><td>No</td><td>No</td><td>No</td><td></td><td>The proof is a select</td></tr>
<tr><td>radio</td><td>TINYINT(1)</td><td>No</td><td>No</td><td>No</td><td></td><td>The proof is a radio button</td></tr>
<tr><td>options</td><td>TEXT</td><td>No</td><td>No</td><td>No</td><td></td><td>Text options for radio or select  (separated by semicolon, in the same order than values)</td></tr>
<tr><td>acceptedValues</td><td>TEXT</td><td>No</td><td>No</td><td>No</td><td></td><td>Values for radio or select (separated by semicolon, in the same order than options)</td></tr>
<tr><td>mandatory</td><td>TINYINT(1)</td><td>No</td><td>No</td><td>No</td><td></td><td>The proof is mandatory</td></tr>
<tr><td>file</td><td>TINYINT(1)</td><td>No</td><td>No</td><td>No</td><td></td><td>The proof is a file</td></tr>
<tr><td>idstructure</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Structure</td></tr>
<tr><td>createdDate</td><td>DATETIME</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Creation date</td></tr>
<tr><td>updatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Update date</td></tr>
</table><a href="#home">Table List </a></br>
<a id="proof"></a><table style="width:100%"><caption>Table: proof </caption>
<tr><td>Table Comments</td><td colspan="6">A solidary proof related to a solidary record or a volunteer</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>idstructureProof</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Structure proof</td></tr>
<tr><td>value</td><td>VARCHAR(255)</td><td>No</td><td>No</td><td>No</td><td></td><td>Value</td></tr>
<tr><td>createdDate</td><td>DATETIME</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Creation date</td></tr>
<tr><td>updatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Update date</td></tr>
<tr><td>fileName</td><td>VARCHAR(255)</td><td>No</td><td>No</td><td>No</td><td></td><td>File name</td></tr>
<tr><td>originalName</td><td>VARCHAR(255)</td><td>No</td><td>No</td><td>No</td><td></td><td>Original name</td></tr>
<tr><td>size</td><td>INT</td><td>No</td><td>No</td><td>No</td><td></td><td>Size in bytes</td></tr>
<tr><td>mimeType</td><td>VARCHAR(255)</td><td>No</td><td>No</td><td>No</td><td></td><td>Mime type</td></tr>
<tr><td>idsolidaryUserStructure</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Solidary user structure</td></tr>
</table><a href="#home">Table List </a></br>
<a id="position"></a><table style="width:100%"><caption>Table: position </caption>
<tr><td>Table Comments</td><td colspan="6">Current geographic position for dynamic carpooling.</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>createdDate</td><td>DATETIME</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Creation date</td></tr>
<tr><td>updatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Updated date</td></tr>
<tr><td>idwaypoint</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Waypoint corresponding to the current position</td></tr>
<tr><td>idproposal</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Proposal</td></tr>
<tr><td>iddirection</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>Direction related to the dynamic carpool - updated at each position update</td></tr>
<tr><td>geoJsonPoints</td><td>LINESTRING</td><td>No</td><td>No</td><td>No</td><td></td><td>History of geographic points as a linestring, used to compute the direction. Updated at each new position. Can be emptied when the carpool is finished.</td></tr>
</table><a href="#home">Table List </a></br>
<a id="carpoolProof"></a><table style="width:100%"><caption>Table: carpoolProof </caption>
<tr><td>Table Comments</td><td colspan="6">Carpool certification proof, also used for payment</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>status</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td></td><td>Status of the proof : 
0 = initiated : not ready to be sent, proof still under construction
1 = pending : ready to be sent
2 = sent to the register
3 = error while sending to the register
4 = cancellation before sending</td></tr>
<tr><td>type</td><td>VARCHAR(5)</td><td>No</td><td>No</td><td>No</td><td></td><td>Register system proof type</td></tr>
<tr><td>startDriverDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Start driver date</td></tr>
<tr><td>endDriverDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>End driver date</td></tr>
<tr><td>idaddressOriginDriver</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>Origin of the driver</td></tr>
<tr><td>idaddressDestinationDriver</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>Destination of the driver</td></tr>
<tr><td>pickupPassengerDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Passenger pickup certification date</td></tr>
<tr><td>pickupDriverDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Driver pickup certification date</td></tr>
<tr><td>dropoffPassengerDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Passenger dropoff certification date</td></tr>
<tr><td>dropoffDriverDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Driver dropoff certification date</td></tr>
<tr><td>idaddressPickupPassenger</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>Position of the passenger when pickup certification is asked</td></tr>
<tr><td>idaddressPickupDriver</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>Position of the driver when pickup certification is asked</td></tr>
<tr><td>idaddressDropoffPassenger</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>Position of the passenger when dropoff certification is asked</td></tr>
<tr><td>idaddressDropoffDriver</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>Position of the driver when dropoff certification is asked</td></tr>
<tr><td>iddirection</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>The direction related to the proof</td></tr>
<tr><td>iddriver</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>Driver user id; used to keep a link to the driver if the passenger deletes its ad (the ask may be deleted aswell)</td></tr>
<tr><td>idpassenger</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>Passenger user id; used to keep a link to the passenger if the driver deletes its ad (the ask may be deleted aswell)</td></tr>
<tr><td>geoJsonPoints</td><td>LINESTRING</td><td>No</td><td>No</td><td>No</td><td></td><td>History of geographic points as a linestring, used to compute the direction. Updated at each new position. Can be emptied when the carpool is finished.</td></tr>
<tr><td>idask</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Ask</td></tr>
</table><a href="#home">Table List </a></br>
<a id="solidaryAsk"></a><table style="width:100%"><caption>Table: solidaryAsk </caption>
<tr><td>Table Comments</td><td colspan="6">Ask related with a solidary solution</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>status</td><td>TINYINT</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Ask status : 
0 : initiated
1 : pending
2 : accepted
3 : declined</td></tr>
<tr><td>createdDate</td><td>DATETIME</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Creation date of the ask</td></tr>
<tr><td>updatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Update date</td></tr>
<tr><td>idsolidarySolution</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Solidary solution</td></tr>
<tr><td>idask</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>Ask if the solidary ask is related to a carpool solution</td></tr>
<tr><td>idcriteria</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>Criteria if the ask is related to a volunteer</td></tr>
</table><a href="#home">Table List </a></br>
<a id="solidaryAskHistory"></a><table style="width:100%"><caption>Table: solidaryAskHistory </caption>
<tr><td>Table Comments</td><td colspan="6">History of the solidary ask</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>createdDate</td><td>DATETIME</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Creation date</td></tr>
<tr><td>updatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Update date</td></tr>
<tr><td>status</td><td>TINYINT</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Ask status : 
0 : initiated
1 : pending
2 : accepted
3 : declined</td></tr>
<tr><td>idmessage</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>Message</td></tr>
<tr><td>idsolidaryAsk</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Solidary Ask</td></tr>
</table><a href="#home">Table List </a></br>
<a id="solidaryUserStructure"></a><table style="width:100%"><caption>Table: solidaryUserStructure </caption>
<tr><td>Table Comments</td><td colspan="6"></td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>status</td><td>TINYINT</td><td>No</td><td>No</td><td>No</td><td></td><td>Status : 
0 = pending
1 = accepted
2 = refused</td></tr>
<tr><td>idsolidaryUser</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Solidary user</td></tr>
<tr><td>idstructure</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Structure</td></tr>
<tr><td>createdDate</td><td>DATETIME</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Creation date</td></tr>
<tr><td>acceptedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Accepted date</td></tr>
<tr><td>refusedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Refused date</td></tr>
<tr><td>updatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Update date</td></tr>
</table><a href="#home">Table List </a></br>
<a id="authItem"></a><table style="width:100%"><caption>Table: authItem </caption>
<tr><td>Table Comments</td><td colspan="6">Authorization item table</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>type</td><td>TINYINT</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Item type : 
1 = item
2 = role</td></tr>
<tr><td>name</td><td>VARCHAR(100)</td><td>Yes</td><td>No</td><td>No</td><td></td><td>The name of the item</td></tr>
<tr><td>description</td><td>VARCHAR(255)</td><td>Yes</td><td>No</td><td>No</td><td></td><td>The description</td></tr>
<tr><td>idauthRule</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>Rule</td></tr>
</table><a href="#home">Table List </a></br>
<a id="authRule"></a><table style="width:100%"><caption>Table: authRule </caption>
<tr><td>Table Comments</td><td colspan="6">Authorization rule</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>name</td><td>VARCHAR(100)</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Name</td></tr>
</table><a href="#home">Table List </a></br>
<a id="authItem_child"></a><table style="width:100%"><caption>Table: authItem_child </caption>
<tr><td>Table Comments</td><td colspan="6">Hierarchy of authorization items</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>parent</td><td>INT</td><td>Yes</td><td>Yes</td><td>Yes</td><td></td><td>Parent item</td></tr>
<tr><td>child</td><td>INT</td><td>Yes</td><td>Yes</td><td>Yes</td><td></td><td>Child item</td></tr>
</table><a href="#home">Table List </a></br>
<a id="app_authItem"></a><table style="width:100%"><caption>Table: app_authItem </caption>
<tr><td>Table Comments</td><td colspan="6">App authorizations</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>idAuthItem</td><td>INT</td><td>Yes</td><td>Yes</td><td>Yes</td><td></td><td>Auth item</td></tr>
<tr><td>idapp</td><td>INT</td><td>Yes</td><td>Yes</td><td>Yes</td><td></td><td>App</td></tr>
</table><a href="#home">Table List </a></br>
<a id="user_auth_assignment"></a><table style="width:100%"><caption>Table: user_auth_assignment </caption>
<tr><td>Table Comments</td><td colspan="6">User authorizations</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>iduser</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>User</td></tr>
<tr><td>idauthItem</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Auth item</td></tr>
<tr><td>idterritory</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>Territory</td></tr>
</table><a href="#home">Table List </a></br>
<a id="solidaryMatching"></a><table style="width:100%"><caption>Table: solidaryMatching </caption>
<tr><td>Table Comments</td><td colspan="6">Matchings for solidary records</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>idmatching</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>Matching for carpools or flexible carpools</td></tr>
<tr><td>idcriteria</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>Criteria for volunteer matching</td></tr>
<tr><td>idsolidaryUser</td><td>INT</td><td>No</td><td>No</td><td>Yes</td><td></td><td>Solidary user for volunteer matching</td></tr>
<tr><td>createdDate</td><td>DATETIME</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Creation date</td></tr>
<tr><td>updatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Update date</td></tr>
<tr><td>idsolidary</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Solidary record</td></tr>
</table><a href="#home">Table List </a></br>
<a id="direction_territory"></a><table style="width:100%"><caption>Table: direction_territory </caption>
<tr><td>Table Comments</td><td colspan="6">Territories of a direction</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>iddirection</td><td>INT</td><td>Yes</td><td>Yes</td><td>Yes</td><td></td><td>Direction</td></tr>
<tr><td>idterritory</td><td>INT</td><td>Yes</td><td>Yes</td><td>Yes</td><td></td><td>Territory</td></tr>
</table><a href="#home">Table List </a></br>
<a id="address_territory"></a><table style="width:100%"><caption>Table: address_territory </caption>
<tr><td>Table Comments</td><td colspan="6">Territories of an address</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>idaddress</td><td>INT</td><td>Yes</td><td>Yes</td><td>Yes</td><td></td><td>Address</td></tr>
<tr><td>idterritory</td><td>INT</td><td>Yes</td><td>Yes</td><td>Yes</td><td></td><td>Territory</td></tr>
</table><a href="#home">Table List </a></br>
<a id="pushToken"></a><table style="width:100%"><caption>Table: pushToken </caption>
<tr><td>Table Comments</td><td colspan="6">Push device token</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>token</td><td>VARCHAR(255)</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Token</td></tr>
<tr><td>type</td><td>TINYINT</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Token type : 
1 = iOS
2 = Android</td></tr>
<tr><td>creationDate</td><td>DATETIME</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Creation date</td></tr>
<tr><td>updatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Update date</td></tr>
<tr><td>iduser</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>User</td></tr>
</table><a href="#home">Table List </a></br>
<a id="operate"></a><table style="width:100%"><caption>Table: operate </caption>
<tr><td>Table Comments</td><td colspan="6">Structures of a user as operator</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>idstructure</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Structure</td></tr>
<tr><td>iduser</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>User</td></tr>
<tr><td>createdDate</td><td>DATETIME</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Creation date</td></tr>
<tr><td>updatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Update date</td></tr>
</table><a href="#home">Table List </a></br>
<a id="carpoolItem"></a><table style="width:100%"><caption>Table: carpoolItem </caption>
<tr><td>Table Comments</td><td colspan="6">A carpool journey effectively done</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>idask</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>The ask related to the carpool item</td></tr>
<tr><td>type</td><td>TINYINT</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Item type related with the ask :
- 1 : one way trip
- 2 : outward of a round trip
- 3 : return of a round trip</td></tr>
<tr><td>itemStatus</td><td>TINYINT</td><td>Yes</td><td>No</td><td>No</td><td></td><td>The status of the carpool : 
- 0 : initialized (the carpool was planned but we don't know yet if it has been realized)
- 1 : the carpool has been realized (planned or dynamic)
- 2 : the carpool was planned but was not realized

This is necessary as carpool items are auto-generated, and may not reflect the reality.
This status could be divided in 2 if necessary (if we need the point of view of both the driver and the passenger).</td></tr>
<tr><td>itemDate</td><td>DATE</td><td>Yes</td><td>No</td><td>No</td><td></td><td>The date of the carpool (=the date of the start of the carpool)</td></tr>
<tr><td>amount</td><td>DECIMAL(6,2)</td><td>Yes</td><td>No</td><td>No</td><td></td><td>The amount to be paid</td></tr>
<tr><td>iduserDebtor</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Debtor user (the user that pays)</td></tr>
<tr><td>iduserCreditor</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>Creditor user (the user that is payed)</td></tr>
<tr><td>debtorStatus</td><td>TINYINT</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Debtor payment status : 
- 0 : waiting for payment
- 1 : payment pending electronically
- 2 : payment pending manually
- 3 : payment done electronically
- 4 : payment done manually</td></tr>
<tr><td>creditorStatus</td><td>TINYINT</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Debtor payment status : 
- 0 : waiting for payment
- 1 : payment pending electronically
- 3 : payment  received electronically
- 4 : payment received manually</td></tr>
<tr><td>createdDate</td><td>DATETIME</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Creation date</td></tr>
<tr><td>updatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Update date</td></tr>
<tr><td>unpaidDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Unpaid notify date</td></tr>
</table><a href="#home">Table List </a></br>
<a id="carpoolPayment"></a><table style="width:100%"><caption>Table: carpoolPayment </caption>
<tr><td>Table Comments</td><td colspan="6">A carpool payment, for carpool items</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>amount</td><td>DECIMAL(6,2)</td><td>Yes</td><td>No</td><td>No</td><td></td><td>The amount to be paid</td></tr>
<tr><td>iduser</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>The user that pays</td></tr>
<tr><td>status</td><td>TINYINT</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Payment status : 
- 0 : initiated
- 1 : success
- 2 : failure</td></tr>
<tr><td>createdDate</td><td>DATETIME</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Creation date</td></tr>
<tr><td>updatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Update date</td></tr>
<tr><td>transactionId</td><td>INT</td><td>No</td><td>No</td><td>No</td><td></td><td>Id of the electronic transaction if there is an electronic part in this payment.</td></tr>
<tr><td>transactionDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td>Datetime of the electronic transaction if there is an electronic part in this payment.</td></tr>
<tr><td>transactionPostData</td><td>TEXT</td><td>No</td><td>No</td><td>No</td><td></td><td></td></tr>
</table><a href="#home">Table List </a></br>
<a id="carpoolItem_carpoolPayment"></a><table style="width:100%"><caption>Table: carpoolItem_carpoolPayment </caption>
<tr><td>Table Comments</td><td colspan="6">Payment tries for carpool items : many tries can be necessary for a successful payment. A payment may concern many items.</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>idcarpoolItem</td><td>INT</td><td>Yes</td><td>Yes</td><td>Yes</td><td></td><td>Carpool item</td></tr>
<tr><td>idcarpoolPayment</td><td>INT</td><td>Yes</td><td>Yes</td><td>Yes</td><td></td><td>Carpool payment</td></tr>
</table><a href="#home">Table List </a></br>
<a id="paymentProfile"></a><table style="width:100%"><caption>Table: paymentProfile </caption>
<tr><td>Table Comments</td><td colspan="6">Payment user profile</td></tr>
<tr><td colspan="7">Columns</td></tr>
        <tr>
        <th>Name</th>
        <th>Data Type</th>
        <th>Nullable</th>
        <th>PK</th>
        <th>FK</th>
        <th>Default</th>
        <th>Comment</th>
        </tr>
<tr><td>id</td><td>INT</td><td>Yes</td><td>Yes</td><td>No</td><td></td><td>ID</td></tr>
<tr><td>provider</td><td>VARCHAR(255)</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Provider name of this payment profile</td></tr>
<tr><td>identifier</td><td>VARCHAR(255)</td><td>Yes</td><td>No</td><td>No</td><td></td><td>provider identifier</td></tr>
<tr><td>createdDate</td><td>DATETIME</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Creation date</td></tr>
<tr><td>updatedDate</td><td>DATETIME</td><td>No</td><td>No</td><td>No</td><td></td><td></td></tr>
<tr><td>iduser</td><td>INT</td><td>Yes</td><td>No</td><td>Yes</td><td></td><td>User</td></tr>
<tr><td>status</td><td>TINYINT</td><td>Yes</td><td>No</td><td>No</td><td></td><td>Profile status : 
- 0 : inactive
- 1 : active</td></tr>
<tr><td>electronicallyPayable</td><td>TINYINT(1)</td><td>No</td><td>No</td><td>No</td><td></td><td>If the current payment profile is linked to one or several bank accounts</td></tr>
</table><a href="#home">Table List </a></br>
</body></html>