1
0
mirror of https://github.com/LaCasemate/fab-manager.git synced 2024-11-29 10:24:20 +01:00
fab-manager/doc/models_complete.svg
2016-03-23 18:39:41 +01:00

1497 lines
159 KiB
XML

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.36.0 (20140111.2315)
-->
<!-- Title: models_diagram Pages: 1 -->
<svg width="7539pt" height="2554pt"
viewBox="0.00 0.00 7539.18 2554.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 2550)">
<title>models_diagram</title>
<polygon fill="none" stroke="none" points="-4,4 -4,-2550 7535.18,-2550 7535.18,4 -4,4"/>
<!-- _diagram_info -->
<g id="node1" class="node"><title>_diagram_info</title>
<text text-anchor="start" x="1708.18" y="-2486.6" font-family="Times,serif" font-size="13.00">Models diagram</text>
<text text-anchor="start" x="1708.18" y="-2472.6" font-family="Times,serif" font-size="13.00">Date: Oct 26 2015 &#45; 13:23</text>
<text text-anchor="start" x="1708.18" y="-2458.6" font-family="Times,serif" font-size="13.00">Migration version: 20151008152219</text>
<text text-anchor="start" x="1708.18" y="-2444.6" font-family="Times,serif" font-size="13.00">Generated by RailRoady 1.4.0</text>
<text text-anchor="start" x="1708.18" y="-2430.6" font-family="Times,serif" font-size="13.00">http://railroady.prestonlee.com</text>
</g>
<!-- Group -->
<g id="node2" class="node"><title>Group</title>
<path fill="none" stroke="black" d="M1944.18,-2409C1944.18,-2409 2164.18,-2409 2164.18,-2409 2170.18,-2409 2176.18,-2415 2176.18,-2421 2176.18,-2421 2176.18,-2503 2176.18,-2503 2176.18,-2509 2170.18,-2515 2164.18,-2515 2164.18,-2515 1944.18,-2515 1944.18,-2515 1938.18,-2515 1932.18,-2509 1932.18,-2503 1932.18,-2503 1932.18,-2421 1932.18,-2421 1932.18,-2415 1938.18,-2409 1944.18,-2409"/>
<text text-anchor="middle" x="2054.18" y="-2499.8" font-family="Times,serif" font-size="14.00">Group</text>
<polyline fill="none" stroke="black" points="1932.18,-2492 2176.18,-2492 "/>
<text text-anchor="start" x="1940.18" y="-2476.8" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="1940.18" y="-2461.8" font-family="Times,serif" font-size="14.00">name :character varying(255)</text>
<text text-anchor="start" x="1940.18" y="-2446.8" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="1940.18" y="-2431.8" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
<text text-anchor="start" x="1940.18" y="-2416.8" font-family="Times,serif" font-size="14.00">slug :character varying(255)</text>
</g>
<!-- Price -->
<g id="node4" class="node"><title>Price</title>
<path fill="none" stroke="black" d="M2762.18,-835.5C2762.18,-835.5 2982.18,-835.5 2982.18,-835.5 2988.18,-835.5 2994.18,-841.5 2994.18,-847.5 2994.18,-847.5 2994.18,-974.5 2994.18,-974.5 2994.18,-980.5 2988.18,-986.5 2982.18,-986.5 2982.18,-986.5 2762.18,-986.5 2762.18,-986.5 2756.18,-986.5 2750.18,-980.5 2750.18,-974.5 2750.18,-974.5 2750.18,-847.5 2750.18,-847.5 2750.18,-841.5 2756.18,-835.5 2762.18,-835.5"/>
<text text-anchor="middle" x="2872.18" y="-971.3" font-family="Times,serif" font-size="14.00">Price</text>
<polyline fill="none" stroke="black" points="2750.18,-963.5 2994.18,-963.5 "/>
<text text-anchor="start" x="2758.18" y="-948.3" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="2758.18" y="-933.3" font-family="Times,serif" font-size="14.00">group_id :integer</text>
<text text-anchor="start" x="2758.18" y="-918.3" font-family="Times,serif" font-size="14.00">plan_id :integer</text>
<text text-anchor="start" x="2758.18" y="-903.3" font-family="Times,serif" font-size="14.00">priceable_id :integer</text>
<text text-anchor="start" x="2758.18" y="-888.3" font-family="Times,serif" font-size="14.00">priceable_type :character varying</text>
<text text-anchor="start" x="2758.18" y="-873.3" font-family="Times,serif" font-size="14.00">amount :integer</text>
<text text-anchor="start" x="2758.18" y="-858.3" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="2758.18" y="-843.3" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
</g>
<!-- Group&#45;&gt;Price -->
<g id="edge4" class="edge"><title>Group&#45;&gt;Price</title>
<path fill="none" stroke="#99f27f" d="M2118.1,-2402.96C2137.3,-2383.9 2157.64,-2361.95 2174.18,-2340 2337.89,-2122.78 2369.18,-2057.34 2473.18,-1806 2512.71,-1710.44 2539.04,-1442.13 2599.18,-1358 2608.28,-1345.26 2613.38,-1343.13 2628.18,-1338 2657.84,-1327.71 2888.69,-1342.9 2910.18,-1320 2991,-1233.85 2950.99,-1087.81 2912.89,-995.813"/>
<ellipse fill="none" stroke="#99f27f" cx="2115.03" cy="-2405.98" rx="4.00002" ry="4.00002"/>
<polygon fill="#99f27f" stroke="#99f27f" points="2912.86,-995.745 2913.12,-984.782 2910.92,-991.138 2908.98,-986.531 2908.98,-986.531 2908.98,-986.531 2910.92,-991.138 2904.83,-988.279 2912.86,-995.745 2912.86,-995.745"/>
<text text-anchor="middle" x="2574.68" y="-1578.3" font-family="Times,serif" font-size="14.00">machines_prices</text>
</g>
<!-- TrainingsPricing -->
<g id="node23" class="node"><title>TrainingsPricing</title>
<path fill="none" stroke="black" d="M1556.18,-1396.5C1556.18,-1396.5 1776.18,-1396.5 1776.18,-1396.5 1782.18,-1396.5 1788.18,-1402.5 1788.18,-1408.5 1788.18,-1408.5 1788.18,-1505.5 1788.18,-1505.5 1788.18,-1511.5 1782.18,-1517.5 1776.18,-1517.5 1776.18,-1517.5 1556.18,-1517.5 1556.18,-1517.5 1550.18,-1517.5 1544.18,-1511.5 1544.18,-1505.5 1544.18,-1505.5 1544.18,-1408.5 1544.18,-1408.5 1544.18,-1402.5 1550.18,-1396.5 1556.18,-1396.5"/>
<text text-anchor="middle" x="1666.18" y="-1502.3" font-family="Times,serif" font-size="14.00">TrainingsPricing</text>
<polyline fill="none" stroke="black" points="1544.18,-1494.5 1788.18,-1494.5 "/>
<text text-anchor="start" x="1552.18" y="-1479.3" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="1552.18" y="-1464.3" font-family="Times,serif" font-size="14.00">group_id :integer</text>
<text text-anchor="start" x="1552.18" y="-1449.3" font-family="Times,serif" font-size="14.00">amount :integer</text>
<text text-anchor="start" x="1552.18" y="-1434.3" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="1552.18" y="-1419.3" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
<text text-anchor="start" x="1552.18" y="-1404.3" font-family="Times,serif" font-size="14.00">training_id :integer</text>
</g>
<!-- Group&#45;&gt;TrainingsPricing -->
<g id="edge3" class="edge"><title>Group&#45;&gt;TrainingsPricing</title>
<path fill="none" stroke="#2f7a01" d="M1975.77,-2404.4C1958.76,-2394.24 1940.39,-2384.75 1922.18,-2378 1815.57,-2338.46 1765.35,-2400.66 1669.18,-2340 1442.3,-2196.9 1409.73,-2096.47 1331.18,-1840 1308.4,-1765.64 1475.95,-1612.47 1582.43,-1524.35"/>
<ellipse fill="none" stroke="#2f7a01" cx="1979.56" cy="-2406.71" rx="4.00002" ry="4.00002"/>
<polygon fill="#2f7a01" stroke="#2f7a01" points="1582.59,-1524.22 1593.17,-1521.33 1586.45,-1521.04 1590.31,-1517.86 1590.31,-1517.86 1590.31,-1517.86 1586.45,-1521.04 1587.44,-1514.38 1582.59,-1524.22 1582.59,-1524.22"/>
</g>
<!-- Plan -->
<g id="node26" class="node"><title>Plan</title>
<path fill="none" stroke="black" d="M2107.18,-1063C2107.18,-1063 2327.18,-1063 2327.18,-1063 2333.18,-1063 2339.18,-1069 2339.18,-1075 2339.18,-1075 2339.18,-1307 2339.18,-1307 2339.18,-1313 2333.18,-1319 2327.18,-1319 2327.18,-1319 2107.18,-1319 2107.18,-1319 2101.18,-1319 2095.18,-1313 2095.18,-1307 2095.18,-1307 2095.18,-1075 2095.18,-1075 2095.18,-1069 2101.18,-1063 2107.18,-1063"/>
<text text-anchor="middle" x="2217.18" y="-1303.8" font-family="Times,serif" font-size="14.00">Plan</text>
<polyline fill="none" stroke="black" points="2095.18,-1296 2339.18,-1296 "/>
<text text-anchor="start" x="2103.18" y="-1280.8" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="2103.18" y="-1265.8" font-family="Times,serif" font-size="14.00">name :character varying(255)</text>
<text text-anchor="start" x="2103.18" y="-1250.8" font-family="Times,serif" font-size="14.00">amount :integer</text>
<text text-anchor="start" x="2103.18" y="-1235.8" font-family="Times,serif" font-size="14.00">interval :character varying(255)</text>
<text text-anchor="start" x="2103.18" y="-1220.8" font-family="Times,serif" font-size="14.00">group_id :integer</text>
<text text-anchor="start" x="2103.18" y="-1205.8" font-family="Times,serif" font-size="14.00">stp_plan_id :character varying(255)</text>
<text text-anchor="start" x="2103.18" y="-1190.8" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="2103.18" y="-1175.8" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
<text text-anchor="start" x="2103.18" y="-1160.8" font-family="Times,serif" font-size="14.00">training_credit_nb :integer</text>
<text text-anchor="start" x="2103.18" y="-1145.8" font-family="Times,serif" font-size="14.00">is_rolling :boolean</text>
<text text-anchor="start" x="2103.18" y="-1130.8" font-family="Times,serif" font-size="14.00">description :text</text>
<text text-anchor="start" x="2103.18" y="-1115.8" font-family="Times,serif" font-size="14.00">type :character varying</text>
<text text-anchor="start" x="2103.18" y="-1100.8" font-family="Times,serif" font-size="14.00">base_name :character varying</text>
<text text-anchor="start" x="2103.18" y="-1085.8" font-family="Times,serif" font-size="14.00">ui_weight :integer</text>
<text text-anchor="start" x="2103.18" y="-1070.8" font-family="Times,serif" font-size="14.00">interval_count :integer</text>
</g>
<!-- Group&#45;&gt;Plan -->
<g id="edge1" class="edge"><title>Group&#45;&gt;Plan</title>
<path fill="none" stroke="#fec814" d="M2092.08,-2401.99C2132.93,-2332.59 2192.18,-2212.55 2192.18,-2100 2192.18,-2100 2192.18,-2100 2192.18,-1456 2192.18,-1414.64 2195.26,-1369.79 2199.25,-1329"/>
<ellipse fill="none" stroke="#fec814" cx="2089.98" cy="-2405.52" rx="4.00002" ry="4.00002"/>
<polygon fill="#fec814" stroke="#fec814" points="2199.26,-1328.95 2204.74,-1319.45 2199.76,-1323.98 2200.26,-1319 2200.26,-1319 2200.26,-1319 2199.76,-1323.98 2195.78,-1318.55 2199.26,-1328.95 2199.26,-1328.95"/>
</g>
<!-- User -->
<g id="node31" class="node"><title>User</title>
<path fill="none" stroke="black" d="M1690.68,-1858.5C1690.68,-1858.5 1979.68,-1858.5 1979.68,-1858.5 1985.68,-1858.5 1991.68,-1864.5 1991.68,-1870.5 1991.68,-1870.5 1991.68,-2327.5 1991.68,-2327.5 1991.68,-2333.5 1985.68,-2339.5 1979.68,-2339.5 1979.68,-2339.5 1690.68,-2339.5 1690.68,-2339.5 1684.68,-2339.5 1678.68,-2333.5 1678.68,-2327.5 1678.68,-2327.5 1678.68,-1870.5 1678.68,-1870.5 1678.68,-1864.5 1684.68,-1858.5 1690.68,-1858.5"/>
<text text-anchor="middle" x="1835.18" y="-2324.3" font-family="Times,serif" font-size="14.00">User</text>
<polyline fill="none" stroke="black" points="1678.68,-2316.5 1991.68,-2316.5 "/>
<text text-anchor="start" x="1686.68" y="-2301.3" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="1686.68" y="-2286.3" font-family="Times,serif" font-size="14.00">username :character varying(255)</text>
<text text-anchor="start" x="1686.68" y="-2271.3" font-family="Times,serif" font-size="14.00">email :character varying(255)</text>
<text text-anchor="start" x="1686.68" y="-2256.3" font-family="Times,serif" font-size="14.00">encrypted_password :character varying(255)</text>
<text text-anchor="start" x="1686.68" y="-2241.3" font-family="Times,serif" font-size="14.00">reset_password_token :character varying(255)</text>
<text text-anchor="start" x="1686.68" y="-2226.3" font-family="Times,serif" font-size="14.00">reset_password_sent_at :timestamp without time zone</text>
<text text-anchor="start" x="1686.68" y="-2211.3" font-family="Times,serif" font-size="14.00">remember_created_at :timestamp without time zone</text>
<text text-anchor="start" x="1686.68" y="-2196.3" font-family="Times,serif" font-size="14.00">sign_in_count :integer</text>
<text text-anchor="start" x="1686.68" y="-2181.3" font-family="Times,serif" font-size="14.00">current_sign_in_at :timestamp without time zone</text>
<text text-anchor="start" x="1686.68" y="-2166.3" font-family="Times,serif" font-size="14.00">last_sign_in_at :timestamp without time zone</text>
<text text-anchor="start" x="1686.68" y="-2151.3" font-family="Times,serif" font-size="14.00">current_sign_in_ip :character varying(255)</text>
<text text-anchor="start" x="1686.68" y="-2136.3" font-family="Times,serif" font-size="14.00">last_sign_in_ip :character varying(255)</text>
<text text-anchor="start" x="1686.68" y="-2121.3" font-family="Times,serif" font-size="14.00">confirmation_token :character varying(255)</text>
<text text-anchor="start" x="1686.68" y="-2106.3" font-family="Times,serif" font-size="14.00">confirmed_at :timestamp without time zone</text>
<text text-anchor="start" x="1686.68" y="-2091.3" font-family="Times,serif" font-size="14.00">confirmation_sent_at :timestamp without time zone</text>
<text text-anchor="start" x="1686.68" y="-2076.3" font-family="Times,serif" font-size="14.00">unconfirmed_email :character varying(255)</text>
<text text-anchor="start" x="1686.68" y="-2061.3" font-family="Times,serif" font-size="14.00">failed_attempts :integer</text>
<text text-anchor="start" x="1686.68" y="-2046.3" font-family="Times,serif" font-size="14.00">unlock_token :character varying(255)</text>
<text text-anchor="start" x="1686.68" y="-2031.3" font-family="Times,serif" font-size="14.00">locked_at :timestamp without time zone</text>
<text text-anchor="start" x="1686.68" y="-2016.3" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="1686.68" y="-2001.3" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
<text text-anchor="start" x="1686.68" y="-1986.3" font-family="Times,serif" font-size="14.00">is_allow_contact :boolean</text>
<text text-anchor="start" x="1686.68" y="-1971.3" font-family="Times,serif" font-size="14.00">group_id :integer</text>
<text text-anchor="start" x="1686.68" y="-1956.3" font-family="Times,serif" font-size="14.00">stp_customer_id :character varying(255)</text>
<text text-anchor="start" x="1686.68" y="-1941.3" font-family="Times,serif" font-size="14.00">slug :character varying(255)</text>
<text text-anchor="start" x="1686.68" y="-1926.3" font-family="Times,serif" font-size="14.00">is_active :boolean</text>
<text text-anchor="start" x="1686.68" y="-1911.3" font-family="Times,serif" font-size="14.00">invoicing_disabled :boolean</text>
<text text-anchor="start" x="1686.68" y="-1896.3" font-family="Times,serif" font-size="14.00">provider :character varying</text>
<text text-anchor="start" x="1686.68" y="-1881.3" font-family="Times,serif" font-size="14.00">uid :character varying</text>
<text text-anchor="start" x="1686.68" y="-1866.3" font-family="Times,serif" font-size="14.00">auth_token :character varying</text>
</g>
<!-- Group&#45;&gt;User -->
<g id="edge2" class="edge"><title>Group&#45;&gt;User</title>
<path fill="none" stroke="#a2af27" d="M2018.28,-2401.83C2008.68,-2386 1997.68,-2367.87 1985.93,-2348.51"/>
<ellipse fill="none" stroke="#a2af27" cx="2020.49" cy="-2405.47" rx="4.00002" ry="4.00002"/>
<polygon fill="#a2af27" stroke="#a2af27" points="1985.86,-2348.38 1984.52,-2337.5 1983.26,-2344.11 1980.67,-2339.83 1980.67,-2339.83 1980.67,-2339.83 1983.26,-2344.11 1976.82,-2342.17 1985.86,-2348.38 1985.86,-2348.38"/>
</g>
<!-- InvoiceItem -->
<g id="node3" class="node"><title>InvoiceItem</title>
<path fill="none" stroke="black" d="M2949.68,-1C2949.68,-1 3184.68,-1 3184.68,-1 3190.68,-1 3196.68,-7 3196.68,-13 3196.68,-13 3196.68,-155 3196.68,-155 3196.68,-161 3190.68,-167 3184.68,-167 3184.68,-167 2949.68,-167 2949.68,-167 2943.68,-167 2937.68,-161 2937.68,-155 2937.68,-155 2937.68,-13 2937.68,-13 2937.68,-7 2943.68,-1 2949.68,-1"/>
<text text-anchor="middle" x="3067.18" y="-151.8" font-family="Times,serif" font-size="14.00">InvoiceItem</text>
<polyline fill="none" stroke="black" points="2937.68,-144 3196.68,-144 "/>
<text text-anchor="start" x="2945.68" y="-128.8" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="2945.68" y="-113.8" font-family="Times,serif" font-size="14.00">invoice_id :integer</text>
<text text-anchor="start" x="2945.68" y="-98.8" font-family="Times,serif" font-size="14.00">stp_invoice_item_id :character varying(255)</text>
<text text-anchor="start" x="2945.68" y="-83.8" font-family="Times,serif" font-size="14.00">amount :integer</text>
<text text-anchor="start" x="2945.68" y="-68.8" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="2945.68" y="-53.8" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
<text text-anchor="start" x="2945.68" y="-38.8" font-family="Times,serif" font-size="14.00">description :text</text>
<text text-anchor="start" x="2945.68" y="-23.8" font-family="Times,serif" font-size="14.00">subscription_id :integer</text>
<text text-anchor="start" x="2945.68" y="-8.8" font-family="Times,serif" font-size="14.00">invoice_item_id :integer</text>
</g>
<!-- InvoiceItem&#45;&gt;InvoiceItem -->
<g id="edge5" class="edge"><title>InvoiceItem&#45;&gt;InvoiceItem</title>
<path fill="none" stroke="#0ffbb9" d="M3204.63,-95.7416C3210.66,-92.7418 3214.18,-88.8279 3214.18,-84 3214.18,-79.1721 3210.66,-75.2582 3204.63,-72.2584"/>
<ellipse fill="none" stroke="#0ffbb9" cx="3200.88" cy="-97.1937" rx="4.00001" ry="4.00001"/>
<ellipse fill="#0ffbb9" stroke="#0ffbb9" cx="3200.88" cy="-70.8063" rx="4.00001" ry="4.00001"/>
</g>
<!-- AvailabilityTag -->
<g id="node5" class="node"><title>AvailabilityTag</title>
<path fill="none" stroke="black" d="M4344.18,-1654C4344.18,-1654 4564.18,-1654 4564.18,-1654 4570.18,-1654 4576.18,-1660 4576.18,-1666 4576.18,-1666 4576.18,-1748 4576.18,-1748 4576.18,-1754 4570.18,-1760 4564.18,-1760 4564.18,-1760 4344.18,-1760 4344.18,-1760 4338.18,-1760 4332.18,-1754 4332.18,-1748 4332.18,-1748 4332.18,-1666 4332.18,-1666 4332.18,-1660 4338.18,-1654 4344.18,-1654"/>
<text text-anchor="middle" x="4454.18" y="-1744.8" font-family="Times,serif" font-size="14.00">AvailabilityTag</text>
<polyline fill="none" stroke="black" points="4332.18,-1737 4576.18,-1737 "/>
<text text-anchor="start" x="4340.18" y="-1721.8" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="4340.18" y="-1706.8" font-family="Times,serif" font-size="14.00">availability_id :integer</text>
<text text-anchor="start" x="4340.18" y="-1691.8" font-family="Times,serif" font-size="14.00">tag_id :integer</text>
<text text-anchor="start" x="4340.18" y="-1676.8" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="4340.18" y="-1661.8" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
</g>
<!-- UserAvatar -->
<g id="node6" class="node"><title>UserAvatar</title>
<path fill="none" stroke="black" d="M3144.18,-1389C3144.18,-1389 3364.18,-1389 3364.18,-1389 3370.18,-1389 3376.18,-1395 3376.18,-1401 3376.18,-1401 3376.18,-1513 3376.18,-1513 3376.18,-1519 3370.18,-1525 3364.18,-1525 3364.18,-1525 3144.18,-1525 3144.18,-1525 3138.18,-1525 3132.18,-1519 3132.18,-1513 3132.18,-1513 3132.18,-1401 3132.18,-1401 3132.18,-1395 3138.18,-1389 3144.18,-1389"/>
<text text-anchor="middle" x="3254.18" y="-1509.8" font-family="Times,serif" font-size="14.00">UserAvatar</text>
<polyline fill="none" stroke="black" points="3132.18,-1502 3376.18,-1502 "/>
<text text-anchor="start" x="3140.18" y="-1486.8" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="3140.18" y="-1471.8" font-family="Times,serif" font-size="14.00">viewable_id :integer</text>
<text text-anchor="start" x="3140.18" y="-1456.8" font-family="Times,serif" font-size="14.00">viewable_type :character varying(255)</text>
<text text-anchor="start" x="3140.18" y="-1441.8" font-family="Times,serif" font-size="14.00">attachment :character varying(255)</text>
<text text-anchor="start" x="3140.18" y="-1426.8" font-family="Times,serif" font-size="14.00">type :character varying(255)</text>
<text text-anchor="start" x="3140.18" y="-1411.8" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="3140.18" y="-1396.8" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
</g>
<!-- ProjectImage -->
<g id="node7" class="node"><title>ProjectImage</title>
<path fill="none" stroke="black" d="M340.176,-1389C340.176,-1389 560.176,-1389 560.176,-1389 566.176,-1389 572.176,-1395 572.176,-1401 572.176,-1401 572.176,-1513 572.176,-1513 572.176,-1519 566.176,-1525 560.176,-1525 560.176,-1525 340.176,-1525 340.176,-1525 334.176,-1525 328.176,-1519 328.176,-1513 328.176,-1513 328.176,-1401 328.176,-1401 328.176,-1395 334.176,-1389 340.176,-1389"/>
<text text-anchor="middle" x="450.176" y="-1509.8" font-family="Times,serif" font-size="14.00">ProjectImage</text>
<polyline fill="none" stroke="black" points="328.176,-1502 572.176,-1502 "/>
<text text-anchor="start" x="336.176" y="-1486.8" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="336.176" y="-1471.8" font-family="Times,serif" font-size="14.00">viewable_id :integer</text>
<text text-anchor="start" x="336.176" y="-1456.8" font-family="Times,serif" font-size="14.00">viewable_type :character varying(255)</text>
<text text-anchor="start" x="336.176" y="-1441.8" font-family="Times,serif" font-size="14.00">attachment :character varying(255)</text>
<text text-anchor="start" x="336.176" y="-1426.8" font-family="Times,serif" font-size="14.00">type :character varying(255)</text>
<text text-anchor="start" x="336.176" y="-1411.8" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="336.176" y="-1396.8" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
</g>
<!-- Tag -->
<g id="node8" class="node"><title>Tag</title>
<path fill="none" stroke="black" d="M2586.18,-2416.5C2586.18,-2416.5 2806.18,-2416.5 2806.18,-2416.5 2812.18,-2416.5 2818.18,-2422.5 2818.18,-2428.5 2818.18,-2428.5 2818.18,-2495.5 2818.18,-2495.5 2818.18,-2501.5 2812.18,-2507.5 2806.18,-2507.5 2806.18,-2507.5 2586.18,-2507.5 2586.18,-2507.5 2580.18,-2507.5 2574.18,-2501.5 2574.18,-2495.5 2574.18,-2495.5 2574.18,-2428.5 2574.18,-2428.5 2574.18,-2422.5 2580.18,-2416.5 2586.18,-2416.5"/>
<text text-anchor="middle" x="2696.18" y="-2492.3" font-family="Times,serif" font-size="14.00">Tag</text>
<polyline fill="none" stroke="black" points="2574.18,-2484.5 2818.18,-2484.5 "/>
<text text-anchor="start" x="2582.18" y="-2469.3" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="2582.18" y="-2454.3" font-family="Times,serif" font-size="14.00">name :character varying</text>
<text text-anchor="start" x="2582.18" y="-2439.3" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="2582.18" y="-2424.3" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
</g>
<!-- Tag&#45;&gt;AvailabilityTag -->
<g id="edge8" class="edge"><title>Tag&#45;&gt;AvailabilityTag</title>
<path fill="none" stroke="#35db03" d="M2826.54,-2460.56C3001.71,-2456.1 3320.27,-2434.19 3573.18,-2340 3955.56,-2197.59 4037.42,-2110.21 4343.18,-1840 4367.37,-1818.62 4390.87,-1791.84 4409.97,-1768"/>
<ellipse fill="none" stroke="#35db03" cx="2822.31" cy="-2460.67" rx="4" ry="4"/>
<polygon fill="#35db03" stroke="#35db03" points="4410.07,-1767.87 4419.8,-1762.83 4413.17,-1763.95 4416.28,-1760.03 4416.28,-1760.03 4416.28,-1760.03 4413.17,-1763.95 4412.75,-1757.24 4410.07,-1767.87 4410.07,-1767.87"/>
</g>
<!-- Tag&#45;&gt;User -->
<g id="edge7" class="edge"><title>Tag&#45;&gt;User</title>
<path fill="none" stroke="#dec699" d="M2565.74,-2412.93C2522.42,-2396.58 2474.06,-2377.91 2430.18,-2360 2284.07,-2300.38 2119.85,-2228.23 2001.01,-2175.07"/>
<polygon fill="#dec699" stroke="#dec699" points="2565.83,-2412.97 2573.6,-2420.7 2570.51,-2414.73 2575.19,-2416.49 2575.19,-2416.49 2575.19,-2416.49 2570.51,-2414.73 2576.77,-2412.28 2565.83,-2412.97 2565.83,-2412.97"/>
<polygon fill="#dec699" stroke="#dec699" points="2000.94,-2175.04 1993.65,-2166.85 1996.38,-2173 1991.81,-2170.95 1991.81,-2170.95 1991.81,-2170.95 1996.38,-2173 1989.98,-2175.06 2000.94,-2175.04 2000.94,-2175.04"/>
</g>
<!-- Availability -->
<g id="node42" class="node"><title>Availability</title>
<path fill="none" stroke="black" d="M3332.18,-2031C3332.18,-2031 3552.18,-2031 3552.18,-2031 3558.18,-2031 3564.18,-2037 3564.18,-2043 3564.18,-2043 3564.18,-2155 3564.18,-2155 3564.18,-2161 3558.18,-2167 3552.18,-2167 3552.18,-2167 3332.18,-2167 3332.18,-2167 3326.18,-2167 3320.18,-2161 3320.18,-2155 3320.18,-2155 3320.18,-2043 3320.18,-2043 3320.18,-2037 3326.18,-2031 3332.18,-2031"/>
<text text-anchor="middle" x="3442.18" y="-2151.8" font-family="Times,serif" font-size="14.00">Availability</text>
<polyline fill="none" stroke="black" points="3320.18,-2144 3564.18,-2144 "/>
<text text-anchor="start" x="3328.18" y="-2128.8" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="3328.18" y="-2113.8" font-family="Times,serif" font-size="14.00">start_at :timestamp without time zone</text>
<text text-anchor="start" x="3328.18" y="-2098.8" font-family="Times,serif" font-size="14.00">end_at :timestamp without time zone</text>
<text text-anchor="start" x="3328.18" y="-2083.8" font-family="Times,serif" font-size="14.00">available_type :character varying(255)</text>
<text text-anchor="start" x="3328.18" y="-2068.8" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="3328.18" y="-2053.8" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
<text text-anchor="start" x="3328.18" y="-2038.8" font-family="Times,serif" font-size="14.00">nb_total_places :integer</text>
</g>
<!-- Tag&#45;&gt;Availability -->
<g id="edge9" class="edge"><title>Tag&#45;&gt;Availability</title>
<path fill="none" stroke="#45c70a" d="M2797.59,-2411.92C2930.63,-2347.54 3164.32,-2234.46 3310.78,-2163.58"/>
<polygon fill="#45c70a" stroke="#45c70a" points="2797.4,-2412.02 2786.44,-2412.32 2792.9,-2414.19 2788.4,-2416.37 2788.4,-2416.37 2788.4,-2416.37 2792.9,-2414.19 2790.36,-2420.42 2797.4,-2412.02 2797.4,-2412.02"/>
<polygon fill="#45c70a" stroke="#45c70a" points="3310.86,-2163.54 3321.82,-2163.24 3315.36,-2161.37 3319.86,-2159.19 3319.86,-2159.19 3319.86,-2159.19 3315.36,-2161.37 3317.9,-2155.14 3310.86,-2163.54 3310.86,-2163.54"/>
</g>
<!-- UserTag -->
<g id="node53" class="node"><title>UserTag</title>
<path fill="none" stroke="black" d="M1932.18,-1654C1932.18,-1654 2152.18,-1654 2152.18,-1654 2158.18,-1654 2164.18,-1660 2164.18,-1666 2164.18,-1666 2164.18,-1748 2164.18,-1748 2164.18,-1754 2158.18,-1760 2152.18,-1760 2152.18,-1760 1932.18,-1760 1932.18,-1760 1926.18,-1760 1920.18,-1754 1920.18,-1748 1920.18,-1748 1920.18,-1666 1920.18,-1666 1920.18,-1660 1926.18,-1654 1932.18,-1654"/>
<text text-anchor="middle" x="2042.18" y="-1744.8" font-family="Times,serif" font-size="14.00">UserTag</text>
<polyline fill="none" stroke="black" points="1920.18,-1737 2164.18,-1737 "/>
<text text-anchor="start" x="1928.18" y="-1721.8" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="1928.18" y="-1706.8" font-family="Times,serif" font-size="14.00">user_id :integer</text>
<text text-anchor="start" x="1928.18" y="-1691.8" font-family="Times,serif" font-size="14.00">tag_id :integer</text>
<text text-anchor="start" x="1928.18" y="-1676.8" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="1928.18" y="-1661.8" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
</g>
<!-- Tag&#45;&gt;UserTag -->
<g id="edge6" class="edge"><title>Tag&#45;&gt;UserTag</title>
<path fill="none" stroke="#bfc1c8" d="M2651.96,-2410.09C2535.27,-2275.73 2219.39,-1912.04 2094.25,-1767.95"/>
<ellipse fill="none" stroke="#bfc1c8" cx="2654.84" cy="-2413.41" rx="4.00002" ry="4.00002"/>
<polygon fill="#bfc1c8" stroke="#bfc1c8" points="2093.92,-1767.57 2090.76,-1757.07 2090.64,-1763.8 2087.36,-1760.02 2087.36,-1760.02 2087.36,-1760.02 2090.64,-1763.8 2083.96,-1762.97 2093.92,-1767.57 2093.92,-1767.57"/>
</g>
<!-- Event -->
<g id="node9" class="node"><title>Event</title>
<path fill="none" stroke="black" d="M3651.18,-1609C3651.18,-1609 3871.18,-1609 3871.18,-1609 3877.18,-1609 3883.18,-1615 3883.18,-1621 3883.18,-1621 3883.18,-1793 3883.18,-1793 3883.18,-1799 3877.18,-1805 3871.18,-1805 3871.18,-1805 3651.18,-1805 3651.18,-1805 3645.18,-1805 3639.18,-1799 3639.18,-1793 3639.18,-1793 3639.18,-1621 3639.18,-1621 3639.18,-1615 3645.18,-1609 3651.18,-1609"/>
<text text-anchor="middle" x="3761.18" y="-1789.8" font-family="Times,serif" font-size="14.00">Event</text>
<polyline fill="none" stroke="black" points="3639.18,-1782 3883.18,-1782 "/>
<text text-anchor="start" x="3647.18" y="-1766.8" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="3647.18" y="-1751.8" font-family="Times,serif" font-size="14.00">title :character varying(255)</text>
<text text-anchor="start" x="3647.18" y="-1736.8" font-family="Times,serif" font-size="14.00">description :text</text>
<text text-anchor="start" x="3647.18" y="-1721.8" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="3647.18" y="-1706.8" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
<text text-anchor="start" x="3647.18" y="-1691.8" font-family="Times,serif" font-size="14.00">availability_id :integer</text>
<text text-anchor="start" x="3647.18" y="-1676.8" font-family="Times,serif" font-size="14.00">amount :integer</text>
<text text-anchor="start" x="3647.18" y="-1661.8" font-family="Times,serif" font-size="14.00">reduced_amount :integer</text>
<text text-anchor="start" x="3647.18" y="-1646.8" font-family="Times,serif" font-size="14.00">nb_total_places :integer</text>
<text text-anchor="start" x="3647.18" y="-1631.8" font-family="Times,serif" font-size="14.00">nb_free_places :integer</text>
<text text-anchor="start" x="3647.18" y="-1616.8" font-family="Times,serif" font-size="14.00">recurrence_id :integer</text>
</g>
<!-- EventImage -->
<g id="node33" class="node"><title>EventImage</title>
<path fill="none" stroke="black" d="M3782.18,-1389C3782.18,-1389 4002.18,-1389 4002.18,-1389 4008.18,-1389 4014.18,-1395 4014.18,-1401 4014.18,-1401 4014.18,-1513 4014.18,-1513 4014.18,-1519 4008.18,-1525 4002.18,-1525 4002.18,-1525 3782.18,-1525 3782.18,-1525 3776.18,-1525 3770.18,-1519 3770.18,-1513 3770.18,-1513 3770.18,-1401 3770.18,-1401 3770.18,-1395 3776.18,-1389 3782.18,-1389"/>
<text text-anchor="middle" x="3892.18" y="-1509.8" font-family="Times,serif" font-size="14.00">EventImage</text>
<polyline fill="none" stroke="black" points="3770.18,-1502 4014.18,-1502 "/>
<text text-anchor="start" x="3778.18" y="-1486.8" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="3778.18" y="-1471.8" font-family="Times,serif" font-size="14.00">viewable_id :integer</text>
<text text-anchor="start" x="3778.18" y="-1456.8" font-family="Times,serif" font-size="14.00">viewable_type :character varying(255)</text>
<text text-anchor="start" x="3778.18" y="-1441.8" font-family="Times,serif" font-size="14.00">attachment :character varying(255)</text>
<text text-anchor="start" x="3778.18" y="-1426.8" font-family="Times,serif" font-size="14.00">type :character varying(255)</text>
<text text-anchor="start" x="3778.18" y="-1411.8" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="3778.18" y="-1396.8" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
</g>
<!-- Event&#45;&gt;EventImage -->
<g id="edge10" class="edge"><title>Event&#45;&gt;EventImage</title>
<path fill="none" stroke="#eb102c" d="M3816.4,-1601.45C3828.65,-1578.26 3841.39,-1554.14 3852.85,-1532.45"/>
<ellipse fill="none" stroke="#eb102c" cx="3814.44" cy="-1605.16" rx="4.00002" ry="4.00002"/>
<ellipse fill="#eb102c" stroke="#eb102c" cx="3854.82" cy="-1528.72" rx="4.00002" ry="4.00002"/>
</g>
<!-- EventFile -->
<g id="node52" class="node"><title>EventFile</title>
<path fill="none" stroke="black" d="M4044.18,-1389C4044.18,-1389 4264.18,-1389 4264.18,-1389 4270.18,-1389 4276.18,-1395 4276.18,-1401 4276.18,-1401 4276.18,-1513 4276.18,-1513 4276.18,-1519 4270.18,-1525 4264.18,-1525 4264.18,-1525 4044.18,-1525 4044.18,-1525 4038.18,-1525 4032.18,-1519 4032.18,-1513 4032.18,-1513 4032.18,-1401 4032.18,-1401 4032.18,-1395 4038.18,-1389 4044.18,-1389"/>
<text text-anchor="middle" x="4154.18" y="-1509.8" font-family="Times,serif" font-size="14.00">EventFile</text>
<polyline fill="none" stroke="black" points="4032.18,-1502 4276.18,-1502 "/>
<text text-anchor="start" x="4040.18" y="-1486.8" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="4040.18" y="-1471.8" font-family="Times,serif" font-size="14.00">viewable_id :integer</text>
<text text-anchor="start" x="4040.18" y="-1456.8" font-family="Times,serif" font-size="14.00">viewable_type :character varying(255)</text>
<text text-anchor="start" x="4040.18" y="-1441.8" font-family="Times,serif" font-size="14.00">attachment :character varying(255)</text>
<text text-anchor="start" x="4040.18" y="-1426.8" font-family="Times,serif" font-size="14.00">type :character varying(255)</text>
<text text-anchor="start" x="4040.18" y="-1411.8" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="4040.18" y="-1396.8" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
</g>
<!-- Event&#45;&gt;EventFile -->
<g id="edge11" class="edge"><title>Event&#45;&gt;EventFile</title>
<path fill="none" stroke="#d1245a" d="M3890.48,-1636.12C3933.38,-1611.85 3980.95,-1583.73 4023.18,-1556 4035.04,-1548.21 4047.26,-1539.73 4059.25,-1531.12"/>
<ellipse fill="none" stroke="#d1245a" cx="3886.84" cy="-1638.17" rx="4.00002" ry="4.00002"/>
<polygon fill="#d1245a" stroke="#d1245a" points="4059.41,-1531.01 4070.15,-1528.79 4063.46,-1528.07 4067.51,-1525.14 4067.51,-1525.14 4067.51,-1525.14 4063.46,-1528.07 4064.87,-1521.5 4059.41,-1531.01 4059.41,-1531.01"/>
</g>
<!-- Category -->
<g id="node63" class="node"><title>Category</title>
<path fill="none" stroke="black" d="M3520.18,-1411.5C3520.18,-1411.5 3740.18,-1411.5 3740.18,-1411.5 3746.18,-1411.5 3752.18,-1417.5 3752.18,-1423.5 3752.18,-1423.5 3752.18,-1490.5 3752.18,-1490.5 3752.18,-1496.5 3746.18,-1502.5 3740.18,-1502.5 3740.18,-1502.5 3520.18,-1502.5 3520.18,-1502.5 3514.18,-1502.5 3508.18,-1496.5 3508.18,-1490.5 3508.18,-1490.5 3508.18,-1423.5 3508.18,-1423.5 3508.18,-1417.5 3514.18,-1411.5 3520.18,-1411.5"/>
<text text-anchor="middle" x="3630.18" y="-1487.3" font-family="Times,serif" font-size="14.00">Category</text>
<polyline fill="none" stroke="black" points="3508.18,-1479.5 3752.18,-1479.5 "/>
<text text-anchor="start" x="3516.18" y="-1464.3" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="3516.18" y="-1449.3" font-family="Times,serif" font-size="14.00">name :character varying(255)</text>
<text text-anchor="start" x="3516.18" y="-1434.3" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="3516.18" y="-1419.3" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
</g>
<!-- Event&#45;&gt;Category -->
<g id="edge12" class="edge"><title>Event&#45;&gt;Category</title>
<path fill="none" stroke="#2510b8" d="M3704.98,-1599.62C3688.9,-1569.17 3672.05,-1537.27 3658.42,-1511.48"/>
<polygon fill="#2510b8" stroke="#2510b8" points="3705.11,-1599.85 3705.8,-1610.8 3707.44,-1604.27 3709.78,-1608.7 3709.78,-1608.7 3709.78,-1608.7 3707.44,-1604.27 3713.76,-1606.59 3705.11,-1599.85 3705.11,-1599.85"/>
<polygon fill="#2510b8" stroke="#2510b8" points="3658.41,-1511.46 3657.72,-1500.52 3656.08,-1507.04 3653.74,-1502.62 3653.74,-1502.62 3653.74,-1502.62 3656.08,-1507.04 3649.76,-1504.72 3658.41,-1511.46 3658.41,-1511.46"/>
</g>
<!-- StatisticSubType -->
<g id="node10" class="node"><title>StatisticSubType</title>
<path fill="none" stroke="black" d="M4718.18,-2409C4718.18,-2409 4938.18,-2409 4938.18,-2409 4944.18,-2409 4950.18,-2415 4950.18,-2421 4950.18,-2421 4950.18,-2503 4950.18,-2503 4950.18,-2509 4944.18,-2515 4938.18,-2515 4938.18,-2515 4718.18,-2515 4718.18,-2515 4712.18,-2515 4706.18,-2509 4706.18,-2503 4706.18,-2503 4706.18,-2421 4706.18,-2421 4706.18,-2415 4712.18,-2409 4718.18,-2409"/>
<text text-anchor="middle" x="4828.18" y="-2499.8" font-family="Times,serif" font-size="14.00">StatisticSubType</text>
<polyline fill="none" stroke="black" points="4706.18,-2492 4950.18,-2492 "/>
<text text-anchor="start" x="4714.18" y="-2476.8" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="4714.18" y="-2461.8" font-family="Times,serif" font-size="14.00">key :character varying(255)</text>
<text text-anchor="start" x="4714.18" y="-2446.8" font-family="Times,serif" font-size="14.00">label :character varying(255)</text>
<text text-anchor="start" x="4714.18" y="-2431.8" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="4714.18" y="-2416.8" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
</g>
<!-- StatisticType -->
<g id="node24" class="node"><title>StatisticType</title>
<path fill="none" stroke="black" d="M4648.18,-2023.5C4648.18,-2023.5 4868.18,-2023.5 4868.18,-2023.5 4874.18,-2023.5 4880.18,-2029.5 4880.18,-2035.5 4880.18,-2035.5 4880.18,-2162.5 4880.18,-2162.5 4880.18,-2168.5 4874.18,-2174.5 4868.18,-2174.5 4868.18,-2174.5 4648.18,-2174.5 4648.18,-2174.5 4642.18,-2174.5 4636.18,-2168.5 4636.18,-2162.5 4636.18,-2162.5 4636.18,-2035.5 4636.18,-2035.5 4636.18,-2029.5 4642.18,-2023.5 4648.18,-2023.5"/>
<text text-anchor="middle" x="4758.18" y="-2159.3" font-family="Times,serif" font-size="14.00">StatisticType</text>
<polyline fill="none" stroke="black" points="4636.18,-2151.5 4880.18,-2151.5 "/>
<text text-anchor="start" x="4644.18" y="-2136.3" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="4644.18" y="-2121.3" font-family="Times,serif" font-size="14.00">statistic_index_id :integer</text>
<text text-anchor="start" x="4644.18" y="-2106.3" font-family="Times,serif" font-size="14.00">key :character varying(255)</text>
<text text-anchor="start" x="4644.18" y="-2091.3" font-family="Times,serif" font-size="14.00">label :character varying(255)</text>
<text text-anchor="start" x="4644.18" y="-2076.3" font-family="Times,serif" font-size="14.00">graph :boolean</text>
<text text-anchor="start" x="4644.18" y="-2061.3" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="4644.18" y="-2046.3" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
<text text-anchor="start" x="4644.18" y="-2031.3" font-family="Times,serif" font-size="14.00">simple :boolean</text>
</g>
<!-- StatisticSubType&#45;&gt;StatisticType -->
<g id="edge14" class="edge"><title>StatisticSubType&#45;&gt;StatisticType</title>
<path fill="none" stroke="#8d835b" d="M4816.12,-2398.83C4804.65,-2339.68 4787.3,-2250.22 4774.58,-2184.59"/>
<polygon fill="#8d835b" stroke="#8d835b" points="4816.17,-2399.08 4813.65,-2409.75 4817.12,-2403.98 4818.07,-2408.89 4818.07,-2408.89 4818.07,-2408.89 4817.12,-2403.98 4822.49,-2408.04 4816.17,-2399.08 4816.17,-2399.08"/>
<polygon fill="#8d835b" stroke="#8d835b" points="4774.56,-2184.5 4777.07,-2173.83 4773.61,-2179.59 4772.66,-2174.68 4772.66,-2174.68 4772.66,-2174.68 4773.61,-2179.59 4768.24,-2175.54 4774.56,-2184.5 4774.56,-2184.5"/>
</g>
<!-- StatisticTypeSubType -->
<g id="node62" class="node"><title>StatisticTypeSubType</title>
<path fill="none" stroke="black" d="M4868.18,-1654C4868.18,-1654 5088.18,-1654 5088.18,-1654 5094.18,-1654 5100.18,-1660 5100.18,-1666 5100.18,-1666 5100.18,-1748 5100.18,-1748 5100.18,-1754 5094.18,-1760 5088.18,-1760 5088.18,-1760 4868.18,-1760 4868.18,-1760 4862.18,-1760 4856.18,-1754 4856.18,-1748 4856.18,-1748 4856.18,-1666 4856.18,-1666 4856.18,-1660 4862.18,-1654 4868.18,-1654"/>
<text text-anchor="middle" x="4978.18" y="-1744.8" font-family="Times,serif" font-size="14.00">StatisticTypeSubType</text>
<polyline fill="none" stroke="black" points="4856.18,-1737 5100.18,-1737 "/>
<text text-anchor="start" x="4864.18" y="-1721.8" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="4864.18" y="-1706.8" font-family="Times,serif" font-size="14.00">statistic_type_id :integer</text>
<text text-anchor="start" x="4864.18" y="-1691.8" font-family="Times,serif" font-size="14.00">statistic_sub_type_id :integer</text>
<text text-anchor="start" x="4864.18" y="-1676.8" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="4864.18" y="-1661.8" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
</g>
<!-- StatisticSubType&#45;&gt;StatisticTypeSubType -->
<g id="edge13" class="edge"><title>StatisticSubType&#45;&gt;StatisticTypeSubType</title>
<path fill="none" stroke="#cf2a76" d="M4862.89,-2401.76C4872.78,-2382.61 4882.63,-2360.9 4889.18,-2340 4952.49,-2137.79 4970.87,-1885.03 4976.13,-1770.07"/>
<ellipse fill="none" stroke="#cf2a76" cx="4860.96" cy="-2405.43" rx="4.00002" ry="4.00002"/>
<polygon fill="#cf2a76" stroke="#cf2a76" points="4976.13,-1770.03 4981.06,-1760.24 4976.35,-1765.04 4976.57,-1760.04 4976.57,-1760.04 4976.57,-1760.04 4976.35,-1765.04 4972.07,-1759.84 4976.13,-1770.03 4976.13,-1770.03"/>
</g>
<!-- Project -->
<g id="node11" class="node"><title>Project</title>
<path fill="none" stroke="black" d="M1022.18,-1609C1022.18,-1609 1252.18,-1609 1252.18,-1609 1258.18,-1609 1264.18,-1615 1264.18,-1621 1264.18,-1621 1264.18,-1793 1264.18,-1793 1264.18,-1799 1258.18,-1805 1252.18,-1805 1252.18,-1805 1022.18,-1805 1022.18,-1805 1016.18,-1805 1010.18,-1799 1010.18,-1793 1010.18,-1793 1010.18,-1621 1010.18,-1621 1010.18,-1615 1016.18,-1609 1022.18,-1609"/>
<text text-anchor="middle" x="1137.18" y="-1789.8" font-family="Times,serif" font-size="14.00">Project</text>
<polyline fill="none" stroke="black" points="1010.18,-1782 1264.18,-1782 "/>
<text text-anchor="start" x="1018.18" y="-1766.8" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="1018.18" y="-1751.8" font-family="Times,serif" font-size="14.00">name :character varying(255)</text>
<text text-anchor="start" x="1018.18" y="-1736.8" font-family="Times,serif" font-size="14.00">description :text</text>
<text text-anchor="start" x="1018.18" y="-1721.8" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="1018.18" y="-1706.8" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
<text text-anchor="start" x="1018.18" y="-1691.8" font-family="Times,serif" font-size="14.00">author_id :integer</text>
<text text-anchor="start" x="1018.18" y="-1676.8" font-family="Times,serif" font-size="14.00">tags :text</text>
<text text-anchor="start" x="1018.18" y="-1661.8" font-family="Times,serif" font-size="14.00">licence_id :integer</text>
<text text-anchor="start" x="1018.18" y="-1646.8" font-family="Times,serif" font-size="14.00">state :character varying(255)</text>
<text text-anchor="start" x="1018.18" y="-1631.8" font-family="Times,serif" font-size="14.00">slug :character varying(255)</text>
<text text-anchor="start" x="1018.18" y="-1616.8" font-family="Times,serif" font-size="14.00">published_at :timestamp without time zone</text>
</g>
<!-- Project&#45;&gt;ProjectImage -->
<g id="edge15" class="edge"><title>Project&#45;&gt;ProjectImage</title>
<path fill="none" stroke="#00fbae" d="M1002.16,-1684.4C886.313,-1662.46 717.061,-1622.13 581.176,-1556 566.142,-1548.68 551.095,-1539.55 536.836,-1529.82"/>
<ellipse fill="none" stroke="#00fbae" cx="1006.13" cy="-1685.15" rx="4.00001" ry="4.00001"/>
<ellipse fill="#00fbae" stroke="#00fbae" cx="533.188" cy="-1527.29" rx="4.00002" ry="4.00002"/>
</g>
<!-- Project&#45;&gt;User -->
<g id="edge21" class="edge"><title>Project&#45;&gt;User</title>
<path fill="none" stroke="#628bd1" d="M1273.8,-1758.06C1320.77,-1776.87 1373.11,-1799.64 1419.18,-1824 1445.69,-1838.02 1565.66,-1917.32 1669.99,-1987.03"/>
<polygon fill="#628bd1" stroke="#628bd1" points="1273.77,-1758.05 1266.14,-1750.17 1269.13,-1756.2 1264.48,-1754.35 1264.48,-1754.35 1264.48,-1754.35 1269.13,-1756.2 1262.82,-1758.53 1273.77,-1758.05 1273.77,-1758.05"/>
<polygon fill="#628bd1" stroke="#628bd1" points="1670.12,-1987.11 1675.93,-1996.41 1674.27,-1989.89 1678.43,-1992.67 1678.43,-1992.67 1678.43,-1992.67 1674.27,-1989.89 1680.93,-1988.93 1670.12,-1987.11 1670.12,-1987.11"/>
</g>
<!-- Theme -->
<g id="node37" class="node"><title>Theme</title>
<path fill="none" stroke="black" d="M602.176,-1426.5C602.176,-1426.5 756.176,-1426.5 756.176,-1426.5 762.176,-1426.5 768.176,-1432.5 768.176,-1438.5 768.176,-1438.5 768.176,-1475.5 768.176,-1475.5 768.176,-1481.5 762.176,-1487.5 756.176,-1487.5 756.176,-1487.5 602.176,-1487.5 602.176,-1487.5 596.176,-1487.5 590.176,-1481.5 590.176,-1475.5 590.176,-1475.5 590.176,-1438.5 590.176,-1438.5 590.176,-1432.5 596.176,-1426.5 602.176,-1426.5"/>
<text text-anchor="middle" x="679.176" y="-1472.3" font-family="Times,serif" font-size="14.00">Theme</text>
<polyline fill="none" stroke="black" points="590.176,-1464.5 768.176,-1464.5 "/>
<text text-anchor="start" x="598.176" y="-1449.3" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="598.176" y="-1434.3" font-family="Times,serif" font-size="14.00">name :character varying(255)</text>
</g>
<!-- Project&#45;&gt;Theme -->
<g id="edge19" class="edge"><title>Project&#45;&gt;Theme</title>
<path fill="none" stroke="#e61e57" d="M1000.14,-1663.22C930.139,-1637.91 845.548,-1601.79 777.176,-1556 752.114,-1539.22 728.097,-1515.37 710.112,-1495.4"/>
<polygon fill="#e61e57" stroke="#e61e57" points="1000.5,-1663.35 1008.4,-1670.96 1005.21,-1665.04 1009.92,-1666.72 1009.92,-1666.72 1009.92,-1666.72 1005.21,-1665.04 1011.43,-1662.48 1000.5,-1663.35 1000.5,-1663.35"/>
<polygon fill="#e61e57" stroke="#e61e57" points="709.907,-1495.17 706.65,-1484.7 706.593,-1491.43 703.28,-1487.68 703.28,-1487.68 703.28,-1487.68 706.593,-1491.43 699.91,-1490.66 709.907,-1495.17 709.907,-1495.17"/>
</g>
<!-- ProjectCao -->
<g id="node38" class="node"><title>ProjectCao</title>
<path fill="none" stroke="black" d="M798.176,-1389C798.176,-1389 1018.18,-1389 1018.18,-1389 1024.18,-1389 1030.18,-1395 1030.18,-1401 1030.18,-1401 1030.18,-1513 1030.18,-1513 1030.18,-1519 1024.18,-1525 1018.18,-1525 1018.18,-1525 798.176,-1525 798.176,-1525 792.176,-1525 786.176,-1519 786.176,-1513 786.176,-1513 786.176,-1401 786.176,-1401 786.176,-1395 792.176,-1389 798.176,-1389"/>
<text text-anchor="middle" x="908.176" y="-1509.8" font-family="Times,serif" font-size="14.00">ProjectCao</text>
<polyline fill="none" stroke="black" points="786.176,-1502 1030.18,-1502 "/>
<text text-anchor="start" x="794.176" y="-1486.8" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="794.176" y="-1471.8" font-family="Times,serif" font-size="14.00">viewable_id :integer</text>
<text text-anchor="start" x="794.176" y="-1456.8" font-family="Times,serif" font-size="14.00">viewable_type :character varying(255)</text>
<text text-anchor="start" x="794.176" y="-1441.8" font-family="Times,serif" font-size="14.00">attachment :character varying(255)</text>
<text text-anchor="start" x="794.176" y="-1426.8" font-family="Times,serif" font-size="14.00">type :character varying(255)</text>
<text text-anchor="start" x="794.176" y="-1411.8" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="794.176" y="-1396.8" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
</g>
<!-- Project&#45;&gt;ProjectCao -->
<g id="edge16" class="edge"><title>Project&#45;&gt;ProjectCao</title>
<path fill="none" stroke="#9840dc" d="M1041.86,-1602.77C1020.11,-1579.23 997.421,-1554.65 977.035,-1532.57"/>
<ellipse fill="none" stroke="#9840dc" cx="1044.61" cy="-1605.76" rx="4.00002" ry="4.00002"/>
<polygon fill="#9840dc" stroke="#9840dc" points="976.999,-1532.53 973.521,-1522.13 973.607,-1528.86 970.215,-1525.19 970.215,-1525.19 970.215,-1525.19 973.607,-1528.86 966.909,-1528.24 976.999,-1532.53 976.999,-1532.53"/>
</g>
<!-- ProjectStep -->
<g id="node46" class="node"><title>ProjectStep</title>
<path fill="none" stroke="black" d="M78.176,-1396.5C78.176,-1396.5 298.176,-1396.5 298.176,-1396.5 304.176,-1396.5 310.176,-1402.5 310.176,-1408.5 310.176,-1408.5 310.176,-1505.5 310.176,-1505.5 310.176,-1511.5 304.176,-1517.5 298.176,-1517.5 298.176,-1517.5 78.176,-1517.5 78.176,-1517.5 72.176,-1517.5 66.176,-1511.5 66.176,-1505.5 66.176,-1505.5 66.176,-1408.5 66.176,-1408.5 66.176,-1402.5 72.176,-1396.5 78.176,-1396.5"/>
<text text-anchor="middle" x="188.176" y="-1502.3" font-family="Times,serif" font-size="14.00">ProjectStep</text>
<polyline fill="none" stroke="black" points="66.176,-1494.5 310.176,-1494.5 "/>
<text text-anchor="start" x="74.176" y="-1479.3" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="74.176" y="-1464.3" font-family="Times,serif" font-size="14.00">description :text</text>
<text text-anchor="start" x="74.176" y="-1449.3" font-family="Times,serif" font-size="14.00">project_id :integer</text>
<text text-anchor="start" x="74.176" y="-1434.3" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="74.176" y="-1419.3" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
<text text-anchor="start" x="74.176" y="-1404.3" font-family="Times,serif" font-size="14.00">title :character varying(255)</text>
</g>
<!-- Project&#45;&gt;ProjectStep -->
<g id="edge22" class="edge"><title>Project&#45;&gt;ProjectStep</title>
<path fill="none" stroke="#5b504c" d="M1001.68,-1700.08C834.774,-1688.6 545.575,-1654.89 319.176,-1556 300.051,-1547.65 281.113,-1536.01 263.83,-1523.68"/>
<ellipse fill="none" stroke="#5b504c" cx="1006.03" cy="-1700.37" rx="4" ry="4"/>
<polygon fill="#5b504c" stroke="#5b504c" points="263.557,-1523.48 258.142,-1513.94 259.521,-1520.52 255.485,-1517.57 255.485,-1517.57 255.485,-1517.57 259.521,-1520.52 252.829,-1521.2 263.557,-1523.48 263.557,-1523.48"/>
</g>
<!-- ProjectUser -->
<g id="node60" class="node"><title>ProjectUser</title>
<path fill="none" stroke="black" d="M1256.18,-1389C1256.18,-1389 1476.18,-1389 1476.18,-1389 1482.18,-1389 1488.18,-1395 1488.18,-1401 1488.18,-1401 1488.18,-1513 1488.18,-1513 1488.18,-1519 1482.18,-1525 1476.18,-1525 1476.18,-1525 1256.18,-1525 1256.18,-1525 1250.18,-1525 1244.18,-1519 1244.18,-1513 1244.18,-1513 1244.18,-1401 1244.18,-1401 1244.18,-1395 1250.18,-1389 1256.18,-1389"/>
<text text-anchor="middle" x="1366.18" y="-1509.8" font-family="Times,serif" font-size="14.00">ProjectUser</text>
<polyline fill="none" stroke="black" points="1244.18,-1502 1488.18,-1502 "/>
<text text-anchor="start" x="1252.18" y="-1486.8" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="1252.18" y="-1471.8" font-family="Times,serif" font-size="14.00">project_id :integer</text>
<text text-anchor="start" x="1252.18" y="-1456.8" font-family="Times,serif" font-size="14.00">user_id :integer</text>
<text text-anchor="start" x="1252.18" y="-1441.8" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="1252.18" y="-1426.8" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
<text text-anchor="start" x="1252.18" y="-1411.8" font-family="Times,serif" font-size="14.00">is_valid :boolean</text>
<text text-anchor="start" x="1252.18" y="-1396.8" font-family="Times,serif" font-size="14.00">valid_token :character varying(255)</text>
</g>
<!-- Project&#45;&gt;ProjectUser -->
<g id="edge20" class="edge"><title>Project&#45;&gt;ProjectUser</title>
<path fill="none" stroke="#a5ea3d" d="M1232.49,-1602.77C1254.24,-1579.23 1276.93,-1554.65 1297.32,-1532.57"/>
<ellipse fill="none" stroke="#a5ea3d" cx="1229.74" cy="-1605.76" rx="4.00002" ry="4.00002"/>
<polygon fill="#a5ea3d" stroke="#a5ea3d" points="1297.35,-1532.53 1307.44,-1528.24 1300.74,-1528.86 1304.14,-1525.19 1304.14,-1525.19 1304.14,-1525.19 1300.74,-1528.86 1300.83,-1522.13 1297.35,-1532.53 1297.35,-1532.53"/>
</g>
<!-- Machine -->
<g id="node67" class="node"><title>Machine</title>
<path fill="none" stroke="black" d="M2282.18,-1389C2282.18,-1389 2502.18,-1389 2502.18,-1389 2508.18,-1389 2514.18,-1395 2514.18,-1401 2514.18,-1401 2514.18,-1513 2514.18,-1513 2514.18,-1519 2508.18,-1525 2502.18,-1525 2502.18,-1525 2282.18,-1525 2282.18,-1525 2276.18,-1525 2270.18,-1519 2270.18,-1513 2270.18,-1513 2270.18,-1401 2270.18,-1401 2270.18,-1395 2276.18,-1389 2282.18,-1389"/>
<text text-anchor="middle" x="2392.18" y="-1509.8" font-family="Times,serif" font-size="14.00">Machine</text>
<polyline fill="none" stroke="black" points="2270.18,-1502 2514.18,-1502 "/>
<text text-anchor="start" x="2278.18" y="-1486.8" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="2278.18" y="-1471.8" font-family="Times,serif" font-size="14.00">name :character varying(255)</text>
<text text-anchor="start" x="2278.18" y="-1456.8" font-family="Times,serif" font-size="14.00">description :text</text>
<text text-anchor="start" x="2278.18" y="-1441.8" font-family="Times,serif" font-size="14.00">spec :text</text>
<text text-anchor="start" x="2278.18" y="-1426.8" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="2278.18" y="-1411.8" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
<text text-anchor="start" x="2278.18" y="-1396.8" font-family="Times,serif" font-size="14.00">slug :character varying(255)</text>
</g>
<!-- Project&#45;&gt;Machine -->
<g id="edge17" class="edge"><title>Project&#45;&gt;Machine</title>
<path fill="none" stroke="#2b6a8f" d="M1274.52,-1664.38C1345.71,-1644.35 1434.43,-1621.75 1515.18,-1608 1787.77,-1561.58 1865.56,-1617.42 2135.18,-1556 2176.99,-1546.48 2221.09,-1531.57 2260.73,-1516.24"/>
<polygon fill="#2b6a8f" stroke="#2b6a8f" points="1274.22,-1664.47 1263.37,-1662.86 1269.41,-1665.83 1264.6,-1667.19 1264.6,-1667.19 1264.6,-1667.19 1269.41,-1665.83 1265.82,-1671.52 1274.22,-1664.47 1274.22,-1664.47"/>
<polygon fill="#2b6a8f" stroke="#2b6a8f" points="2260.86,-1516.19 2271.81,-1516.74 2265.52,-1514.37 2270.17,-1512.55 2270.17,-1512.55 2270.17,-1512.55 2265.52,-1514.37 2268.53,-1508.36 2260.86,-1516.19 2260.86,-1516.19"/>
</g>
<!-- Component -->
<g id="node68" class="node"><title>Component</title>
<path fill="none" stroke="black" d="M1060.18,-1426.5C1060.18,-1426.5 1214.18,-1426.5 1214.18,-1426.5 1220.18,-1426.5 1226.18,-1432.5 1226.18,-1438.5 1226.18,-1438.5 1226.18,-1475.5 1226.18,-1475.5 1226.18,-1481.5 1220.18,-1487.5 1214.18,-1487.5 1214.18,-1487.5 1060.18,-1487.5 1060.18,-1487.5 1054.18,-1487.5 1048.18,-1481.5 1048.18,-1475.5 1048.18,-1475.5 1048.18,-1438.5 1048.18,-1438.5 1048.18,-1432.5 1054.18,-1426.5 1060.18,-1426.5"/>
<text text-anchor="middle" x="1137.18" y="-1472.3" font-family="Times,serif" font-size="14.00">Component</text>
<polyline fill="none" stroke="black" points="1048.18,-1464.5 1226.18,-1464.5 "/>
<text text-anchor="start" x="1056.18" y="-1449.3" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="1056.18" y="-1434.3" font-family="Times,serif" font-size="14.00">name :character varying(255)</text>
</g>
<!-- Project&#45;&gt;Component -->
<g id="edge18" class="edge"><title>Project&#45;&gt;Component</title>
<path fill="none" stroke="#49fcf6" d="M1137.18,-1598.48C1137.18,-1562.78 1137.18,-1525.23 1137.18,-1497.94"/>
<polygon fill="#49fcf6" stroke="#49fcf6" points="1137.18,-1598.7 1132.68,-1608.7 1137.18,-1603.7 1137.18,-1608.7 1137.18,-1608.7 1137.18,-1608.7 1137.18,-1603.7 1141.68,-1608.7 1137.18,-1598.7 1137.18,-1598.7"/>
<polygon fill="#49fcf6" stroke="#49fcf6" points="1137.18,-1497.64 1141.68,-1487.64 1137.18,-1492.64 1137.18,-1487.64 1137.18,-1487.64 1137.18,-1487.64 1137.18,-1492.64 1132.68,-1487.64 1137.18,-1497.64 1137.18,-1497.64"/>
</g>
<!-- CustomAsset -->
<g id="node12" class="node"><title>CustomAsset</title>
<path fill="none" stroke="black" d="M5004.18,-2416.5C5004.18,-2416.5 5224.18,-2416.5 5224.18,-2416.5 5230.18,-2416.5 5236.18,-2422.5 5236.18,-2428.5 5236.18,-2428.5 5236.18,-2495.5 5236.18,-2495.5 5236.18,-2501.5 5230.18,-2507.5 5224.18,-2507.5 5224.18,-2507.5 5004.18,-2507.5 5004.18,-2507.5 4998.18,-2507.5 4992.18,-2501.5 4992.18,-2495.5 4992.18,-2495.5 4992.18,-2428.5 4992.18,-2428.5 4992.18,-2422.5 4998.18,-2416.5 5004.18,-2416.5"/>
<text text-anchor="middle" x="5114.18" y="-2492.3" font-family="Times,serif" font-size="14.00">CustomAsset</text>
<polyline fill="none" stroke="black" points="4992.18,-2484.5 5236.18,-2484.5 "/>
<text text-anchor="start" x="5000.18" y="-2469.3" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="5000.18" y="-2454.3" font-family="Times,serif" font-size="14.00">name :character varying</text>
<text text-anchor="start" x="5000.18" y="-2439.3" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="5000.18" y="-2424.3" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
</g>
<!-- CustomAssetFile -->
<g id="node69" class="node"><title>CustomAssetFile</title>
<path fill="none" stroke="black" d="M5004.18,-2031C5004.18,-2031 5224.18,-2031 5224.18,-2031 5230.18,-2031 5236.18,-2037 5236.18,-2043 5236.18,-2043 5236.18,-2155 5236.18,-2155 5236.18,-2161 5230.18,-2167 5224.18,-2167 5224.18,-2167 5004.18,-2167 5004.18,-2167 4998.18,-2167 4992.18,-2161 4992.18,-2155 4992.18,-2155 4992.18,-2043 4992.18,-2043 4992.18,-2037 4998.18,-2031 5004.18,-2031"/>
<text text-anchor="middle" x="5114.18" y="-2151.8" font-family="Times,serif" font-size="14.00">CustomAssetFile</text>
<polyline fill="none" stroke="black" points="4992.18,-2144 5236.18,-2144 "/>
<text text-anchor="start" x="5000.18" y="-2128.8" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="5000.18" y="-2113.8" font-family="Times,serif" font-size="14.00">viewable_id :integer</text>
<text text-anchor="start" x="5000.18" y="-2098.8" font-family="Times,serif" font-size="14.00">viewable_type :character varying(255)</text>
<text text-anchor="start" x="5000.18" y="-2083.8" font-family="Times,serif" font-size="14.00">attachment :character varying(255)</text>
<text text-anchor="start" x="5000.18" y="-2068.8" font-family="Times,serif" font-size="14.00">type :character varying(255)</text>
<text text-anchor="start" x="5000.18" y="-2053.8" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="5000.18" y="-2038.8" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
</g>
<!-- CustomAsset&#45;&gt;CustomAssetFile -->
<g id="edge23" class="edge"><title>CustomAsset&#45;&gt;CustomAssetFile</title>
<path fill="none" stroke="#d68368" d="M5114.18,-2408.05C5114.18,-2346.71 5114.18,-2245.19 5114.18,-2175.58"/>
<ellipse fill="none" stroke="#d68368" cx="5114.18" cy="-2412.37" rx="4" ry="4"/>
<ellipse fill="#d68368" stroke="#d68368" cx="5114.18" cy="-2171.25" rx="4" ry="4"/>
</g>
<!-- Stats::Event -->
<g id="node13" class="node"><title>Stats::Event</title>
<polygon fill="none" stroke="black" points="5254.18,-2439 5254.18,-2485 5336.18,-2485 5336.18,-2439 5254.18,-2439"/>
<text text-anchor="middle" x="5295.18" y="-2469.8" font-family="Times,serif" font-size="14.00">Stats::Event</text>
<polyline fill="none" stroke="black" points="5254.18,-2462 5336.18,-2462 "/>
<text text-anchor="middle" x="5295.18" y="-2446.8" font-family="Times,serif" font-size="14.00"> </text>
</g>
<!-- Stats::Project -->
<g id="node14" class="node"><title>Stats::Project</title>
<polygon fill="none" stroke="black" points="5354.68,-2439 5354.68,-2485 5443.68,-2485 5443.68,-2439 5354.68,-2439"/>
<text text-anchor="middle" x="5399.18" y="-2469.8" font-family="Times,serif" font-size="14.00">Stats::Project</text>
<polyline fill="none" stroke="black" points="5354.68,-2462 5443.68,-2462 "/>
<text text-anchor="middle" x="5399.18" y="-2446.8" font-family="Times,serif" font-size="14.00"> </text>
</g>
<!-- Stats::User -->
<g id="node15" class="node"><title>Stats::User</title>
<polygon fill="none" stroke="black" points="5462.18,-2439 5462.18,-2485 5538.18,-2485 5538.18,-2439 5462.18,-2439"/>
<text text-anchor="middle" x="5500.18" y="-2469.8" font-family="Times,serif" font-size="14.00">Stats::User</text>
<polyline fill="none" stroke="black" points="5462.18,-2462 5538.18,-2462 "/>
<text text-anchor="middle" x="5500.18" y="-2446.8" font-family="Times,serif" font-size="14.00"> </text>
</g>
<!-- Stats::Subscription -->
<g id="node16" class="node"><title>Stats::Subscription</title>
<polygon fill="none" stroke="black" points="5556.68,-2439 5556.68,-2485 5675.68,-2485 5675.68,-2439 5556.68,-2439"/>
<text text-anchor="middle" x="5616.18" y="-2469.8" font-family="Times,serif" font-size="14.00">Stats::Subscription</text>
<polyline fill="none" stroke="black" points="5556.68,-2462 5675.68,-2462 "/>
<text text-anchor="middle" x="5616.18" y="-2446.8" font-family="Times,serif" font-size="14.00"> </text>
</g>
<!-- Stats::Training -->
<g id="node17" class="node"><title>Stats::Training</title>
<polygon fill="none" stroke="black" points="5693.68,-2439 5693.68,-2485 5790.68,-2485 5790.68,-2439 5693.68,-2439"/>
<text text-anchor="middle" x="5742.18" y="-2469.8" font-family="Times,serif" font-size="14.00">Stats::Training</text>
<polyline fill="none" stroke="black" points="5693.68,-2462 5790.68,-2462 "/>
<text text-anchor="middle" x="5742.18" y="-2446.8" font-family="Times,serif" font-size="14.00"> </text>
</g>
<!-- Stats::Account -->
<g id="node18" class="node"><title>Stats::Account</title>
<polygon fill="none" stroke="black" points="5809.18,-2439 5809.18,-2485 5905.18,-2485 5905.18,-2439 5809.18,-2439"/>
<text text-anchor="middle" x="5857.18" y="-2469.8" font-family="Times,serif" font-size="14.00">Stats::Account</text>
<polyline fill="none" stroke="black" points="5809.18,-2462 5905.18,-2462 "/>
<text text-anchor="middle" x="5857.18" y="-2446.8" font-family="Times,serif" font-size="14.00"> </text>
</g>
<!-- Stats::Machine -->
<g id="node19" class="node"><title>Stats::Machine</title>
<polygon fill="none" stroke="black" points="5923.18,-2439 5923.18,-2485 6021.18,-2485 6021.18,-2439 5923.18,-2439"/>
<text text-anchor="middle" x="5972.18" y="-2469.8" font-family="Times,serif" font-size="14.00">Stats::Machine</text>
<polyline fill="none" stroke="black" points="5923.18,-2462 6021.18,-2462 "/>
<text text-anchor="middle" x="5972.18" y="-2446.8" font-family="Times,serif" font-size="14.00"> </text>
</g>
<!-- Invoice -->
<g id="node20" class="node"><title>Invoice</title>
<path fill="none" stroke="black" d="M2725.18,-207C2725.18,-207 2945.18,-207 2945.18,-207 2951.18,-207 2957.18,-213 2957.18,-219 2957.18,-219 2957.18,-451 2957.18,-451 2957.18,-457 2951.18,-463 2945.18,-463 2945.18,-463 2725.18,-463 2725.18,-463 2719.18,-463 2713.18,-457 2713.18,-451 2713.18,-451 2713.18,-219 2713.18,-219 2713.18,-213 2719.18,-207 2725.18,-207"/>
<text text-anchor="middle" x="2835.18" y="-447.8" font-family="Times,serif" font-size="14.00">Invoice</text>
<polyline fill="none" stroke="black" points="2713.18,-440 2957.18,-440 "/>
<text text-anchor="start" x="2721.18" y="-424.8" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="2721.18" y="-409.8" font-family="Times,serif" font-size="14.00">invoiced_id :integer</text>
<text text-anchor="start" x="2721.18" y="-394.8" font-family="Times,serif" font-size="14.00">invoiced_type :character varying(255)</text>
<text text-anchor="start" x="2721.18" y="-379.8" font-family="Times,serif" font-size="14.00">stp_invoice_id :character varying(255)</text>
<text text-anchor="start" x="2721.18" y="-364.8" font-family="Times,serif" font-size="14.00">total :integer</text>
<text text-anchor="start" x="2721.18" y="-349.8" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="2721.18" y="-334.8" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
<text text-anchor="start" x="2721.18" y="-319.8" font-family="Times,serif" font-size="14.00">user_id :integer</text>
<text text-anchor="start" x="2721.18" y="-304.8" font-family="Times,serif" font-size="14.00">reference :character varying(255)</text>
<text text-anchor="start" x="2721.18" y="-289.8" font-family="Times,serif" font-size="14.00">avoir_mode :character varying(255)</text>
<text text-anchor="start" x="2721.18" y="-274.8" font-family="Times,serif" font-size="14.00">avoir_date :timestamp without time zone</text>
<text text-anchor="start" x="2721.18" y="-259.8" font-family="Times,serif" font-size="14.00">invoice_id :integer</text>
<text text-anchor="start" x="2721.18" y="-244.8" font-family="Times,serif" font-size="14.00">type :character varying(255)</text>
<text text-anchor="start" x="2721.18" y="-229.8" font-family="Times,serif" font-size="14.00">subscription_to_expire :boolean</text>
<text text-anchor="start" x="2721.18" y="-214.8" font-family="Times,serif" font-size="14.00">description :text</text>
</g>
<!-- Invoice&#45;&gt;InvoiceItem -->
<g id="edge24" class="edge"><title>Invoice&#45;&gt;InvoiceItem</title>
<path fill="none" stroke="#36ea28" d="M2959.17,-200.918C2967.47,-192.012 2975.71,-183.165 2983.73,-174.56"/>
<ellipse fill="none" stroke="#36ea28" cx="2956.28" cy="-204.02" rx="4.00002" ry="4.00002"/>
<polygon fill="#36ea28" stroke="#36ea28" points="2983.9,-174.381 2994.01,-170.132 2987.31,-170.723 2990.71,-167.065 2990.71,-167.065 2990.71,-167.065 2987.31,-170.723 2987.42,-163.997 2983.9,-174.381 2983.9,-174.381"/>
</g>
<!-- Invoice&#45;&gt;Invoice -->
<g id="edge25" class="edge"><title>Invoice&#45;&gt;Invoice</title>
<path fill="none" stroke="#8f67b2" d="M2964.89,-352.903C2971.36,-348.447 2975.18,-342.479 2975.18,-335 2975.18,-327.521 2971.36,-321.553 2964.89,-317.097"/>
<ellipse fill="none" stroke="#8f67b2" cx="2961.1" cy="-354.953" rx="4.00002" ry="4.00002"/>
<ellipse fill="#8f67b2" stroke="#8f67b2" cx="2961.1" cy="-315.047" rx="4.00002" ry="4.00002"/>
<text text-anchor="middle" x="2989.18" y="-331.3" font-family="Times,serif" font-size="14.00">avoir</text>
</g>
<!-- PlanFile -->
<g id="node21" class="node"><title>PlanFile</title>
<path fill="none" stroke="black" d="M2500.18,-843C2500.18,-843 2720.18,-843 2720.18,-843 2726.18,-843 2732.18,-849 2732.18,-855 2732.18,-855 2732.18,-967 2732.18,-967 2732.18,-973 2726.18,-979 2720.18,-979 2720.18,-979 2500.18,-979 2500.18,-979 2494.18,-979 2488.18,-973 2488.18,-967 2488.18,-967 2488.18,-855 2488.18,-855 2488.18,-849 2494.18,-843 2500.18,-843"/>
<text text-anchor="middle" x="2610.18" y="-963.8" font-family="Times,serif" font-size="14.00">PlanFile</text>
<polyline fill="none" stroke="black" points="2488.18,-956 2732.18,-956 "/>
<text text-anchor="start" x="2496.18" y="-940.8" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="2496.18" y="-925.8" font-family="Times,serif" font-size="14.00">viewable_id :integer</text>
<text text-anchor="start" x="2496.18" y="-910.8" font-family="Times,serif" font-size="14.00">viewable_type :character varying(255)</text>
<text text-anchor="start" x="2496.18" y="-895.8" font-family="Times,serif" font-size="14.00">attachment :character varying(255)</text>
<text text-anchor="start" x="2496.18" y="-880.8" font-family="Times,serif" font-size="14.00">type :character varying(255)</text>
<text text-anchor="start" x="2496.18" y="-865.8" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="2496.18" y="-850.8" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
</g>
<!-- OfferDay -->
<g id="node22" class="node"><title>OfferDay</title>
<path fill="none" stroke="black" d="M2602.18,-584.5C2602.18,-584.5 2822.18,-584.5 2822.18,-584.5 2828.18,-584.5 2834.18,-590.5 2834.18,-596.5 2834.18,-596.5 2834.18,-693.5 2834.18,-693.5 2834.18,-699.5 2828.18,-705.5 2822.18,-705.5 2822.18,-705.5 2602.18,-705.5 2602.18,-705.5 2596.18,-705.5 2590.18,-699.5 2590.18,-693.5 2590.18,-693.5 2590.18,-596.5 2590.18,-596.5 2590.18,-590.5 2596.18,-584.5 2602.18,-584.5"/>
<text text-anchor="middle" x="2712.18" y="-690.3" font-family="Times,serif" font-size="14.00">OfferDay</text>
<polyline fill="none" stroke="black" points="2590.18,-682.5 2834.18,-682.5 "/>
<text text-anchor="start" x="2598.18" y="-667.3" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="2598.18" y="-652.3" font-family="Times,serif" font-size="14.00">subscription_id :integer</text>
<text text-anchor="start" x="2598.18" y="-637.3" font-family="Times,serif" font-size="14.00">start_at :timestamp without time zone</text>
<text text-anchor="start" x="2598.18" y="-622.3" font-family="Times,serif" font-size="14.00">end_at :timestamp without time zone</text>
<text text-anchor="start" x="2598.18" y="-607.3" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="2598.18" y="-592.3" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
</g>
<!-- OfferDay&#45;&gt;Invoice -->
<g id="edge26" class="edge"><title>OfferDay&#45;&gt;Invoice</title>
<path fill="none" stroke="#594f97" d="M2739.17,-576.412C2751.35,-545.894 2766.22,-508.683 2780.57,-472.741"/>
<ellipse fill="none" stroke="#594f97" cx="2737.52" cy="-580.535" rx="4.00001" ry="4.00001"/>
<polygon fill="#594f97" stroke="#594f97" points="2780.69,-472.428 2788.58,-464.81 2782.55,-467.785 2784.4,-463.141 2784.4,-463.141 2784.4,-463.141 2782.55,-467.785 2780.22,-461.472 2780.69,-472.428 2780.69,-472.428"/>
</g>
<!-- StatisticIndex -->
<g id="node48" class="node"><title>StatisticIndex</title>
<path fill="none" stroke="black" d="M4606.18,-1639C4606.18,-1639 4826.18,-1639 4826.18,-1639 4832.18,-1639 4838.18,-1645 4838.18,-1651 4838.18,-1651 4838.18,-1763 4838.18,-1763 4838.18,-1769 4832.18,-1775 4826.18,-1775 4826.18,-1775 4606.18,-1775 4606.18,-1775 4600.18,-1775 4594.18,-1769 4594.18,-1763 4594.18,-1763 4594.18,-1651 4594.18,-1651 4594.18,-1645 4600.18,-1639 4606.18,-1639"/>
<text text-anchor="middle" x="4716.18" y="-1759.8" font-family="Times,serif" font-size="14.00">StatisticIndex</text>
<polyline fill="none" stroke="black" points="4594.18,-1752 4838.18,-1752 "/>
<text text-anchor="start" x="4602.18" y="-1736.8" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="4602.18" y="-1721.8" font-family="Times,serif" font-size="14.00">es_type_key :character varying(255)</text>
<text text-anchor="start" x="4602.18" y="-1706.8" font-family="Times,serif" font-size="14.00">label :character varying(255)</text>
<text text-anchor="start" x="4602.18" y="-1691.8" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="4602.18" y="-1676.8" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
<text text-anchor="start" x="4602.18" y="-1661.8" font-family="Times,serif" font-size="14.00">table :boolean</text>
<text text-anchor="start" x="4602.18" y="-1646.8" font-family="Times,serif" font-size="14.00">ca :boolean</text>
</g>
<!-- StatisticType&#45;&gt;StatisticIndex -->
<g id="edge27" class="edge"><title>StatisticType&#45;&gt;StatisticIndex</title>
<path fill="none" stroke="#4bd3b7" d="M4743.61,-2015.14C4734.7,-1946.63 4724.36,-1850.13 4718.86,-1783.68"/>
<ellipse fill="none" stroke="#4bd3b7" cx="4744.16" cy="-2019.3" rx="4.00001" ry="4.00001"/>
<ellipse fill="#4bd3b7" stroke="#4bd3b7" cx="4718.5" cy="-1779.3" rx="4" ry="4"/>
</g>
<!-- StatisticType&#45;&gt;StatisticTypeSubType -->
<g id="edge28" class="edge"><title>StatisticType&#45;&gt;StatisticTypeSubType</title>
<path fill="none" stroke="#ab93c7" d="M4804.48,-2015.91C4846.07,-1942.19 4906.19,-1835.62 4943.68,-1769.15"/>
<ellipse fill="none" stroke="#ab93c7" cx="4802.3" cy="-2019.78" rx="4.00002" ry="4.00002"/>
<polygon fill="#ab93c7" stroke="#ab93c7" points="4943.9,-1768.75 4952.74,-1762.25 4946.36,-1764.4 4948.82,-1760.04 4948.82,-1760.04 4948.82,-1760.04 4946.36,-1764.4 4944.9,-1757.83 4943.9,-1768.75 4943.9,-1768.75"/>
</g>
<!-- Address -->
<g id="node25" class="node"><title>Address</title>
<path fill="none" stroke="black" d="M2882.18,-1359C2882.18,-1359 3102.18,-1359 3102.18,-1359 3108.18,-1359 3114.18,-1365 3114.18,-1371 3114.18,-1371 3114.18,-1543 3114.18,-1543 3114.18,-1549 3108.18,-1555 3102.18,-1555 3102.18,-1555 2882.18,-1555 2882.18,-1555 2876.18,-1555 2870.18,-1549 2870.18,-1543 2870.18,-1543 2870.18,-1371 2870.18,-1371 2870.18,-1365 2876.18,-1359 2882.18,-1359"/>
<text text-anchor="middle" x="2992.18" y="-1539.8" font-family="Times,serif" font-size="14.00">Address</text>
<polyline fill="none" stroke="black" points="2870.18,-1532 3114.18,-1532 "/>
<text text-anchor="start" x="2878.18" y="-1516.8" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="2878.18" y="-1501.8" font-family="Times,serif" font-size="14.00">address :character varying(255)</text>
<text text-anchor="start" x="2878.18" y="-1486.8" font-family="Times,serif" font-size="14.00">street_number :character varying(255)</text>
<text text-anchor="start" x="2878.18" y="-1471.8" font-family="Times,serif" font-size="14.00">route :character varying(255)</text>
<text text-anchor="start" x="2878.18" y="-1456.8" font-family="Times,serif" font-size="14.00">locality :character varying(255)</text>
<text text-anchor="start" x="2878.18" y="-1441.8" font-family="Times,serif" font-size="14.00">country :character varying(255)</text>
<text text-anchor="start" x="2878.18" y="-1426.8" font-family="Times,serif" font-size="14.00">postal_code :character varying(255)</text>
<text text-anchor="start" x="2878.18" y="-1411.8" font-family="Times,serif" font-size="14.00">placeable_id :integer</text>
<text text-anchor="start" x="2878.18" y="-1396.8" font-family="Times,serif" font-size="14.00">placeable_type :character varying(255)</text>
<text text-anchor="start" x="2878.18" y="-1381.8" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="2878.18" y="-1366.8" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
</g>
<!-- Plan&#45;&gt;Price -->
<g id="edge35" class="edge"><title>Plan&#45;&gt;Price</title>
<path fill="none" stroke="#c1a0a1" d="M2346.18,-1066.02C2348.5,-1064.63 2350.83,-1063.29 2353.18,-1062 2381.31,-1046.5 2393.09,-1055.25 2423.18,-1044 2438.07,-1038.43 2439.82,-1032.14 2455.18,-1028 2578.15,-994.858 2621.65,-1053.98 2741.18,-1010 2753.83,-1005.34 2766.3,-999.044 2778.21,-991.87"/>
<ellipse fill="none" stroke="#c1a0a1" cx="2342.65" cy="-1068.2" rx="4.00002" ry="4.00002"/>
<polygon fill="#c1a0a1" stroke="#c1a0a1" points="2778.31,-991.81 2789.17,-990.317 2782.54,-989.157 2786.78,-986.503 2786.78,-986.503 2786.78,-986.503 2782.54,-989.157 2784.39,-982.689 2778.31,-991.81 2778.31,-991.81"/>
</g>
<!-- Plan&#45;&gt;PlanFile -->
<g id="edge34" class="edge"><title>Plan&#45;&gt;PlanFile</title>
<path fill="none" stroke="#8abc77" d="M2346.3,-1066.68C2348.58,-1065.09 2350.88,-1063.52 2353.18,-1062 2384.36,-1041.33 2395.49,-1042.01 2430.18,-1028 2451.69,-1019.31 2458.78,-1021.07 2479.18,-1010 2493.34,-1002.32 2507.65,-993.227 2521.36,-983.732"/>
<ellipse fill="none" stroke="#8abc77" cx="2342.7" cy="-1069.26" rx="4.00002" ry="4.00002"/>
<ellipse fill="#8abc77" stroke="#8abc77" cx="2524.76" cy="-981.342" rx="4.00002" ry="4.00002"/>
</g>
<!-- Credit -->
<g id="node34" class="node"><title>Credit</title>
<path fill="none" stroke="black" d="M1704.18,-843C1704.18,-843 1924.18,-843 1924.18,-843 1930.18,-843 1936.18,-849 1936.18,-855 1936.18,-855 1936.18,-967 1936.18,-967 1936.18,-973 1930.18,-979 1924.18,-979 1924.18,-979 1704.18,-979 1704.18,-979 1698.18,-979 1692.18,-973 1692.18,-967 1692.18,-967 1692.18,-855 1692.18,-855 1692.18,-849 1698.18,-843 1704.18,-843"/>
<text text-anchor="middle" x="1814.18" y="-963.8" font-family="Times,serif" font-size="14.00">Credit</text>
<polyline fill="none" stroke="black" points="1692.18,-956 1936.18,-956 "/>
<text text-anchor="start" x="1700.18" y="-940.8" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="1700.18" y="-925.8" font-family="Times,serif" font-size="14.00">creditable_id :integer</text>
<text text-anchor="start" x="1700.18" y="-910.8" font-family="Times,serif" font-size="14.00">creditable_type :character varying(255)</text>
<text text-anchor="start" x="1700.18" y="-895.8" font-family="Times,serif" font-size="14.00">plan_id :integer</text>
<text text-anchor="start" x="1700.18" y="-880.8" font-family="Times,serif" font-size="14.00">hours :integer</text>
<text text-anchor="start" x="1700.18" y="-865.8" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="1700.18" y="-850.8" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
</g>
<!-- Plan&#45;&gt;Credit -->
<g id="edge29" class="edge"><title>Plan&#45;&gt;Credit</title>
<path fill="none" stroke="#d79770" d="M2087.97,-1088.46C2074.75,-1079.19 2061.34,-1070.21 2048.18,-1062 2004.67,-1034.85 1988.76,-1037.02 1945.18,-1010 1932.82,-1002.34 1920.17,-993.825 1907.83,-985.104"/>
<ellipse fill="none" stroke="#d79770" cx="2091.59" cy="-1091.02" rx="4.00002" ry="4.00002"/>
<polygon fill="#d79770" stroke="#d79770" points="1907.48,-984.856 1901.96,-975.38 1903.41,-981.948 1899.35,-979.041 1899.35,-979.041 1899.35,-979.041 1903.41,-981.948 1896.73,-982.702 1907.48,-984.856 1907.48,-984.856"/>
</g>
<!-- Plan&#45;&gt;Credit -->
<g id="edge30" class="edge"><title>Plan&#45;&gt;Credit</title>
<path fill="none" stroke="#29d165" d="M2088.59,-1076.38C2064.02,-1058.38 2037.66,-1041.33 2011.18,-1028 1984.02,-1014.33 1972.5,-1023.34 1945.18,-1010 1930.8,-1002.98 1916.42,-994.309 1902.71,-985.05"/>
<ellipse fill="none" stroke="#29d165" cx="2091.91" cy="-1078.84" rx="4.00002" ry="4.00002"/>
<polygon fill="#29d165" stroke="#29d165" points="1902.5,-984.904 1896.84,-975.516 1898.39,-982.061 1894.28,-979.218 1894.28,-979.218 1894.28,-979.218 1898.39,-982.061 1891.72,-982.92 1902.5,-984.904 1902.5,-984.904"/>
<text text-anchor="middle" x="2078.68" y="-1032.3" font-family="Times,serif" font-size="14.00">training_credits</text>
</g>
<!-- Plan&#45;&gt;Credit -->
<g id="edge31" class="edge"><title>Plan&#45;&gt;Credit</title>
<path fill="none" stroke="#f1f1a6" d="M2156.6,-1056.28C2147.39,-1045.41 2136.96,-1035.67 2125.18,-1028 2057.79,-984.142 2020.11,-1039.15 1945.18,-1010 1929.02,-1003.72 1913.13,-994.86 1898.28,-985.015"/>
<ellipse fill="none" stroke="#f1f1a6" cx="2159.36" cy="-1059.7" rx="4.00002" ry="4.00002"/>
<polygon fill="#f1f1a6" stroke="#f1f1a6" points="1897.92,-984.767 1892.21,-975.403 1893.8,-981.941 1889.67,-979.115 1889.67,-979.115 1889.67,-979.115 1893.8,-981.941 1887.13,-982.828 1897.92,-984.767 1897.92,-984.767"/>
<text text-anchor="middle" x="2190.18" y="-1032.3" font-family="Times,serif" font-size="14.00">machine_credits</text>
</g>
<!-- Subscription -->
<g id="node44" class="node"><title>Subscription</title>
<path fill="none" stroke="black" d="M1966.18,-835.5C1966.18,-835.5 2196.18,-835.5 2196.18,-835.5 2202.18,-835.5 2208.18,-841.5 2208.18,-847.5 2208.18,-847.5 2208.18,-974.5 2208.18,-974.5 2208.18,-980.5 2202.18,-986.5 2196.18,-986.5 2196.18,-986.5 1966.18,-986.5 1966.18,-986.5 1960.18,-986.5 1954.18,-980.5 1954.18,-974.5 1954.18,-974.5 1954.18,-847.5 1954.18,-847.5 1954.18,-841.5 1960.18,-835.5 1966.18,-835.5"/>
<text text-anchor="middle" x="2081.18" y="-971.3" font-family="Times,serif" font-size="14.00">Subscription</text>
<polyline fill="none" stroke="black" points="1954.18,-963.5 2208.18,-963.5 "/>
<text text-anchor="start" x="1962.18" y="-948.3" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="1962.18" y="-933.3" font-family="Times,serif" font-size="14.00">plan_id :integer</text>
<text text-anchor="start" x="1962.18" y="-918.3" font-family="Times,serif" font-size="14.00">user_id :integer</text>
<text text-anchor="start" x="1962.18" y="-903.3" font-family="Times,serif" font-size="14.00">stp_subscription_id :character varying(255)</text>
<text text-anchor="start" x="1962.18" y="-888.3" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="1962.18" y="-873.3" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
<text text-anchor="start" x="1962.18" y="-858.3" font-family="Times,serif" font-size="14.00">expired_at :timestamp without time zone</text>
<text text-anchor="start" x="1962.18" y="-843.3" font-family="Times,serif" font-size="14.00">canceled_at :timestamp without time zone</text>
</g>
<!-- Plan&#45;&gt;Subscription -->
<g id="edge32" class="edge"><title>Plan&#45;&gt;Subscription</title>
<path fill="none" stroke="#12e9ef" d="M2313.38,-1054.45C2312.4,-1045.22 2308.9,-1036.3 2302.18,-1028 2277.86,-997.999 2252.49,-1025.62 2217.18,-1010 2205.62,-1004.89 2194.07,-998.687 2182.85,-991.918"/>
<ellipse fill="none" stroke="#12e9ef" cx="2313.51" cy="-1058.63" rx="4" ry="4"/>
<polygon fill="#12e9ef" stroke="#12e9ef" points="2182.85,-991.913 2176.72,-982.816 2178.6,-989.276 2174.35,-986.639 2174.35,-986.639 2174.35,-986.639 2178.6,-989.276 2171.98,-990.462 2182.85,-991.913 2182.85,-991.913"/>
</g>
<!-- PlanImage -->
<g id="node61" class="node"><title>PlanImage</title>
<path fill="none" stroke="black" d="M2238.18,-843C2238.18,-843 2458.18,-843 2458.18,-843 2464.18,-843 2470.18,-849 2470.18,-855 2470.18,-855 2470.18,-967 2470.18,-967 2470.18,-973 2464.18,-979 2458.18,-979 2458.18,-979 2238.18,-979 2238.18,-979 2232.18,-979 2226.18,-973 2226.18,-967 2226.18,-967 2226.18,-855 2226.18,-855 2226.18,-849 2232.18,-843 2238.18,-843"/>
<text text-anchor="middle" x="2348.18" y="-963.8" font-family="Times,serif" font-size="14.00">PlanImage</text>
<polyline fill="none" stroke="black" points="2226.18,-956 2470.18,-956 "/>
<text text-anchor="start" x="2234.18" y="-940.8" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="2234.18" y="-925.8" font-family="Times,serif" font-size="14.00">viewable_id :integer</text>
<text text-anchor="start" x="2234.18" y="-910.8" font-family="Times,serif" font-size="14.00">viewable_type :character varying(255)</text>
<text text-anchor="start" x="2234.18" y="-895.8" font-family="Times,serif" font-size="14.00">attachment :character varying(255)</text>
<text text-anchor="start" x="2234.18" y="-880.8" font-family="Times,serif" font-size="14.00">type :character varying(255)</text>
<text text-anchor="start" x="2234.18" y="-865.8" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="2234.18" y="-850.8" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
</g>
<!-- Plan&#45;&gt;PlanImage -->
<g id="edge33" class="edge"><title>Plan&#45;&gt;PlanImage</title>
<path fill="none" stroke="#dcd8e3" d="M2324.93,-1055.57C2326.8,-1051.73 2328.55,-1047.87 2330.18,-1044 2337.57,-1026.36 2342.07,-1006.35 2344.77,-987.332"/>
<ellipse fill="none" stroke="#dcd8e3" cx="2323.02" cy="-1059.35" rx="4.00002" ry="4.00002"/>
<ellipse fill="#dcd8e3" stroke="#dcd8e3" cx="2345.3" cy="-983.22" rx="4.00001" ry="4.00001"/>
</g>
<!-- MachineFile -->
<g id="node27" class="node"><title>MachineFile</title>
<path fill="none" stroke="black" d="M2407.18,-1123C2407.18,-1123 2627.18,-1123 2627.18,-1123 2633.18,-1123 2639.18,-1129 2639.18,-1135 2639.18,-1135 2639.18,-1247 2639.18,-1247 2639.18,-1253 2633.18,-1259 2627.18,-1259 2627.18,-1259 2407.18,-1259 2407.18,-1259 2401.18,-1259 2395.18,-1253 2395.18,-1247 2395.18,-1247 2395.18,-1135 2395.18,-1135 2395.18,-1129 2401.18,-1123 2407.18,-1123"/>
<text text-anchor="middle" x="2517.18" y="-1243.8" font-family="Times,serif" font-size="14.00">MachineFile</text>
<polyline fill="none" stroke="black" points="2395.18,-1236 2639.18,-1236 "/>
<text text-anchor="start" x="2403.18" y="-1220.8" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="2403.18" y="-1205.8" font-family="Times,serif" font-size="14.00">viewable_id :integer</text>
<text text-anchor="start" x="2403.18" y="-1190.8" font-family="Times,serif" font-size="14.00">viewable_type :character varying(255)</text>
<text text-anchor="start" x="2403.18" y="-1175.8" font-family="Times,serif" font-size="14.00">attachment :character varying(255)</text>
<text text-anchor="start" x="2403.18" y="-1160.8" font-family="Times,serif" font-size="14.00">type :character varying(255)</text>
<text text-anchor="start" x="2403.18" y="-1145.8" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="2403.18" y="-1130.8" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
</g>
<!-- StatisticGraph -->
<g id="node28" class="node"><title>StatisticGraph</title>
<path fill="none" stroke="black" d="M4344.18,-1396.5C4344.18,-1396.5 4564.18,-1396.5 4564.18,-1396.5 4570.18,-1396.5 4576.18,-1402.5 4576.18,-1408.5 4576.18,-1408.5 4576.18,-1505.5 4576.18,-1505.5 4576.18,-1511.5 4570.18,-1517.5 4564.18,-1517.5 4564.18,-1517.5 4344.18,-1517.5 4344.18,-1517.5 4338.18,-1517.5 4332.18,-1511.5 4332.18,-1505.5 4332.18,-1505.5 4332.18,-1408.5 4332.18,-1408.5 4332.18,-1402.5 4338.18,-1396.5 4344.18,-1396.5"/>
<text text-anchor="middle" x="4454.18" y="-1502.3" font-family="Times,serif" font-size="14.00">StatisticGraph</text>
<polyline fill="none" stroke="black" points="4332.18,-1494.5 4576.18,-1494.5 "/>
<text text-anchor="start" x="4340.18" y="-1479.3" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="4340.18" y="-1464.3" font-family="Times,serif" font-size="14.00">statistic_index_id :integer</text>
<text text-anchor="start" x="4340.18" y="-1449.3" font-family="Times,serif" font-size="14.00">chart_type :character varying(255)</text>
<text text-anchor="start" x="4340.18" y="-1434.3" font-family="Times,serif" font-size="14.00">limit :integer</text>
<text text-anchor="start" x="4340.18" y="-1419.3" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="4340.18" y="-1404.3" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
</g>
<!-- OAuth2Mapping -->
<g id="node29" class="node"><title>OAuth2Mapping</title>
<path fill="none" stroke="black" d="M6051.18,-2016C6051.18,-2016 6271.18,-2016 6271.18,-2016 6277.18,-2016 6283.18,-2022 6283.18,-2028 6283.18,-2028 6283.18,-2170 6283.18,-2170 6283.18,-2176 6277.18,-2182 6271.18,-2182 6271.18,-2182 6051.18,-2182 6051.18,-2182 6045.18,-2182 6039.18,-2176 6039.18,-2170 6039.18,-2170 6039.18,-2028 6039.18,-2028 6039.18,-2022 6045.18,-2016 6051.18,-2016"/>
<text text-anchor="middle" x="6161.18" y="-2166.8" font-family="Times,serif" font-size="14.00">OAuth2Mapping</text>
<polyline fill="none" stroke="black" points="6039.18,-2159 6283.18,-2159 "/>
<text text-anchor="start" x="6047.18" y="-2143.8" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="6047.18" y="-2128.8" font-family="Times,serif" font-size="14.00">o_auth2_provider_id :integer</text>
<text text-anchor="start" x="6047.18" y="-2113.8" font-family="Times,serif" font-size="14.00">local_field :character varying</text>
<text text-anchor="start" x="6047.18" y="-2098.8" font-family="Times,serif" font-size="14.00">api_field :character varying</text>
<text text-anchor="start" x="6047.18" y="-2083.8" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="6047.18" y="-2068.8" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
<text text-anchor="start" x="6047.18" y="-2053.8" font-family="Times,serif" font-size="14.00">local_model :character varying</text>
<text text-anchor="start" x="6047.18" y="-2038.8" font-family="Times,serif" font-size="14.00">api_endpoint :character varying</text>
<text text-anchor="start" x="6047.18" y="-2023.8" font-family="Times,serif" font-size="14.00">api_data_type :character varying</text>
</g>
<!-- Licence -->
<g id="node30" class="node"><title>Licence</title>
<path fill="none" stroke="black" d="M1060.18,-2061C1060.18,-2061 1214.18,-2061 1214.18,-2061 1220.18,-2061 1226.18,-2067 1226.18,-2073 1226.18,-2073 1226.18,-2125 1226.18,-2125 1226.18,-2131 1220.18,-2137 1214.18,-2137 1214.18,-2137 1060.18,-2137 1060.18,-2137 1054.18,-2137 1048.18,-2131 1048.18,-2125 1048.18,-2125 1048.18,-2073 1048.18,-2073 1048.18,-2067 1054.18,-2061 1060.18,-2061"/>
<text text-anchor="middle" x="1137.18" y="-2121.8" font-family="Times,serif" font-size="14.00">Licence</text>
<polyline fill="none" stroke="black" points="1048.18,-2114 1226.18,-2114 "/>
<text text-anchor="start" x="1056.18" y="-2098.8" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="1056.18" y="-2083.8" font-family="Times,serif" font-size="14.00">name :character varying(255)</text>
<text text-anchor="start" x="1056.18" y="-2068.8" font-family="Times,serif" font-size="14.00">description :text</text>
</g>
<!-- Licence&#45;&gt;Project -->
<g id="edge36" class="edge"><title>Licence&#45;&gt;Project</title>
<path fill="none" stroke="#4075bb" d="M1137.18,-2052.78C1137.18,-1995.12 1137.18,-1893.55 1137.18,-1815.54"/>
<ellipse fill="none" stroke="#4075bb" cx="1137.18" cy="-2056.96" rx="4" ry="4"/>
<polygon fill="#4075bb" stroke="#4075bb" points="1137.18,-1815.18 1141.68,-1805.18 1137.18,-1810.18 1137.18,-1805.18 1137.18,-1805.18 1137.18,-1805.18 1137.18,-1810.18 1132.68,-1805.18 1137.18,-1815.18 1137.18,-1815.18"/>
</g>
<!-- User&#45;&gt;Project -->
<g id="edge40" class="edge"><title>User&#45;&gt;Project</title>
<path fill="none" stroke="#279364" d="M1671.49,-2015.35C1575.95,-1966.14 1453.64,-1901.49 1347.18,-1840 1322.91,-1825.98 1297.41,-1810.56 1272.87,-1795.36"/>
<ellipse fill="none" stroke="#279364" cx="1675.06" cy="-2017.18" rx="4.00002" ry="4.00002"/>
<polygon fill="#279364" stroke="#279364" points="1272.73,-1795.27 1266.61,-1786.17 1268.48,-1792.63 1264.24,-1789.99 1264.24,-1789.99 1264.24,-1789.99 1268.48,-1792.63 1261.86,-1793.82 1272.73,-1795.27 1272.73,-1795.27"/>
<text text-anchor="middle" x="1381.18" y="-1828.3" font-family="Times,serif" font-size="14.00">my_projects</text>
</g>
<!-- User&#45;&gt;Invoice -->
<g id="edge48" class="edge"><title>User&#45;&gt;Invoice</title>
<path fill="none" stroke="#bb033e" d="M1827.82,-1850.15C1820.84,-1643.52 1809.6,-1379.46 1797.18,-1358 1781.54,-1331.01 1755.45,-1345.97 1738.18,-1320 1612.38,-1130.93 1565.76,-1006.39 1683.18,-812 1900.13,-452.818 2449.37,-364.665 2703.03,-343.033"/>
<ellipse fill="none" stroke="#bb033e" cx="1827.96" cy="-1854.41" rx="4" ry="4"/>
<polygon fill="#bb033e" stroke="#bb033e" points="2703.07,-343.03 2713.41,-346.686 2708.06,-342.615 2713.04,-342.201 2713.04,-342.201 2713.04,-342.201 2708.06,-342.615 2712.67,-337.717 2703.07,-343.03 2703.07,-343.03"/>
</g>
<!-- User&#45;&gt;Credit -->
<g id="edge47" class="edge"><title>User&#45;&gt;Credit</title>
<path fill="none" stroke="#25915a" d="M1670.3,-1992.12C1609.66,-1943.5 1547.87,-1880.08 1515.18,-1806 1479.65,-1725.49 1511.66,-1695.93 1515.18,-1608 1519.62,-1496.62 1504.68,-1465.21 1535.18,-1358 1575.64,-1215.75 1605.08,-1185.01 1687.18,-1062 1704.28,-1036.37 1725.12,-1010.16 1744.93,-986.97"/>
<polygon fill="#25915a" stroke="#25915a" points="1670.61,-1992.37 1675.66,-2002.11 1674.53,-1995.47 1678.45,-1998.58 1678.45,-1998.58 1678.45,-1998.58 1674.53,-1995.47 1681.25,-1995.05 1670.61,-1992.37 1670.61,-1992.37"/>
<polygon fill="#25915a" stroke="#25915a" points="1745.07,-986.802 1755.01,-982.162 1748.33,-983.013 1751.6,-979.225 1751.6,-979.225 1751.6,-979.225 1748.33,-983.013 1748.19,-976.288 1745.07,-986.802 1745.07,-986.802"/>
</g>
<!-- Role -->
<g id="node39" class="node"><title>Role</title>
<path fill="none" stroke="black" d="M722.176,-850.5C722.176,-850.5 942.176,-850.5 942.176,-850.5 948.176,-850.5 954.176,-856.5 954.176,-862.5 954.176,-862.5 954.176,-959.5 954.176,-959.5 954.176,-965.5 948.176,-971.5 942.176,-971.5 942.176,-971.5 722.176,-971.5 722.176,-971.5 716.176,-971.5 710.176,-965.5 710.176,-959.5 710.176,-959.5 710.176,-862.5 710.176,-862.5 710.176,-856.5 716.176,-850.5 722.176,-850.5"/>
<text text-anchor="middle" x="832.176" y="-956.3" font-family="Times,serif" font-size="14.00">Role</text>
<polyline fill="none" stroke="black" points="710.176,-948.5 954.176,-948.5 "/>
<text text-anchor="start" x="718.176" y="-933.3" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="718.176" y="-918.3" font-family="Times,serif" font-size="14.00">name :character varying(255)</text>
<text text-anchor="start" x="718.176" y="-903.3" font-family="Times,serif" font-size="14.00">resource_id :integer</text>
<text text-anchor="start" x="718.176" y="-888.3" font-family="Times,serif" font-size="14.00">resource_type :character varying(255)</text>
<text text-anchor="start" x="718.176" y="-873.3" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="718.176" y="-858.3" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
</g>
<!-- User&#45;&gt;Role -->
<g id="edge38" class="edge"><title>User&#45;&gt;Role</title>
<path fill="none" stroke="#0ba3b5" d="M1669.33,-2018.43C1550.75,-1964.87 1385.93,-1897.13 1234.18,-1858 1104.49,-1824.56 38.176,-1841.93 38.176,-1708 38.176,-1708 38.176,-1708 38.176,-1190 38.176,-1132.49 17.4095,-1103.55 57.176,-1062 143.796,-971.498 501.951,-933.759 699.633,-919.578"/>
<polygon fill="#0ba3b5" stroke="#0ba3b5" points="1669.4,-2018.46 1676.65,-2026.69 1673.95,-2020.52 1678.51,-2022.59 1678.51,-2022.59 1678.51,-2022.59 1673.95,-2020.52 1680.36,-2018.49 1669.4,-2018.46 1669.4,-2018.46"/>
<polygon fill="#0ba3b5" stroke="#0ba3b5" points="699.821,-919.565 710.113,-923.348 704.809,-919.212 709.796,-918.859 709.796,-918.859 709.796,-918.859 704.809,-919.212 709.479,-914.371 699.821,-919.565 699.821,-919.565"/>
</g>
<!-- Notification -->
<g id="node43" class="node"><title>Notification</title>
<path fill="none" stroke="black" d="M1536.68,-1609C1536.68,-1609 1775.68,-1609 1775.68,-1609 1781.68,-1609 1787.68,-1615 1787.68,-1621 1787.68,-1621 1787.68,-1793 1787.68,-1793 1787.68,-1799 1781.68,-1805 1775.68,-1805 1775.68,-1805 1536.68,-1805 1536.68,-1805 1530.68,-1805 1524.68,-1799 1524.68,-1793 1524.68,-1793 1524.68,-1621 1524.68,-1621 1524.68,-1615 1530.68,-1609 1536.68,-1609"/>
<text text-anchor="middle" x="1656.18" y="-1789.8" font-family="Times,serif" font-size="14.00">Notification</text>
<polyline fill="none" stroke="black" points="1524.68,-1782 1787.68,-1782 "/>
<text text-anchor="start" x="1532.68" y="-1766.8" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="1532.68" y="-1751.8" font-family="Times,serif" font-size="14.00">receiver_id :integer</text>
<text text-anchor="start" x="1532.68" y="-1736.8" font-family="Times,serif" font-size="14.00">attached_object_id :integer</text>
<text text-anchor="start" x="1532.68" y="-1721.8" font-family="Times,serif" font-size="14.00">attached_object_type :character varying(255)</text>
<text text-anchor="start" x="1532.68" y="-1706.8" font-family="Times,serif" font-size="14.00">notification_type_id :integer</text>
<text text-anchor="start" x="1532.68" y="-1691.8" font-family="Times,serif" font-size="14.00">is_read :boolean</text>
<text text-anchor="start" x="1532.68" y="-1676.8" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="1532.68" y="-1661.8" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
<text text-anchor="start" x="1532.68" y="-1646.8" font-family="Times,serif" font-size="14.00">receiver_type :character varying(255)</text>
<text text-anchor="start" x="1532.68" y="-1631.8" font-family="Times,serif" font-size="14.00">is_send :boolean</text>
<text text-anchor="start" x="1532.68" y="-1616.8" font-family="Times,serif" font-size="14.00">meta_data :jsonb</text>
</g>
<!-- User&#45;&gt;Notification -->
<g id="edge37" class="edge"><title>User&#45;&gt;Notification</title>
<path fill="none" stroke="#ee3084" d="M1721.75,-1850.87C1715.97,-1838.29 1710.34,-1826.02 1704.96,-1814.29"/>
<ellipse fill="none" stroke="#ee3084" cx="1723.46" cy="-1854.59" rx="4.00002" ry="4.00002"/>
<polygon fill="#ee3084" stroke="#ee3084" points="1704.87,-1814.1 1704.79,-1803.13 1702.79,-1809.55 1700.7,-1805.01 1700.7,-1805.01 1700.7,-1805.01 1702.79,-1809.55 1696.61,-1806.89 1704.87,-1814.1 1704.87,-1814.1"/>
</g>
<!-- User&#45;&gt;Subscription -->
<g id="edge45" class="edge"><title>User&#45;&gt;Subscription</title>
<path fill="none" stroke="#867bfd" d="M1833.22,-1849.85C1834.05,-1649.62 1841.5,-1395.29 1873.18,-1358 1924.7,-1297.34 1995.76,-1379.9 2048.18,-1320 2068.94,-1296.27 2076.77,-1109.38 2079.63,-996.945"/>
<ellipse fill="none" stroke="#867bfd" cx="1833.21" cy="-1854.14" rx="4" ry="4"/>
<polygon fill="#867bfd" stroke="#867bfd" points="2079.63,-996.636 2084.38,-986.749 2079.76,-991.637 2079.88,-986.639 2079.88,-986.639 2079.88,-986.639 2079.76,-991.637 2075.38,-986.529 2079.63,-996.636 2079.63,-996.636"/>
</g>
<!-- Training -->
<g id="node45" class="node"><title>Training</title>
<path fill="none" stroke="black" d="M2232.18,-1639C2232.18,-1639 2452.18,-1639 2452.18,-1639 2458.18,-1639 2464.18,-1645 2464.18,-1651 2464.18,-1651 2464.18,-1763 2464.18,-1763 2464.18,-1769 2458.18,-1775 2452.18,-1775 2452.18,-1775 2232.18,-1775 2232.18,-1775 2226.18,-1775 2220.18,-1769 2220.18,-1763 2220.18,-1763 2220.18,-1651 2220.18,-1651 2220.18,-1645 2226.18,-1639 2232.18,-1639"/>
<text text-anchor="middle" x="2342.18" y="-1759.8" font-family="Times,serif" font-size="14.00">Training</text>
<polyline fill="none" stroke="black" points="2220.18,-1752 2464.18,-1752 "/>
<text text-anchor="start" x="2228.18" y="-1736.8" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="2228.18" y="-1721.8" font-family="Times,serif" font-size="14.00">name :character varying(255)</text>
<text text-anchor="start" x="2228.18" y="-1706.8" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="2228.18" y="-1691.8" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
<text text-anchor="start" x="2228.18" y="-1676.8" font-family="Times,serif" font-size="14.00">nb_total_places :integer</text>
<text text-anchor="start" x="2228.18" y="-1661.8" font-family="Times,serif" font-size="14.00">slug :character varying(255)</text>
<text text-anchor="start" x="2228.18" y="-1646.8" font-family="Times,serif" font-size="14.00">description :text</text>
</g>
<!-- User&#45;&gt;Training -->
<g id="edge44" class="edge"><title>User&#45;&gt;Training</title>
<path fill="none" stroke="#2ba0df" d="M1999.94,-1971.26C2081.49,-1908.53 2177.05,-1835.02 2246.44,-1781.64"/>
<polygon fill="#2ba0df" stroke="#2ba0df" points="1999.7,-1971.44 1989.03,-1973.97 1995.74,-1974.49 1991.78,-1977.54 1991.78,-1977.54 1991.78,-1977.54 1995.74,-1974.49 1994.52,-1981.11 1999.7,-1971.44 1999.7,-1971.44"/>
<polygon fill="#2ba0df" stroke="#2ba0df" points="2246.85,-1781.33 2257.52,-1778.8 2250.81,-1778.28 2254.77,-1775.23 2254.77,-1775.23 2254.77,-1775.23 2250.81,-1778.28 2252.03,-1771.67 2246.85,-1781.33 2246.85,-1781.33"/>
</g>
<!-- Reservation -->
<g id="node47" class="node"><title>Reservation</title>
<path fill="none" stroke="black" d="M3039.18,-1100.5C3039.18,-1100.5 3259.18,-1100.5 3259.18,-1100.5 3265.18,-1100.5 3271.18,-1106.5 3271.18,-1112.5 3271.18,-1112.5 3271.18,-1269.5 3271.18,-1269.5 3271.18,-1275.5 3265.18,-1281.5 3259.18,-1281.5 3259.18,-1281.5 3039.18,-1281.5 3039.18,-1281.5 3033.18,-1281.5 3027.18,-1275.5 3027.18,-1269.5 3027.18,-1269.5 3027.18,-1112.5 3027.18,-1112.5 3027.18,-1106.5 3033.18,-1100.5 3039.18,-1100.5"/>
<text text-anchor="middle" x="3149.18" y="-1266.3" font-family="Times,serif" font-size="14.00">Reservation</text>
<polyline fill="none" stroke="black" points="3027.18,-1258.5 3271.18,-1258.5 "/>
<text text-anchor="start" x="3035.18" y="-1243.3" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="3035.18" y="-1228.3" font-family="Times,serif" font-size="14.00">user_id :integer</text>
<text text-anchor="start" x="3035.18" y="-1213.3" font-family="Times,serif" font-size="14.00">message :text</text>
<text text-anchor="start" x="3035.18" y="-1198.3" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="3035.18" y="-1183.3" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
<text text-anchor="start" x="3035.18" y="-1168.3" font-family="Times,serif" font-size="14.00">reservable_id :integer</text>
<text text-anchor="start" x="3035.18" y="-1153.3" font-family="Times,serif" font-size="14.00">reservable_type :character varying(255)</text>
<text text-anchor="start" x="3035.18" y="-1138.3" font-family="Times,serif" font-size="14.00">stp_invoice_id :character varying(255)</text>
<text text-anchor="start" x="3035.18" y="-1123.3" font-family="Times,serif" font-size="14.00">nb_reserve_places :integer</text>
<text text-anchor="start" x="3035.18" y="-1108.3" font-family="Times,serif" font-size="14.00">nb_reserve_reduced_places :integer</text>
</g>
<!-- User&#45;&gt;Reservation -->
<g id="edge42" class="edge"><title>User&#45;&gt;Reservation</title>
<path fill="none" stroke="#3e53db" d="M1999.81,-2078.88C2380.66,-2033.01 3296.8,-1912.58 3385.18,-1806 3448.72,-1729.36 3431.05,-1446.36 3385.18,-1358 3385.18,-1358 3334.27,-1322.19 3279.74,-1283.84"/>
<ellipse fill="none" stroke="#3e53db" cx="1995.72" cy="-2079.37" rx="4.00001" ry="4.00001"/>
<polygon fill="#3e53db" stroke="#3e53db" points="3279.5,-1283.67 3273.91,-1274.24 3275.41,-1280.79 3271.32,-1277.92 3271.32,-1277.92 3271.32,-1277.92 3275.41,-1280.79 3268.73,-1281.6 3279.5,-1283.67 3279.5,-1283.67"/>
</g>
<!-- UsersCredit -->
<g id="node50" class="node"><title>UsersCredit</title>
<path fill="none" stroke="black" d="M647.176,-584.5C647.176,-584.5 867.176,-584.5 867.176,-584.5 873.176,-584.5 879.176,-590.5 879.176,-596.5 879.176,-596.5 879.176,-693.5 879.176,-693.5 879.176,-699.5 873.176,-705.5 867.176,-705.5 867.176,-705.5 647.176,-705.5 647.176,-705.5 641.176,-705.5 635.176,-699.5 635.176,-693.5 635.176,-693.5 635.176,-596.5 635.176,-596.5 635.176,-590.5 641.176,-584.5 647.176,-584.5"/>
<text text-anchor="middle" x="757.176" y="-690.3" font-family="Times,serif" font-size="14.00">UsersCredit</text>
<polyline fill="none" stroke="black" points="635.176,-682.5 879.176,-682.5 "/>
<text text-anchor="start" x="643.176" y="-667.3" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="643.176" y="-652.3" font-family="Times,serif" font-size="14.00">user_id :integer</text>
<text text-anchor="start" x="643.176" y="-637.3" font-family="Times,serif" font-size="14.00">credit_id :integer</text>
<text text-anchor="start" x="643.176" y="-622.3" font-family="Times,serif" font-size="14.00">hours_used :integer</text>
<text text-anchor="start" x="643.176" y="-607.3" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="643.176" y="-592.3" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
</g>
<!-- User&#45;&gt;UsersCredit -->
<g id="edge46" class="edge"><title>User&#45;&gt;UsersCredit</title>
<path fill="none" stroke="#ed9b27" d="M1671.21,-2014.38C1553.05,-1958.68 1387.97,-1890.04 1234.18,-1858 1103.52,-1830.78 140.75,-1886.33 34.176,-1806 -2.63934,-1778.25 0.175956,-1754.1 0.175956,-1708 0.175956,-1708 0.175956,-1708 0.175956,-910 0.175956,-779.24 407.965,-698.209 624.945,-664.349"/>
<ellipse fill="none" stroke="#ed9b27" cx="1674.95" cy="-2016.15" rx="4.00002" ry="4.00002"/>
<polygon fill="#ed9b27" stroke="#ed9b27" points="625.248,-664.303 635.819,-667.22 630.189,-663.538 635.13,-662.773 635.13,-662.773 635.13,-662.773 630.189,-663.538 634.442,-658.326 625.248,-664.303 625.248,-664.303"/>
</g>
<!-- User&#45;&gt;UserTag -->
<g id="edge49" class="edge"><title>User&#45;&gt;UserTag</title>
<path fill="none" stroke="#f2d2c0" d="M1966.31,-1850.93C1982.27,-1820.88 1997.27,-1792.6 2009.66,-1769.26"/>
<ellipse fill="none" stroke="#f2d2c0" cx="1964.32" cy="-1854.69" rx="4.00002" ry="4.00002"/>
<polygon fill="#f2d2c0" stroke="#f2d2c0" points="2009.76,-1769.07 2018.43,-1762.34 2012.11,-1764.65 2014.45,-1760.24 2014.45,-1760.24 2014.45,-1760.24 2012.11,-1764.65 2010.48,-1758.13 2009.76,-1769.07 2009.76,-1769.07"/>
</g>
<!-- UserTraining -->
<g id="node59" class="node"><title>UserTraining</title>
<path fill="none" stroke="black" d="M1894.18,-1404C1894.18,-1404 2114.18,-1404 2114.18,-1404 2120.18,-1404 2126.18,-1410 2126.18,-1416 2126.18,-1416 2126.18,-1498 2126.18,-1498 2126.18,-1504 2120.18,-1510 2114.18,-1510 2114.18,-1510 1894.18,-1510 1894.18,-1510 1888.18,-1510 1882.18,-1504 1882.18,-1498 1882.18,-1498 1882.18,-1416 1882.18,-1416 1882.18,-1410 1888.18,-1404 1894.18,-1404"/>
<text text-anchor="middle" x="2004.18" y="-1494.8" font-family="Times,serif" font-size="14.00">UserTraining</text>
<polyline fill="none" stroke="black" points="1882.18,-1487 2126.18,-1487 "/>
<text text-anchor="start" x="1890.18" y="-1471.8" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="1890.18" y="-1456.8" font-family="Times,serif" font-size="14.00">user_id :integer</text>
<text text-anchor="start" x="1890.18" y="-1441.8" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="1890.18" y="-1426.8" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
<text text-anchor="start" x="1890.18" y="-1411.8" font-family="Times,serif" font-size="14.00">training_id :integer</text>
</g>
<!-- User&#45;&gt;UserTraining -->
<g id="edge43" class="edge"><title>User&#45;&gt;UserTraining</title>
<path fill="none" stroke="#3b0a8e" d="M1869.19,-1850.23C1884.99,-1741.17 1902.22,-1632.2 1911.18,-1608 1922.79,-1576.62 1941.41,-1544.73 1958.95,-1518.46"/>
<ellipse fill="none" stroke="#3b0a8e" cx="1868.58" cy="-1854.45" rx="4.00001" ry="4.00001"/>
<polygon fill="#3b0a8e" stroke="#3b0a8e" points="1958.99,-1518.41 1968.32,-1512.66 1961.79,-1514.28 1964.6,-1510.14 1964.6,-1510.14 1964.6,-1510.14 1961.79,-1514.28 1960.88,-1507.61 1958.99,-1518.41 1958.99,-1518.41"/>
</g>
<!-- User&#45;&gt;ProjectUser -->
<g id="edge41" class="edge"><title>User&#45;&gt;ProjectUser</title>
<path fill="none" stroke="#d23865" d="M1671.42,-2010.08C1604.34,-1966.78 1531.13,-1908.97 1482.18,-1840 1416.52,-1747.49 1387.4,-1617.12 1374.94,-1535.12"/>
<ellipse fill="none" stroke="#d23865" cx="1674.94" cy="-2012.33" rx="4.00002" ry="4.00002"/>
<polygon fill="#d23865" stroke="#d23865" points="1374.92,-1535.01 1377.91,-1524.46 1374.19,-1530.07 1373.46,-1525.12 1373.46,-1525.12 1373.46,-1525.12 1374.19,-1530.07 1369.01,-1525.78 1374.92,-1535.01 1374.92,-1535.01"/>
</g>
<!-- Profile -->
<g id="node70" class="node"><title>Profile</title>
<path fill="none" stroke="black" d="M3144.18,-1609C3144.18,-1609 3364.18,-1609 3364.18,-1609 3370.18,-1609 3376.18,-1615 3376.18,-1621 3376.18,-1621 3376.18,-1793 3376.18,-1793 3376.18,-1799 3370.18,-1805 3364.18,-1805 3364.18,-1805 3144.18,-1805 3144.18,-1805 3138.18,-1805 3132.18,-1799 3132.18,-1793 3132.18,-1793 3132.18,-1621 3132.18,-1621 3132.18,-1615 3138.18,-1609 3144.18,-1609"/>
<text text-anchor="middle" x="3254.18" y="-1789.8" font-family="Times,serif" font-size="14.00">Profile</text>
<polyline fill="none" stroke="black" points="3132.18,-1782 3376.18,-1782 "/>
<text text-anchor="start" x="3140.18" y="-1766.8" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="3140.18" y="-1751.8" font-family="Times,serif" font-size="14.00">user_id :integer</text>
<text text-anchor="start" x="3140.18" y="-1736.8" font-family="Times,serif" font-size="14.00">first_name :character varying(255)</text>
<text text-anchor="start" x="3140.18" y="-1721.8" font-family="Times,serif" font-size="14.00">last_name :character varying(255)</text>
<text text-anchor="start" x="3140.18" y="-1706.8" font-family="Times,serif" font-size="14.00">gender :boolean</text>
<text text-anchor="start" x="3140.18" y="-1691.8" font-family="Times,serif" font-size="14.00">birthday :date</text>
<text text-anchor="start" x="3140.18" y="-1676.8" font-family="Times,serif" font-size="14.00">phone :character varying(255)</text>
<text text-anchor="start" x="3140.18" y="-1661.8" font-family="Times,serif" font-size="14.00">interest :text</text>
<text text-anchor="start" x="3140.18" y="-1646.8" font-family="Times,serif" font-size="14.00">software_mastered :text</text>
<text text-anchor="start" x="3140.18" y="-1631.8" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="3140.18" y="-1616.8" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
</g>
<!-- User&#45;&gt;Profile -->
<g id="edge39" class="edge"><title>User&#45;&gt;Profile</title>
<path fill="none" stroke="#67c4e7" d="M1999.79,-2052.76C2284.95,-1974.38 2865.11,-1814.93 3124.17,-1743.73"/>
<ellipse fill="none" stroke="#67c4e7" cx="1995.63" cy="-2053.9" rx="4.00001" ry="4.00001"/>
<ellipse fill="#67c4e7" stroke="#67c4e7" cx="3128.26" cy="-1742.61" rx="4.00001" ry="4.00001"/>
</g>
<!-- ProjectStepImage -->
<g id="node32" class="node"><title>ProjectStepImage</title>
<path fill="none" stroke="black" d="M78.176,-1123C78.176,-1123 298.176,-1123 298.176,-1123 304.176,-1123 310.176,-1129 310.176,-1135 310.176,-1135 310.176,-1247 310.176,-1247 310.176,-1253 304.176,-1259 298.176,-1259 298.176,-1259 78.176,-1259 78.176,-1259 72.176,-1259 66.176,-1253 66.176,-1247 66.176,-1247 66.176,-1135 66.176,-1135 66.176,-1129 72.176,-1123 78.176,-1123"/>
<text text-anchor="middle" x="188.176" y="-1243.8" font-family="Times,serif" font-size="14.00">ProjectStepImage</text>
<polyline fill="none" stroke="black" points="66.176,-1236 310.176,-1236 "/>
<text text-anchor="start" x="74.176" y="-1220.8" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="74.176" y="-1205.8" font-family="Times,serif" font-size="14.00">viewable_id :integer</text>
<text text-anchor="start" x="74.176" y="-1190.8" font-family="Times,serif" font-size="14.00">viewable_type :character varying(255)</text>
<text text-anchor="start" x="74.176" y="-1175.8" font-family="Times,serif" font-size="14.00">attachment :character varying(255)</text>
<text text-anchor="start" x="74.176" y="-1160.8" font-family="Times,serif" font-size="14.00">type :character varying(255)</text>
<text text-anchor="start" x="74.176" y="-1145.8" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="74.176" y="-1130.8" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
</g>
<!-- Credit&#45;&gt;UsersCredit -->
<g id="edge50" class="edge"><title>Credit&#45;&gt;UsersCredit</title>
<path fill="none" stroke="#e59e6f" d="M1684.31,-877.563C1481.78,-826.981 1092.88,-729.847 889.105,-678.951"/>
<ellipse fill="none" stroke="#e59e6f" cx="1688.27" cy="-878.553" rx="4.00001" ry="4.00001"/>
<polygon fill="#e59e6f" stroke="#e59e6f" points="888.946,-678.911 880.334,-672.122 884.095,-677.7 879.244,-676.488 879.244,-676.488 879.244,-676.488 884.095,-677.7 878.153,-680.854 888.946,-678.911 888.946,-678.911"/>
</g>
<!-- PartnerPlan -->
<g id="node35" class="node"><title>PartnerPlan</title>
<path fill="none" stroke="black" d="M1807.18,-1063C1807.18,-1063 2027.18,-1063 2027.18,-1063 2033.18,-1063 2039.18,-1069 2039.18,-1075 2039.18,-1075 2039.18,-1307 2039.18,-1307 2039.18,-1313 2033.18,-1319 2027.18,-1319 2027.18,-1319 1807.18,-1319 1807.18,-1319 1801.18,-1319 1795.18,-1313 1795.18,-1307 1795.18,-1307 1795.18,-1075 1795.18,-1075 1795.18,-1069 1801.18,-1063 1807.18,-1063"/>
<text text-anchor="middle" x="1917.18" y="-1303.8" font-family="Times,serif" font-size="14.00">PartnerPlan</text>
<polyline fill="none" stroke="black" points="1795.18,-1296 2039.18,-1296 "/>
<text text-anchor="start" x="1803.18" y="-1280.8" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="1803.18" y="-1265.8" font-family="Times,serif" font-size="14.00">name :character varying(255)</text>
<text text-anchor="start" x="1803.18" y="-1250.8" font-family="Times,serif" font-size="14.00">amount :integer</text>
<text text-anchor="start" x="1803.18" y="-1235.8" font-family="Times,serif" font-size="14.00">interval :character varying(255)</text>
<text text-anchor="start" x="1803.18" y="-1220.8" font-family="Times,serif" font-size="14.00">group_id :integer</text>
<text text-anchor="start" x="1803.18" y="-1205.8" font-family="Times,serif" font-size="14.00">stp_plan_id :character varying(255)</text>
<text text-anchor="start" x="1803.18" y="-1190.8" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="1803.18" y="-1175.8" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
<text text-anchor="start" x="1803.18" y="-1160.8" font-family="Times,serif" font-size="14.00">training_credit_nb :integer</text>
<text text-anchor="start" x="1803.18" y="-1145.8" font-family="Times,serif" font-size="14.00">is_rolling :boolean</text>
<text text-anchor="start" x="1803.18" y="-1130.8" font-family="Times,serif" font-size="14.00">description :text</text>
<text text-anchor="start" x="1803.18" y="-1115.8" font-family="Times,serif" font-size="14.00">type :character varying</text>
<text text-anchor="start" x="1803.18" y="-1100.8" font-family="Times,serif" font-size="14.00">base_name :character varying</text>
<text text-anchor="start" x="1803.18" y="-1085.8" font-family="Times,serif" font-size="14.00">ui_weight :integer</text>
<text text-anchor="start" x="1803.18" y="-1070.8" font-family="Times,serif" font-size="14.00">interval_count :integer</text>
</g>
<!-- PartnerPlan&#45;&gt;Price -->
<g id="edge57" class="edge"><title>PartnerPlan&#45;&gt;Price</title>
<path fill="none" stroke="#714b6b" d="M2046.45,-1081.13C2059.35,-1073.69 2072.68,-1067.13 2086.18,-1062 2134.31,-1043.72 2266.04,-1049.99 2317.18,-1044 2362.75,-1038.66 2373.54,-1032.84 2419.18,-1028 2490.44,-1020.44 2673.83,-1034.51 2741.18,-1010 2753.85,-1005.39 2766.32,-999.116 2778.24,-991.959"/>
<ellipse fill="none" stroke="#714b6b" cx="2042.77" cy="-1083.31" rx="4.00002" ry="4.00002"/>
<polygon fill="#714b6b" stroke="#714b6b" points="2778.34,-991.9 2789.2,-990.418 2782.58,-989.251 2786.82,-986.601 2786.82,-986.601 2786.82,-986.601 2782.58,-989.251 2784.43,-982.785 2778.34,-991.9 2778.34,-991.9"/>
</g>
<!-- PartnerPlan&#45;&gt;PlanFile -->
<g id="edge56" class="edge"><title>PartnerPlan&#45;&gt;PlanFile</title>
<path fill="none" stroke="#0dce8a" d="M2046.67,-1081.7C2059.52,-1074.14 2072.78,-1067.39 2086.18,-1062 2149.69,-1036.43 2171.28,-1052.8 2239.18,-1044 2265.89,-1040.54 2454.28,-1020.28 2479.18,-1010 2495.57,-1003.23 2511.76,-993.937 2526.87,-983.749"/>
<ellipse fill="none" stroke="#0dce8a" cx="2043" cy="-1083.91" rx="4.00002" ry="4.00002"/>
<ellipse fill="#0dce8a" stroke="#0dce8a" cx="2530.44" cy="-981.284" rx="4.00002" ry="4.00002"/>
</g>
<!-- PartnerPlan&#45;&gt;Credit -->
<g id="edge51" class="edge"><title>PartnerPlan&#45;&gt;Credit</title>
<path fill="none" stroke="#306b53" d="M1963.66,-1054.58C1962.58,-1045.43 1960.2,-1036.49 1956.18,-1028 1950.81,-1016.69 1935.33,-1001.38 1916.47,-985.589"/>
<ellipse fill="none" stroke="#306b53" cx="1963.98" cy="-1058.68" rx="4" ry="4"/>
<polygon fill="#306b53" stroke="#306b53" points="1916.23,-985.389 1911.35,-975.567 1912.36,-982.217 1908.5,-979.046 1908.5,-979.046 1908.5,-979.046 1912.36,-982.217 1905.64,-982.524 1916.23,-985.389 1916.23,-985.389"/>
</g>
<!-- PartnerPlan&#45;&gt;Credit -->
<g id="edge52" class="edge"><title>PartnerPlan&#45;&gt;Credit</title>
<path fill="none" stroke="#92e571" d="M1788.78,-1073.52C1771.21,-1057.27 1758.84,-1045.51 1758.18,-1044 1750.33,-1026.14 1752.53,-1006.86 1759.37,-988.683"/>
<ellipse fill="none" stroke="#92e571" cx="1791.99" cy="-1076.48" rx="4.00002" ry="4.00002"/>
<polygon fill="#92e571" stroke="#92e571" points="1759.44,-988.506 1767.48,-981.046 1761.39,-983.9 1763.33,-979.294 1763.33,-979.294 1763.33,-979.294 1761.39,-983.9 1759.19,-977.543 1759.44,-988.506 1759.44,-988.506"/>
<text text-anchor="middle" x="1800.68" y="-1032.3" font-family="Times,serif" font-size="14.00">training_credits</text>
</g>
<!-- PartnerPlan&#45;&gt;Credit -->
<g id="edge53" class="edge"><title>PartnerPlan&#45;&gt;Credit</title>
<path fill="none" stroke="#8be98b" d="M1866.25,-1054.99C1864.88,-1051.29 1863.52,-1047.62 1862.18,-1044 1855.61,-1026.25 1848.61,-1007.13 1842.04,-989.095"/>
<ellipse fill="none" stroke="#8be98b" cx="1867.7" cy="-1058.88" rx="4.00001" ry="4.00001"/>
<polygon fill="#8be98b" stroke="#8be98b" points="1841.86,-988.604 1842.67,-977.668 1840.15,-983.905 1838.45,-979.206 1838.45,-979.206 1838.45,-979.206 1840.15,-983.905 1834.22,-980.744 1841.86,-988.604 1841.86,-988.604"/>
<text text-anchor="middle" x="1907.18" y="-1032.3" font-family="Times,serif" font-size="14.00">machine_credits</text>
</g>
<!-- PartnerPlan&#45;&gt;Role -->
<g id="edge58" class="edge"><title>PartnerPlan&#45;&gt;Role</title>
<path fill="none" stroke="#338be0" d="M1787.03,-1156.65C1579,-1103.35 1173.72,-999.511 964.386,-945.875"/>
<ellipse fill="none" stroke="#338be0" cx="1791.21" cy="-1157.72" rx="4.00001" ry="4.00001"/>
<polygon fill="#338be0" stroke="#338be0" points="964.255,-945.841 955.685,-939 959.411,-944.6 954.568,-943.359 954.568,-943.359 954.568,-943.359 959.411,-944.6 953.451,-947.719 964.255,-945.841 964.255,-945.841"/>
</g>
<!-- PartnerPlan&#45;&gt;Subscription -->
<g id="edge54" class="edge"><title>PartnerPlan&#45;&gt;Subscription</title>
<path fill="none" stroke="#02ea41" d="M1996.36,-1055.77C2008.51,-1035.18 2020.74,-1014.45 2031.98,-995.386"/>
<ellipse fill="none" stroke="#02ea41" cx="1994.25" cy="-1059.35" rx="4.00002" ry="4.00002"/>
<polygon fill="#02ea41" stroke="#02ea41" points="2032,-995.365 2040.95,-989.038 2034.54,-991.058 2037.08,-986.752 2037.08,-986.752 2037.08,-986.752 2034.54,-991.058 2033.2,-984.465 2032,-995.365 2032,-995.365"/>
</g>
<!-- PartnerPlan&#45;&gt;PlanImage -->
<g id="edge55" class="edge"><title>PartnerPlan&#45;&gt;PlanImage</title>
<path fill="none" stroke="#91a048" d="M2016.71,-1057.56C2029.88,-1046.11 2044.09,-1035.9 2059.18,-1028 2121.79,-995.221 2151.49,-1036.07 2217.18,-1010 2233.77,-1003.41 2250.12,-994.149 2265.34,-983.922"/>
<ellipse fill="none" stroke="#91a048" cx="2013.71" cy="-1060.24" rx="4.00002" ry="4.00002"/>
<ellipse fill="#91a048" stroke="#91a048" cx="2268.95" cy="-981.431" rx="4.00002" ry="4.00002"/>
</g>
<!-- OAuth2Provider -->
<g id="node36" class="node"><title>OAuth2Provider</title>
<path fill="none" stroke="black" d="M6051.18,-2379C6051.18,-2379 6271.18,-2379 6271.18,-2379 6277.18,-2379 6283.18,-2385 6283.18,-2391 6283.18,-2391 6283.18,-2533 6283.18,-2533 6283.18,-2539 6277.18,-2545 6271.18,-2545 6271.18,-2545 6051.18,-2545 6051.18,-2545 6045.18,-2545 6039.18,-2539 6039.18,-2533 6039.18,-2533 6039.18,-2391 6039.18,-2391 6039.18,-2385 6045.18,-2379 6051.18,-2379"/>
<text text-anchor="middle" x="6161.18" y="-2529.8" font-family="Times,serif" font-size="14.00">OAuth2Provider</text>
<polyline fill="none" stroke="black" points="6039.18,-2522 6283.18,-2522 "/>
<text text-anchor="start" x="6047.18" y="-2506.8" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="6047.18" y="-2491.8" font-family="Times,serif" font-size="14.00">base_url :character varying</text>
<text text-anchor="start" x="6047.18" y="-2476.8" font-family="Times,serif" font-size="14.00">token_endpoint :character varying</text>
<text text-anchor="start" x="6047.18" y="-2461.8" font-family="Times,serif" font-size="14.00">authorization_endpoint :character varying</text>
<text text-anchor="start" x="6047.18" y="-2446.8" font-family="Times,serif" font-size="14.00">client_id :character varying</text>
<text text-anchor="start" x="6047.18" y="-2431.8" font-family="Times,serif" font-size="14.00">client_secret :character varying</text>
<text text-anchor="start" x="6047.18" y="-2416.8" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="6047.18" y="-2401.8" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
<text text-anchor="start" x="6047.18" y="-2386.8" font-family="Times,serif" font-size="14.00">profile_url :character varying</text>
</g>
<!-- OAuth2Provider&#45;&gt;OAuth2Mapping -->
<g id="edge60" class="edge"><title>OAuth2Provider&#45;&gt;OAuth2Mapping</title>
<path fill="none" stroke="#f25f10" d="M6161.18,-2370.58C6161.18,-2316.08 6161.18,-2246.86 6161.18,-2192.07"/>
<ellipse fill="none" stroke="#f25f10" cx="6161.18" cy="-2374.63" rx="4" ry="4"/>
<polygon fill="#f25f10" stroke="#f25f10" points="6161.18,-2192.01 6165.68,-2182.01 6161.18,-2187.01 6161.18,-2182.01 6161.18,-2182.01 6161.18,-2182.01 6161.18,-2187.01 6156.68,-2182.01 6161.18,-2192.01 6161.18,-2192.01"/>
</g>
<!-- AuthProvider -->
<g id="node57" class="node"><title>AuthProvider</title>
<path fill="none" stroke="black" d="M6313.18,-2031C6313.18,-2031 6533.18,-2031 6533.18,-2031 6539.18,-2031 6545.18,-2037 6545.18,-2043 6545.18,-2043 6545.18,-2155 6545.18,-2155 6545.18,-2161 6539.18,-2167 6533.18,-2167 6533.18,-2167 6313.18,-2167 6313.18,-2167 6307.18,-2167 6301.18,-2161 6301.18,-2155 6301.18,-2155 6301.18,-2043 6301.18,-2043 6301.18,-2037 6307.18,-2031 6313.18,-2031"/>
<text text-anchor="middle" x="6423.18" y="-2151.8" font-family="Times,serif" font-size="14.00">AuthProvider</text>
<polyline fill="none" stroke="black" points="6301.18,-2144 6545.18,-2144 "/>
<text text-anchor="start" x="6309.18" y="-2128.8" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="6309.18" y="-2113.8" font-family="Times,serif" font-size="14.00">name :character varying</text>
<text text-anchor="start" x="6309.18" y="-2098.8" font-family="Times,serif" font-size="14.00">status :character varying</text>
<text text-anchor="start" x="6309.18" y="-2083.8" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="6309.18" y="-2068.8" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
<text text-anchor="start" x="6309.18" y="-2053.8" font-family="Times,serif" font-size="14.00">providable_type :character varying</text>
<text text-anchor="start" x="6309.18" y="-2038.8" font-family="Times,serif" font-size="14.00">providable_id :integer</text>
</g>
<!-- OAuth2Provider&#45;&gt;AuthProvider -->
<g id="edge59" class="edge"><title>OAuth2Provider&#45;&gt;AuthProvider</title>
<path fill="none" stroke="#02104e" d="M6263.34,-2372.98C6273.58,-2362.32 6283.42,-2351.23 6292.18,-2340 6332.02,-2288.91 6366.62,-2224.07 6390.24,-2174.67"/>
<ellipse fill="none" stroke="#02104e" cx="6260.4" cy="-2375.98" rx="4.00002" ry="4.00002"/>
<ellipse fill="#02104e" stroke="#02104e" cx="6392.07" cy="-2170.8" rx="4.00002" ry="4.00002"/>
</g>
<!-- Asset -->
<g id="node40" class="node"><title>Asset</title>
<path fill="none" stroke="black" d="M6575.18,-2394C6575.18,-2394 6795.18,-2394 6795.18,-2394 6801.18,-2394 6807.18,-2400 6807.18,-2406 6807.18,-2406 6807.18,-2518 6807.18,-2518 6807.18,-2524 6801.18,-2530 6795.18,-2530 6795.18,-2530 6575.18,-2530 6575.18,-2530 6569.18,-2530 6563.18,-2524 6563.18,-2518 6563.18,-2518 6563.18,-2406 6563.18,-2406 6563.18,-2400 6569.18,-2394 6575.18,-2394"/>
<text text-anchor="middle" x="6685.18" y="-2514.8" font-family="Times,serif" font-size="14.00">Asset</text>
<polyline fill="none" stroke="black" points="6563.18,-2507 6807.18,-2507 "/>
<text text-anchor="start" x="6571.18" y="-2491.8" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="6571.18" y="-2476.8" font-family="Times,serif" font-size="14.00">viewable_id :integer</text>
<text text-anchor="start" x="6571.18" y="-2461.8" font-family="Times,serif" font-size="14.00">viewable_type :character varying(255)</text>
<text text-anchor="start" x="6571.18" y="-2446.8" font-family="Times,serif" font-size="14.00">attachment :character varying(255)</text>
<text text-anchor="start" x="6571.18" y="-2431.8" font-family="Times,serif" font-size="14.00">type :character varying(255)</text>
<text text-anchor="start" x="6571.18" y="-2416.8" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="6571.18" y="-2401.8" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
</g>
<!-- DatabaseProvider -->
<g id="node41" class="node"><title>DatabaseProvider</title>
<path fill="none" stroke="black" d="M6313.18,-2424C6313.18,-2424 6533.18,-2424 6533.18,-2424 6539.18,-2424 6545.18,-2430 6545.18,-2436 6545.18,-2436 6545.18,-2488 6545.18,-2488 6545.18,-2494 6539.18,-2500 6533.18,-2500 6533.18,-2500 6313.18,-2500 6313.18,-2500 6307.18,-2500 6301.18,-2494 6301.18,-2488 6301.18,-2488 6301.18,-2436 6301.18,-2436 6301.18,-2430 6307.18,-2424 6313.18,-2424"/>
<text text-anchor="middle" x="6423.18" y="-2484.8" font-family="Times,serif" font-size="14.00">DatabaseProvider</text>
<polyline fill="none" stroke="black" points="6301.18,-2477 6545.18,-2477 "/>
<text text-anchor="start" x="6309.18" y="-2461.8" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="6309.18" y="-2446.8" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="6309.18" y="-2431.8" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
</g>
<!-- DatabaseProvider&#45;&gt;AuthProvider -->
<g id="edge61" class="edge"><title>DatabaseProvider&#45;&gt;AuthProvider</title>
<path fill="none" stroke="#e78314" d="M6423.18,-2415.6C6423.18,-2355.25 6423.18,-2247.8 6423.18,-2175.23"/>
<ellipse fill="none" stroke="#e78314" cx="6423.18" cy="-2419.73" rx="4" ry="4"/>
<ellipse fill="#e78314" stroke="#e78314" cx="6423.18" cy="-2171" rx="4" ry="4"/>
</g>
<!-- Availability&#45;&gt;AvailabilityTag -->
<g id="edge69" class="edge"><title>Availability&#45;&gt;AvailabilityTag</title>
<path fill="none" stroke="#f9d085" d="M3572.38,-2079.77C3750.64,-2050.49 4076.13,-1981.31 4318.18,-1840 4350.5,-1821.13 4380.96,-1792.96 4404.82,-1767.48"/>
<ellipse fill="none" stroke="#f9d085" cx="3568.21" cy="-2080.45" rx="4.00001" ry="4.00001"/>
<polygon fill="#f9d085" stroke="#f9d085" points="4404.91,-1767.38 4415,-1763.08 4408.3,-1763.71 4411.69,-1760.03 4411.69,-1760.03 4411.69,-1760.03 4408.3,-1763.71 4408.38,-1756.98 4404.91,-1767.38 4404.91,-1767.38"/>
</g>
<!-- Availability&#45;&gt;Event -->
<g id="edge68" class="edge"><title>Availability&#45;&gt;Event</title>
<path fill="none" stroke="#8c8b15" d="M3502.16,-2024.66C3551.33,-1964.55 3621.51,-1878.75 3676.42,-1811.62"/>
<ellipse fill="none" stroke="#8c8b15" cx="3499.55" cy="-2027.86" rx="4.00002" ry="4.00002"/>
<ellipse fill="#8c8b15" stroke="#8c8b15" cx="3679.15" cy="-1808.28" rx="4.00002" ry="4.00002"/>
</g>
<!-- Availability&#45;&gt;Training -->
<g id="edge65" class="edge"><title>Availability&#45;&gt;Training</title>
<path fill="none" stroke="#08202a" d="M3310.14,-2076.9C3125.88,-2043.99 2784.41,-1970.31 2519.18,-1840 2487.24,-1824.31 2455.18,-1802.64 2427.3,-1781.39"/>
<polygon fill="#08202a" stroke="#08202a" points="3310.31,-2076.92 3319.37,-2083.1 3315.23,-2077.8 3320.15,-2078.67 3320.15,-2078.67 3320.15,-2078.67 3315.23,-2077.8 3320.94,-2074.24 3310.31,-2076.92 3310.31,-2076.92"/>
<polygon fill="#08202a" stroke="#08202a" points="2427.09,-1781.22 2421.92,-1771.55 2423.13,-1778.17 2419.17,-1775.11 2419.17,-1775.11 2419.17,-1775.11 2423.13,-1778.17 2416.42,-1778.68 2427.09,-1781.22 2427.09,-1781.22"/>
</g>
<!-- Availability&#45;&gt;Reservation -->
<g id="edge67" class="edge"><title>Availability&#45;&gt;Reservation</title>
<path fill="none" stroke="#181e4a" d="M3445.05,-2020.79C3451.1,-1837.82 3461.33,-1389.32 3418.18,-1338 3392.76,-1307.78 3367.41,-1335.68 3331.18,-1320 3310.64,-1311.11 3290.08,-1299.69 3270.56,-1287.34"/>
<polygon fill="#181e4a" stroke="#181e4a" points="3445.04,-2020.88 3440.21,-2030.72 3444.87,-2025.88 3444.71,-2030.87 3444.71,-2030.87 3444.71,-2030.87 3444.87,-2025.88 3449.2,-2031.03 3445.04,-2020.88 3445.04,-2020.88"/>
<polygon fill="#181e4a" stroke="#181e4a" points="3270.37,-1287.22 3264.4,-1278.02 3266.16,-1284.51 3261.96,-1281.8 3261.96,-1281.8 3261.96,-1281.8 3266.16,-1284.51 3259.52,-1285.59 3270.37,-1287.22 3270.37,-1287.22"/>
</g>
<!-- Slot -->
<g id="node51" class="node"><title>Slot</title>
<path fill="none" stroke="black" d="M3113.18,-813C3113.18,-813 3337.18,-813 3337.18,-813 3343.18,-813 3349.18,-819 3349.18,-825 3349.18,-825 3349.18,-997 3349.18,-997 3349.18,-1003 3343.18,-1009 3337.18,-1009 3337.18,-1009 3113.18,-1009 3113.18,-1009 3107.18,-1009 3101.18,-1003 3101.18,-997 3101.18,-997 3101.18,-825 3101.18,-825 3101.18,-819 3107.18,-813 3113.18,-813"/>
<text text-anchor="middle" x="3225.18" y="-993.8" font-family="Times,serif" font-size="14.00">Slot</text>
<polyline fill="none" stroke="black" points="3101.18,-986 3349.18,-986 "/>
<text text-anchor="start" x="3109.18" y="-970.8" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="3109.18" y="-955.8" font-family="Times,serif" font-size="14.00">start_at :timestamp without time zone</text>
<text text-anchor="start" x="3109.18" y="-940.8" font-family="Times,serif" font-size="14.00">end_at :timestamp without time zone</text>
<text text-anchor="start" x="3109.18" y="-925.8" font-family="Times,serif" font-size="14.00">reservation_id :integer</text>
<text text-anchor="start" x="3109.18" y="-910.8" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="3109.18" y="-895.8" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
<text text-anchor="start" x="3109.18" y="-880.8" font-family="Times,serif" font-size="14.00">availability_id :integer</text>
<text text-anchor="start" x="3109.18" y="-865.8" font-family="Times,serif" font-size="14.00">ex_start_at :timestamp without time zone</text>
<text text-anchor="start" x="3109.18" y="-850.8" font-family="Times,serif" font-size="14.00">canceled_at :timestamp without time zone</text>
<text text-anchor="start" x="3109.18" y="-835.8" font-family="Times,serif" font-size="14.00">ex_end_at :timestamp without time zone</text>
<text text-anchor="start" x="3109.18" y="-820.8" font-family="Times,serif" font-size="14.00">offered :boolean</text>
</g>
<!-- Availability&#45;&gt;Slot -->
<g id="edge66" class="edge"><title>Availability&#45;&gt;Slot</title>
<path fill="none" stroke="#4b3e9a" d="M3462.18,-2023C3480.75,-1968.46 3514.03,-1897.52 3569.18,-1858 3572.87,-1855.35 3887.72,-1806.89 3892.18,-1806 4076.77,-1769.24 4304.18,-1896.22 4304.18,-1708 4304.18,-1708 4304.18,-1708 4304.18,-1190 4304.18,-996.971 3648.43,-935.952 3359.34,-918.431"/>
<ellipse fill="none" stroke="#4b3e9a" cx="3460.81" cy="-2027.13" rx="4.00001" ry="4.00001"/>
<polygon fill="#4b3e9a" stroke="#4b3e9a" points="3359.2,-918.422 3349.48,-913.334 3354.21,-918.124 3349.21,-917.826 3349.21,-917.826 3349.21,-917.826 3354.21,-918.124 3348.95,-922.318 3359.2,-918.422 3359.2,-918.422"/>
</g>
<!-- MachinesAvailability -->
<g id="node54" class="node"><title>MachinesAvailability</title>
<path fill="none" stroke="black" d="M3352.18,-1153C3352.18,-1153 3468.18,-1153 3468.18,-1153 3474.18,-1153 3480.18,-1159 3480.18,-1165 3480.18,-1165 3480.18,-1217 3480.18,-1217 3480.18,-1223 3474.18,-1229 3468.18,-1229 3468.18,-1229 3352.18,-1229 3352.18,-1229 3346.18,-1229 3340.18,-1223 3340.18,-1217 3340.18,-1217 3340.18,-1165 3340.18,-1165 3340.18,-1159 3346.18,-1153 3352.18,-1153"/>
<text text-anchor="middle" x="3410.18" y="-1213.8" font-family="Times,serif" font-size="14.00">MachinesAvailability</text>
<polyline fill="none" stroke="black" points="3340.18,-1206 3480.18,-1206 "/>
<text text-anchor="start" x="3348.18" y="-1190.8" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="3348.18" y="-1175.8" font-family="Times,serif" font-size="14.00">machine_id :integer</text>
<text text-anchor="start" x="3348.18" y="-1160.8" font-family="Times,serif" font-size="14.00">availability_id :integer</text>
</g>
<!-- Availability&#45;&gt;MachinesAvailability -->
<g id="edge62" class="edge"><title>Availability&#45;&gt;MachinesAvailability</title>
<path fill="none" stroke="#4492e2" d="M3451.97,-2022.91C3467.99,-1885.86 3494.38,-1586.42 3456.18,-1338 3450.94,-1303.93 3439.2,-1266.9 3428.89,-1238.66"/>
<ellipse fill="none" stroke="#4492e2" cx="3451.5" cy="-2026.93" rx="4.00001" ry="4.00001"/>
<polygon fill="#4492e2" stroke="#4492e2" points="3428.8,-1238.43 3429.53,-1227.49 3427.06,-1233.75 3425.32,-1229.06 3425.32,-1229.06 3425.32,-1229.06 3427.06,-1233.75 3421.1,-1230.63 3428.8,-1238.43 3428.8,-1238.43"/>
</g>
<!-- TrainingsAvailability -->
<g id="node64" class="node"><title>TrainingsAvailability</title>
<path fill="none" stroke="black" d="M2620.18,-1404C2620.18,-1404 2840.18,-1404 2840.18,-1404 2846.18,-1404 2852.18,-1410 2852.18,-1416 2852.18,-1416 2852.18,-1498 2852.18,-1498 2852.18,-1504 2846.18,-1510 2840.18,-1510 2840.18,-1510 2620.18,-1510 2620.18,-1510 2614.18,-1510 2608.18,-1504 2608.18,-1498 2608.18,-1498 2608.18,-1416 2608.18,-1416 2608.18,-1410 2614.18,-1404 2620.18,-1404"/>
<text text-anchor="middle" x="2730.18" y="-1494.8" font-family="Times,serif" font-size="14.00">TrainingsAvailability</text>
<polyline fill="none" stroke="black" points="2608.18,-1487 2852.18,-1487 "/>
<text text-anchor="start" x="2616.18" y="-1471.8" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="2616.18" y="-1456.8" font-family="Times,serif" font-size="14.00">training_id :integer</text>
<text text-anchor="start" x="2616.18" y="-1441.8" font-family="Times,serif" font-size="14.00">availability_id :integer</text>
<text text-anchor="start" x="2616.18" y="-1426.8" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="2616.18" y="-1411.8" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
</g>
<!-- Availability&#45;&gt;TrainingsAvailability -->
<g id="edge64" class="edge"><title>Availability&#45;&gt;TrainingsAvailability</title>
<path fill="none" stroke="#137ad5" d="M3360.95,-2024.99C3218.54,-1896.98 2926.54,-1634.51 2795.9,-1517.07"/>
<ellipse fill="none" stroke="#137ad5" cx="3364.35" cy="-2028.04" rx="4.00002" ry="4.00002"/>
<polygon fill="#137ad5" stroke="#137ad5" points="2795.72,-1516.92 2791.29,-1506.88 2792,-1513.57 2788.28,-1510.23 2788.28,-1510.23 2788.28,-1510.23 2792,-1513.57 2785.27,-1513.58 2795.72,-1516.92 2795.72,-1516.92"/>
</g>
<!-- Availability&#45;&gt;Machine -->
<g id="edge63" class="edge"><title>Availability&#45;&gt;Machine</title>
<path fill="none" stroke="#161aa7" d="M3310.27,-2054.68C3110.07,-1983.69 2726.1,-1826.4 2473.18,-1590 2456.15,-1574.09 2441.37,-1553.82 2429.26,-1533.97"/>
<polygon fill="#161aa7" stroke="#161aa7" points="3310.53,-2054.77 3318.46,-2062.34 3315.24,-2056.44 3319.96,-2058.1 3319.96,-2058.1 3319.96,-2058.1 3315.24,-2056.44 3321.45,-2053.86 3310.53,-2054.77 3310.53,-2054.77"/>
<polygon fill="#161aa7" stroke="#161aa7" points="2429.16,-1533.8 2427.94,-1522.9 2426.61,-1529.5 2424.07,-1525.2 2424.07,-1525.2 2424.07,-1525.2 2426.61,-1529.5 2420.19,-1527.49 2429.16,-1533.8 2429.16,-1533.8"/>
</g>
<!-- Subscription&#45;&gt;Invoice -->
<g id="edge70" class="edge"><title>Subscription&#45;&gt;Invoice</title>
<path fill="none" stroke="#545a69" d="M2179.65,-829.984C2279.67,-749.294 2439.56,-621.869 2581.18,-516 2620.97,-486.254 2664.93,-454.664 2704.94,-426.388"/>
<ellipse fill="none" stroke="#545a69" cx="2176.27" cy="-832.718" rx="4.00002" ry="4.00002"/>
<polygon fill="#545a69" stroke="#545a69" points="2704.98,-426.36 2715.74,-424.269 2709.06,-423.476 2713.15,-420.593 2713.15,-420.593 2713.15,-420.593 2709.06,-423.476 2710.55,-416.916 2704.98,-426.36 2704.98,-426.36"/>
</g>
<!-- Subscription&#45;&gt;OfferDay -->
<g id="edge71" class="edge"><title>Subscription&#45;&gt;OfferDay</title>
<path fill="none" stroke="#59fe27" d="M2184.1,-831.058C2194.99,-824.163 2206.13,-817.665 2217.18,-812 2281.22,-779.146 2456.32,-723.163 2580.03,-685.396"/>
<ellipse fill="none" stroke="#59fe27" cx="2180.71" cy="-833.235" rx="4.00002" ry="4.00002"/>
<polygon fill="#59fe27" stroke="#59fe27" points="2580.4,-685.284 2591.28,-686.673 2585.19,-683.827 2589.97,-682.369 2589.97,-682.369 2589.97,-682.369 2585.19,-683.827 2588.66,-678.064 2580.4,-685.284 2580.4,-685.284"/>
</g>
<!-- Training&#45;&gt;TrainingsPricing -->
<g id="edge76" class="edge"><title>Training&#45;&gt;TrainingsPricing</title>
<path fill="none" stroke="#4abf85" d="M2232.23,-1634.87C2213.09,-1624.65 2192.96,-1615.19 2173.18,-1608 2045.99,-1561.78 2002.17,-1596.88 1873.18,-1556 1844.57,-1546.93 1814.84,-1534.7 1787.14,-1521.95"/>
<ellipse fill="none" stroke="#4abf85" cx="2235.99" cy="-1636.91" rx="4.00002" ry="4.00002"/>
<polygon fill="#4abf85" stroke="#4abf85" points="1786.89,-1521.83 1779.72,-1513.53 1782.36,-1519.72 1777.82,-1517.61 1777.82,-1517.61 1777.82,-1517.61 1782.36,-1519.72 1775.92,-1521.68 1786.89,-1521.83 1786.89,-1521.83"/>
</g>
<!-- Training&#45;&gt;Plan -->
<g id="edge78" class="edge"><title>Training&#45;&gt;Plan</title>
<path fill="none" stroke="#46fba4" d="M2293.99,-1629.96C2281.42,-1606.98 2269.17,-1581.15 2261.18,-1556 2238.02,-1483.15 2226.91,-1398.54 2221.63,-1329.24"/>
<polygon fill="#46fba4" stroke="#46fba4" points="2294.14,-1630.22 2295.08,-1641.14 2296.57,-1634.58 2299.01,-1638.95 2299.01,-1638.95 2299.01,-1638.95 2296.57,-1634.58 2302.94,-1636.76 2294.14,-1630.22 2294.14,-1630.22"/>
<polygon fill="#46fba4" stroke="#46fba4" points="2221.63,-1329.11 2225.39,-1318.8 2221.26,-1324.12 2220.9,-1319.13 2220.9,-1319.13 2220.9,-1319.13 2221.26,-1324.12 2216.41,-1319.46 2221.63,-1329.11 2221.63,-1329.11"/>
</g>
<!-- Training&#45;&gt;Credit -->
<g id="edge77" class="edge"><title>Training&#45;&gt;Credit</title>
<path fill="none" stroke="#ce473d" d="M2275.68,-1632.57C2256.33,-1609.11 2236.13,-1582.36 2220.18,-1556 2170.6,-1474.07 2213.37,-1413.29 2135.18,-1358 2110.26,-1340.39 1891.49,-1343.45 1861.18,-1340 1806.15,-1333.73 1774.06,-1362.19 1738.18,-1320 1654.08,-1221.12 1698.59,-1149.54 1744.18,-1028 1749.21,-1014.58 1755.81,-1000.98 1762.95,-988.035"/>
<ellipse fill="none" stroke="#ce473d" cx="2278.28" cy="-1635.7" rx="4.00002" ry="4.00002"/>
<polygon fill="#ce473d" stroke="#ce473d" points="1763.04,-987.891 1771.88,-981.414 1765.5,-983.542 1767.97,-979.193 1767.97,-979.193 1767.97,-979.193 1765.5,-983.542 1764.06,-976.973 1763.04,-987.891 1763.04,-987.891"/>
</g>
<!-- Training&#45;&gt;Reservation -->
<g id="edge74" class="edge"><title>Training&#45;&gt;Reservation</title>
<path fill="none" stroke="#17d6be" d="M2472,-1672.77C2514.66,-1655.24 2557.85,-1628.97 2584.18,-1590 2613.1,-1547.19 2563.48,-1395.35 2599.18,-1358 2652.31,-1302.4 2870.49,-1345.14 2943.18,-1320 2968.6,-1311.2 2994.17,-1298.82 3018.23,-1285.2"/>
<ellipse fill="none" stroke="#17d6be" cx="2468.04" cy="-1674.35" rx="4.00001" ry="4.00001"/>
<polygon fill="#17d6be" stroke="#17d6be" points="3018.36,-1285.12 3029.27,-1284.02 3022.69,-1282.62 3027.02,-1280.13 3027.02,-1280.13 3027.02,-1280.13 3022.69,-1282.62 3024.77,-1276.23 3018.36,-1285.12 3018.36,-1285.12"/>
</g>
<!-- Training&#45;&gt;UserTraining -->
<g id="edge75" class="edge"><title>Training&#45;&gt;UserTraining</title>
<path fill="none" stroke="#d033b0" d="M2244.17,-1634.09C2193.05,-1596.58 2131.32,-1551.29 2083.28,-1516.04"/>
<ellipse fill="none" stroke="#d033b0" cx="2247.48" cy="-1636.52" rx="4.00002" ry="4.00002"/>
<polygon fill="#d033b0" stroke="#d033b0" points="2083.14,-1515.94 2077.74,-1506.4 2079.11,-1512.98 2075.08,-1510.02 2075.08,-1510.02 2075.08,-1510.02 2079.11,-1512.98 2072.42,-1513.65 2083.14,-1515.94 2083.14,-1515.94"/>
</g>
<!-- Training&#45;&gt;TrainingsAvailability -->
<g id="edge73" class="edge"><title>Training&#45;&gt;TrainingsAvailability</title>
<path fill="none" stroke="#d4295d" d="M2472.11,-1663.47C2518.66,-1644.89 2570,-1620.34 2612.18,-1590 2639.76,-1570.16 2665.52,-1542.84 2685.89,-1518.21"/>
<ellipse fill="none" stroke="#d4295d" cx="2468.11" cy="-1665.05" rx="4.00001" ry="4.00001"/>
<polygon fill="#d4295d" stroke="#d4295d" points="2686,-1518.07 2695.81,-1513.15 2689.16,-1514.19 2692.31,-1510.31 2692.31,-1510.31 2692.31,-1510.31 2689.16,-1514.19 2688.82,-1507.47 2686,-1518.07 2686,-1518.07"/>
</g>
<!-- Training&#45;&gt;Machine -->
<g id="edge72" class="edge"><title>Training&#45;&gt;Machine</title>
<path fill="none" stroke="#cce3d7" d="M2357.75,-1628.77C2363.76,-1598.95 2370.62,-1564.9 2376.63,-1535.1"/>
<polygon fill="#cce3d7" stroke="#cce3d7" points="2357.68,-1629.08 2351.3,-1638 2356.69,-1633.99 2355.71,-1638.89 2355.71,-1638.89 2355.71,-1638.89 2356.69,-1633.99 2360.12,-1639.78 2357.68,-1629.08 2357.68,-1629.08"/>
<polygon fill="#cce3d7" stroke="#cce3d7" points="2376.66,-1534.97 2383.05,-1526.06 2377.65,-1530.07 2378.63,-1525.17 2378.63,-1525.17 2378.63,-1525.17 2377.65,-1530.07 2374.22,-1524.28 2376.66,-1534.97 2376.66,-1534.97"/>
</g>
<!-- ProjectStep&#45;&gt;ProjectStepImage -->
<g id="edge79" class="edge"><title>ProjectStep&#45;&gt;ProjectStepImage</title>
<path fill="none" stroke="#1bbcf9" d="M188.176,-1388.14C188.176,-1351.32 188.176,-1305.71 188.176,-1267.74"/>
<ellipse fill="none" stroke="#1bbcf9" cx="188.176" cy="-1392.42" rx="4" ry="4"/>
<ellipse fill="#1bbcf9" stroke="#1bbcf9" cx="188.176" cy="-1263.26" rx="4" ry="4"/>
</g>
<!-- Reservation&#45;&gt;Invoice -->
<g id="edge81" class="edge"><title>Reservation&#45;&gt;Invoice</title>
<path fill="none" stroke="#457ab3" d="M3113.33,-1092.5C3057.18,-939.783 2948.34,-643.781 2884.73,-470.779"/>
<ellipse fill="none" stroke="#457ab3" cx="3114.79" cy="-1096.47" rx="4.00001" ry="4.00001"/>
<ellipse fill="#457ab3" stroke="#457ab3" cx="2883.31" cy="-466.9" rx="4.00001" ry="4.00001"/>
</g>
<!-- Reservation&#45;&gt;Slot -->
<g id="edge80" class="edge"><title>Reservation&#45;&gt;Slot</title>
<path fill="none" stroke="#f6a1bc" d="M3175.91,-1092.23C3182.37,-1068.57 3189.32,-1043.16 3195.9,-1019.1"/>
<ellipse fill="none" stroke="#f6a1bc" cx="3174.8" cy="-1096.27" rx="4.00001" ry="4.00001"/>
<polygon fill="#f6a1bc" stroke="#f6a1bc" points="3195.95,-1018.89 3202.93,-1010.43 3197.27,-1014.07 3198.59,-1009.25 3198.59,-1009.25 3198.59,-1009.25 3197.27,-1014.07 3194.25,-1008.06 3195.95,-1018.89 3195.95,-1018.89"/>
</g>
<!-- StatisticIndex&#45;&gt;StatisticType -->
<g id="edge82" class="edge"><title>StatisticIndex&#45;&gt;StatisticType</title>
<path fill="none" stroke="#241dc0" d="M4729.78,-1783.59C4738.5,-1849.35 4748.83,-1944.56 4754.71,-2012.96"/>
<ellipse fill="none" stroke="#241dc0" cx="4729.21" cy="-1779.28" rx="4.00001" ry="4.00001"/>
<polygon fill="#241dc0" stroke="#241dc0" points="4754.73,-2013.3 4751.09,-2023.64 4755.15,-2018.28 4755.57,-2023.27 4755.57,-2023.27 4755.57,-2023.27 4755.15,-2018.28 4760.06,-2022.89 4754.73,-2013.3 4754.73,-2013.3"/>
</g>
<!-- StatisticIndex&#45;&gt;StatisticGraph -->
<g id="edge84" class="edge"><title>StatisticIndex&#45;&gt;StatisticGraph</title>
<path fill="none" stroke="#e07fa7" d="M4639.11,-1633.05C4602.39,-1598.29 4558.81,-1557.05 4523.19,-1523.32"/>
<ellipse fill="none" stroke="#e07fa7" cx="4642.37" cy="-1636.14" rx="4.00002" ry="4.00002"/>
<ellipse fill="#e07fa7" stroke="#e07fa7" cx="4519.99" cy="-1520.3" rx="4.00002" ry="4.00002"/>
</g>
<!-- StatisticField -->
<g id="node49" class="node"><title>StatisticField</title>
<path fill="none" stroke="black" d="M4606.18,-1389C4606.18,-1389 4826.18,-1389 4826.18,-1389 4832.18,-1389 4838.18,-1395 4838.18,-1401 4838.18,-1401 4838.18,-1513 4838.18,-1513 4838.18,-1519 4832.18,-1525 4826.18,-1525 4826.18,-1525 4606.18,-1525 4606.18,-1525 4600.18,-1525 4594.18,-1519 4594.18,-1513 4594.18,-1513 4594.18,-1401 4594.18,-1401 4594.18,-1395 4600.18,-1389 4606.18,-1389"/>
<text text-anchor="middle" x="4716.18" y="-1509.8" font-family="Times,serif" font-size="14.00">StatisticField</text>
<polyline fill="none" stroke="black" points="4594.18,-1502 4838.18,-1502 "/>
<text text-anchor="start" x="4602.18" y="-1486.8" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="4602.18" y="-1471.8" font-family="Times,serif" font-size="14.00">statistic_index_id :integer</text>
<text text-anchor="start" x="4602.18" y="-1456.8" font-family="Times,serif" font-size="14.00">key :character varying(255)</text>
<text text-anchor="start" x="4602.18" y="-1441.8" font-family="Times,serif" font-size="14.00">label :character varying(255)</text>
<text text-anchor="start" x="4602.18" y="-1426.8" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="4602.18" y="-1411.8" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
<text text-anchor="start" x="4602.18" y="-1396.8" font-family="Times,serif" font-size="14.00">data_type :character varying(255)</text>
</g>
<!-- StatisticIndex&#45;&gt;StatisticField -->
<g id="edge83" class="edge"><title>StatisticIndex&#45;&gt;StatisticField</title>
<path fill="none" stroke="#996f2a" d="M4709.91,-1630.48C4709.28,-1600.32 4709.27,-1565.61 4709.87,-1535.27"/>
<ellipse fill="none" stroke="#996f2a" cx="4710.01" cy="-1634.89" rx="4" ry="4"/>
<polygon fill="#996f2a" stroke="#996f2a" points="4709.87,-1535.16 4714.6,-1525.27 4709.99,-1530.16 4710.1,-1525.17 4710.1,-1525.17 4710.1,-1525.17 4709.99,-1530.16 4705.6,-1525.06 4709.87,-1535.16 4709.87,-1535.16"/>
</g>
<!-- StatisticField&#45;&gt;StatisticIndex -->
<g id="edge85" class="edge"><title>StatisticField&#45;&gt;StatisticIndex</title>
<path fill="none" stroke="#b80ddb" d="M4722.44,-1533.3C4723.09,-1564.1 4723.09,-1599.66 4722.44,-1630.48"/>
<ellipse fill="none" stroke="#b80ddb" cx="4722.34" cy="-1529.16" rx="4" ry="4"/>
<ellipse fill="#b80ddb" stroke="#b80ddb" cx="4722.34" cy="-1634.89" rx="4" ry="4"/>
</g>
<!-- Avoir -->
<g id="node55" class="node"><title>Avoir</title>
<path fill="none" stroke="black" d="M3062.18,-517C3062.18,-517 3282.18,-517 3282.18,-517 3288.18,-517 3294.18,-523 3294.18,-529 3294.18,-529 3294.18,-761 3294.18,-761 3294.18,-767 3288.18,-773 3282.18,-773 3282.18,-773 3062.18,-773 3062.18,-773 3056.18,-773 3050.18,-767 3050.18,-761 3050.18,-761 3050.18,-529 3050.18,-529 3050.18,-523 3056.18,-517 3062.18,-517"/>
<text text-anchor="middle" x="3172.18" y="-757.8" font-family="Times,serif" font-size="14.00">Avoir</text>
<polyline fill="none" stroke="black" points="3050.18,-750 3294.18,-750 "/>
<text text-anchor="start" x="3058.18" y="-734.8" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="3058.18" y="-719.8" font-family="Times,serif" font-size="14.00">invoiced_id :integer</text>
<text text-anchor="start" x="3058.18" y="-704.8" font-family="Times,serif" font-size="14.00">invoiced_type :character varying(255)</text>
<text text-anchor="start" x="3058.18" y="-689.8" font-family="Times,serif" font-size="14.00">stp_invoice_id :character varying(255)</text>
<text text-anchor="start" x="3058.18" y="-674.8" font-family="Times,serif" font-size="14.00">total :integer</text>
<text text-anchor="start" x="3058.18" y="-659.8" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="3058.18" y="-644.8" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
<text text-anchor="start" x="3058.18" y="-629.8" font-family="Times,serif" font-size="14.00">user_id :integer</text>
<text text-anchor="start" x="3058.18" y="-614.8" font-family="Times,serif" font-size="14.00">reference :character varying(255)</text>
<text text-anchor="start" x="3058.18" y="-599.8" font-family="Times,serif" font-size="14.00">avoir_mode :character varying(255)</text>
<text text-anchor="start" x="3058.18" y="-584.8" font-family="Times,serif" font-size="14.00">avoir_date :timestamp without time zone</text>
<text text-anchor="start" x="3058.18" y="-569.8" font-family="Times,serif" font-size="14.00">invoice_id :integer</text>
<text text-anchor="start" x="3058.18" y="-554.8" font-family="Times,serif" font-size="14.00">type :character varying(255)</text>
<text text-anchor="start" x="3058.18" y="-539.8" font-family="Times,serif" font-size="14.00">subscription_to_expire :boolean</text>
<text text-anchor="start" x="3058.18" y="-524.8" font-family="Times,serif" font-size="14.00">description :text</text>
</g>
<!-- Avoir&#45;&gt;InvoiceItem -->
<g id="edge86" class="edge"><title>Avoir&#45;&gt;InvoiceItem</title>
<path fill="none" stroke="#31a4e1" d="M3146.79,-508.871C3127.48,-406.064 3101.43,-267.336 3084.46,-177.038"/>
<ellipse fill="none" stroke="#31a4e1" cx="3147.55" cy="-512.873" rx="4.00001" ry="4.00001"/>
<polygon fill="#31a4e1" stroke="#31a4e1" points="3084.44,-176.919 3087.02,-166.26 3083.52,-172.005 3082.6,-167.091 3082.6,-167.091 3082.6,-167.091 3083.52,-172.005 3078.17,-167.922 3084.44,-176.919 3084.44,-176.919"/>
</g>
<!-- Avoir&#45;&gt;Invoice -->
<g id="edge87" class="edge"><title>Avoir&#45;&gt;Invoice</title>
<path fill="none" stroke="#365e12" d="M3065.2,-510.984C3055.68,-500.892 3045.94,-491.105 3036.18,-482 3013.95,-461.28 2988.73,-440.907 2963.85,-422.258"/>
<ellipse fill="none" stroke="#365e12" cx="3068.05" cy="-514.034" rx="4.00002" ry="4.00002"/>
<ellipse fill="#365e12" stroke="#365e12" cx="2960.4" cy="-419.69" rx="4.00002" ry="4.00002"/>
<text text-anchor="middle" x="3067.18" y="-486.3" font-family="Times,serif" font-size="14.00">avoir</text>
</g>
<!-- NotificationType -->
<g id="node56" class="node"><title>NotificationType</title>
<polygon fill="none" stroke="black" points="6825.18,-2439 6825.18,-2485 6935.18,-2485 6935.18,-2439 6825.18,-2439"/>
<text text-anchor="middle" x="6880.18" y="-2469.8" font-family="Times,serif" font-size="14.00">NotificationType</text>
<polyline fill="none" stroke="black" points="6825.18,-2462 6935.18,-2462 "/>
<text text-anchor="middle" x="6880.18" y="-2446.8" font-family="Times,serif" font-size="14.00"> </text>
</g>
<!-- Stylesheet -->
<g id="node58" class="node"><title>Stylesheet</title>
<path fill="none" stroke="black" d="M6965.18,-2416.5C6965.18,-2416.5 7185.18,-2416.5 7185.18,-2416.5 7191.18,-2416.5 7197.18,-2422.5 7197.18,-2428.5 7197.18,-2428.5 7197.18,-2495.5 7197.18,-2495.5 7197.18,-2501.5 7191.18,-2507.5 7185.18,-2507.5 7185.18,-2507.5 6965.18,-2507.5 6965.18,-2507.5 6959.18,-2507.5 6953.18,-2501.5 6953.18,-2495.5 6953.18,-2495.5 6953.18,-2428.5 6953.18,-2428.5 6953.18,-2422.5 6959.18,-2416.5 6965.18,-2416.5"/>
<text text-anchor="middle" x="7075.18" y="-2492.3" font-family="Times,serif" font-size="14.00">Stylesheet</text>
<polyline fill="none" stroke="black" points="6953.18,-2484.5 7197.18,-2484.5 "/>
<text text-anchor="start" x="6961.18" y="-2469.3" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="6961.18" y="-2454.3" font-family="Times,serif" font-size="14.00">contents :text</text>
<text text-anchor="start" x="6961.18" y="-2439.3" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="6961.18" y="-2424.3" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
</g>
<!-- MachineImage -->
<g id="node65" class="node"><title>MachineImage</title>
<path fill="none" stroke="black" d="M2669.18,-1123C2669.18,-1123 2889.18,-1123 2889.18,-1123 2895.18,-1123 2901.18,-1129 2901.18,-1135 2901.18,-1135 2901.18,-1247 2901.18,-1247 2901.18,-1253 2895.18,-1259 2889.18,-1259 2889.18,-1259 2669.18,-1259 2669.18,-1259 2663.18,-1259 2657.18,-1253 2657.18,-1247 2657.18,-1247 2657.18,-1135 2657.18,-1135 2657.18,-1129 2663.18,-1123 2669.18,-1123"/>
<text text-anchor="middle" x="2779.18" y="-1243.8" font-family="Times,serif" font-size="14.00">MachineImage</text>
<polyline fill="none" stroke="black" points="2657.18,-1236 2901.18,-1236 "/>
<text text-anchor="start" x="2665.18" y="-1220.8" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="2665.18" y="-1205.8" font-family="Times,serif" font-size="14.00">viewable_id :integer</text>
<text text-anchor="start" x="2665.18" y="-1190.8" font-family="Times,serif" font-size="14.00">viewable_type :character varying(255)</text>
<text text-anchor="start" x="2665.18" y="-1175.8" font-family="Times,serif" font-size="14.00">attachment :character varying(255)</text>
<text text-anchor="start" x="2665.18" y="-1160.8" font-family="Times,serif" font-size="14.00">type :character varying(255)</text>
<text text-anchor="start" x="2665.18" y="-1145.8" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="2665.18" y="-1130.8" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
</g>
<!-- Feed -->
<g id="node66" class="node"><title>Feed</title>
<polygon fill="none" stroke="black" points="7215.18,-2439 7215.18,-2485 7269.18,-2485 7269.18,-2439 7215.18,-2439"/>
<text text-anchor="middle" x="7242.18" y="-2469.8" font-family="Times,serif" font-size="14.00">Feed</text>
<polyline fill="none" stroke="black" points="7215.18,-2462 7269.18,-2462 "/>
<text text-anchor="middle" x="7242.18" y="-2446.8" font-family="Times,serif" font-size="14.00"> </text>
</g>
<!-- Machine&#45;&gt;Price -->
<g id="edge91" class="edge"><title>Machine&#45;&gt;Price</title>
<path fill="none" stroke="#2a8379" d="M2379.68,-1380.86C2364.75,-1279.95 2346.44,-1107.99 2386.18,-1062 2399.21,-1046.92 2722.77,-1017.65 2741.18,-1010 2752.98,-1005.09 2764.69,-998.88 2775.97,-991.973"/>
<ellipse fill="none" stroke="#2a8379" cx="2380.29" cy="-1384.94" rx="4.00001" ry="4.00001"/>
<polygon fill="#2a8379" stroke="#2a8379" points="2776.05,-991.919 2786.91,-990.368 2780.28,-989.243 2784.5,-986.566 2784.5,-986.566 2784.5,-986.566 2780.28,-989.243 2782.09,-982.765 2776.05,-991.919 2776.05,-991.919"/>
</g>
<!-- Machine&#45;&gt;Plan -->
<g id="edge94" class="edge"><title>Machine&#45;&gt;Plan</title>
<path fill="none" stroke="#366599" d="M2342.01,-1380.32C2330.98,-1363.67 2318.97,-1345.57 2306.91,-1327.37"/>
<polygon fill="#366599" stroke="#366599" points="2342.04,-1380.36 2343.81,-1391.18 2344.8,-1384.53 2347.56,-1388.7 2347.56,-1388.7 2347.56,-1388.7 2344.8,-1384.53 2351.31,-1386.21 2342.04,-1380.36 2342.04,-1380.36"/>
<polygon fill="#366599" stroke="#366599" points="2306.89,-1327.34 2305.12,-1316.52 2304.13,-1323.18 2301.37,-1319.01 2301.37,-1319.01 2301.37,-1319.01 2304.13,-1323.18 2297.62,-1321.5 2306.89,-1327.34 2306.89,-1327.34"/>
</g>
<!-- Machine&#45;&gt;MachineFile -->
<g id="edge89" class="edge"><title>Machine&#45;&gt;MachineFile</title>
<path fill="none" stroke="#e81fe6" d="M2427.62,-1381.13C2444.3,-1345.91 2464.17,-1303.95 2480.95,-1268.51"/>
<ellipse fill="none" stroke="#e81fe6" cx="2425.75" cy="-1385.08" rx="4.00002" ry="4.00002"/>
<polygon fill="#e81fe6" stroke="#e81fe6" points="2481.09,-1268.22 2489.44,-1261.1 2483.23,-1263.7 2485.37,-1259.18 2485.37,-1259.18 2485.37,-1259.18 2483.23,-1263.7 2481.3,-1257.25 2481.09,-1268.22 2481.09,-1268.22"/>
</g>
<!-- Machine&#45;&gt;Credit -->
<g id="edge93" class="edge"><title>Machine&#45;&gt;Credit</title>
<path fill="none" stroke="#9abb55" d="M2262.31,-1391.03C2232.05,-1378.2 2199.5,-1366.19 2168.18,-1358 2126.91,-1347.21 1816.79,-1349.7 1786.18,-1320 1739.24,-1274.48 1733.87,-1091.31 1750.18,-1028 1753.62,-1014.65 1758.95,-1001.19 1765.11,-988.402"/>
<ellipse fill="none" stroke="#9abb55" cx="2266.28" cy="-1392.73" rx="4.00002" ry="4.00002"/>
<polygon fill="#9abb55" stroke="#9abb55" points="1765.24,-988.157 1773.75,-981.244 1767.48,-983.69 1769.73,-979.222 1769.73,-979.222 1769.73,-979.222 1767.48,-983.69 1765.71,-977.201 1765.24,-988.157 1765.24,-988.157"/>
</g>
<!-- Machine&#45;&gt;Reservation -->
<g id="edge92" class="edge"><title>Machine&#45;&gt;Reservation</title>
<path fill="none" stroke="#b3e1fc" d="M2486.29,-1384.34C2515.26,-1365.94 2548.23,-1348.42 2581.18,-1338 2720.8,-1293.83 2769.17,-1359.51 2910.18,-1320 2946.79,-1309.74 2984.09,-1293.21 3018.01,-1275.39"/>
<ellipse fill="none" stroke="#b3e1fc" cx="2482.77" cy="-1386.61" rx="4.00002" ry="4.00002"/>
<polygon fill="#b3e1fc" stroke="#b3e1fc" points="3018.19,-1275.29 3029.13,-1274.56 3022.6,-1272.94 3027.01,-1270.59 3027.01,-1270.59 3027.01,-1270.59 3022.6,-1272.94 3024.9,-1266.62 3018.19,-1275.29 3018.19,-1275.29"/>
</g>
<!-- Machine&#45;&gt;MachinesAvailability -->
<g id="edge90" class="edge"><title>Machine&#45;&gt;MachinesAvailability</title>
<path fill="none" stroke="#bb9fa0" d="M2521.19,-1385.64C2546.42,-1374.58 2573.13,-1364.62 2599.18,-1358 2746.07,-1320.65 3141.58,-1381.35 3280.18,-1320 3320.15,-1302.31 3354.81,-1266.48 3378.27,-1237.22"/>
<ellipse fill="none" stroke="#bb9fa0" cx="2517.42" cy="-1387.32" rx="4.00002" ry="4.00002"/>
<polygon fill="#bb9fa0" stroke="#bb9fa0" points="3378.41,-1237.04 3388.12,-1231.94 3381.5,-1233.1 3384.58,-1229.17 3384.58,-1229.17 3384.58,-1229.17 3381.5,-1233.1 3381.04,-1226.39 3378.41,-1237.04 3378.41,-1237.04"/>
</g>
<!-- Machine&#45;&gt;MachineImage -->
<g id="edge88" class="edge"><title>Machine&#45;&gt;MachineImage</title>
<path fill="none" stroke="#706e1d" d="M2462.48,-1383.46C2483.05,-1366.01 2506.65,-1349.2 2531.18,-1338 2579.04,-1316.15 2601.11,-1343.51 2648.18,-1320 2674.83,-1306.69 2699.52,-1285.98 2720.11,-1265.06"/>
<ellipse fill="none" stroke="#706e1d" cx="2459.22" cy="-1386.27" rx="4.00002" ry="4.00002"/>
<ellipse fill="#706e1d" stroke="#706e1d" cx="2723.03" cy="-1262.04" rx="4.00002" ry="4.00002"/>
</g>
<!-- Profile&#45;&gt;UserAvatar -->
<g id="edge95" class="edge"><title>Profile&#45;&gt;UserAvatar</title>
<path fill="none" stroke="#3c82fe" d="M3254.18,-1600.46C3254.18,-1577.84 3254.18,-1554.38 3254.18,-1533.19"/>
<ellipse fill="none" stroke="#3c82fe" cx="3254.18" cy="-1604.7" rx="4" ry="4"/>
<ellipse fill="#3c82fe" stroke="#3c82fe" cx="3254.18" cy="-1529.19" rx="4" ry="4"/>
</g>
<!-- Profile&#45;&gt;Address -->
<g id="edge96" class="edge"><title>Profile&#45;&gt;Address</title>
<path fill="none" stroke="#3f0618" d="M3146.28,-1603.47C3135.77,-1593.5 3125.27,-1583.55 3115.18,-1574 3110.6,-1569.67 3105.93,-1565.26 3101.22,-1560.8"/>
<ellipse fill="none" stroke="#3f0618" cx="3149.21" cy="-1606.25" rx="4.00002" ry="4.00002"/>
<ellipse fill="#3f0618" stroke="#3f0618" cx="3098.13" cy="-1557.88" rx="4.00002" ry="4.00002"/>
</g>
<!-- Setting -->
<g id="node71" class="node"><title>Setting</title>
<path fill="none" stroke="black" d="M7299.18,-2409C7299.18,-2409 7519.18,-2409 7519.18,-2409 7525.18,-2409 7531.18,-2415 7531.18,-2421 7531.18,-2421 7531.18,-2503 7531.18,-2503 7531.18,-2509 7525.18,-2515 7519.18,-2515 7519.18,-2515 7299.18,-2515 7299.18,-2515 7293.18,-2515 7287.18,-2509 7287.18,-2503 7287.18,-2503 7287.18,-2421 7287.18,-2421 7287.18,-2415 7293.18,-2409 7299.18,-2409"/>
<text text-anchor="middle" x="7409.18" y="-2499.8" font-family="Times,serif" font-size="14.00">Setting</text>
<polyline fill="none" stroke="black" points="7287.18,-2492 7531.18,-2492 "/>
<text text-anchor="start" x="7295.18" y="-2476.8" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="7295.18" y="-2461.8" font-family="Times,serif" font-size="14.00">name :character varying</text>
<text text-anchor="start" x="7295.18" y="-2446.8" font-family="Times,serif" font-size="14.00">value :text</text>
<text text-anchor="start" x="7295.18" y="-2431.8" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="7295.18" y="-2416.8" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
</g>
</g>
</svg>