18F/micropurchase

View on GitHub
doc/models_complete.svg

Summary

Maintainability
Test Coverage
<?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.38.0 (20140413.2041)
 -->
<!-- Title: models_diagram Pages: 1 -->
<svg width="7667pt" height="1012pt"
 viewBox="0.00 0.00 7666.77 1012.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 1008)">
<title>models_diagram</title>
<polygon fill="none" stroke="none" points="-4,4 -4,-1008 7662.77,-1008 7662.77,4 -4,4"/>
<!-- _diagram_info -->
<g id="node1" class="node"><title>_diagram_info</title>
<text text-anchor="start" x="8" y="-954.6" font-family="Times,serif" font-size="13.00">Models diagram</text>
<text text-anchor="start" x="8" y="-941.6" font-family="Times,serif" font-size="13.00">Date: Nov 16 2016 &#45; 15:39</text>
<text text-anchor="start" x="8" y="-928.6" font-family="Times,serif" font-size="13.00">Migration version: 20160921135321</text>
<text text-anchor="start" x="8" y="-915.6" font-family="Times,serif" font-size="13.00">Generated by RailRoady 1.5.2</text>
<text text-anchor="start" x="8" y="-902.6" font-family="Times,serif" font-size="13.00">http://railroady.prestonlee.com</text>
</g>
<!-- AdminAuctionStatusPresenterFactory -->
<g id="node2" class="node"><title>AdminAuctionStatusPresenterFactory</title>
<polygon fill="none" stroke="black" points="224.912,-910.5 224.912,-954.5 453.988,-954.5 453.988,-910.5 224.912,-910.5"/>
<text text-anchor="middle" x="339.45" y="-939.3" font-family="Times,serif" font-size="14.00">AdminAuctionStatusPresenterFactory</text>
<polyline fill="none" stroke="black" points="224.912,-932.5 453.988,-932.5 "/>
<text text-anchor="middle" x="339.45" y="-917.3" font-family="Times,serif" font-size="14.00"> </text>
</g>
<!-- AdminReport -->
<g id="node3" class="node"><title>AdminReport</title>
<polygon fill="none" stroke="black" points="471.953,-910.5 471.953,-954.5 564.946,-954.5 564.946,-910.5 471.953,-910.5"/>
<text text-anchor="middle" x="518.45" y="-939.3" font-family="Times,serif" font-size="14.00">AdminReport</text>
<polyline fill="none" stroke="black" points="471.953,-932.5 564.946,-932.5 "/>
<text text-anchor="middle" x="518.45" y="-917.3" font-family="Times,serif" font-size="14.00"> </text>
</g>
<!-- Admins -->
<g id="node4" class="node"><title>Admins</title>
<polygon fill="none" stroke="black" points="583.281,-910.5 583.281,-954.5 643.619,-954.5 643.619,-910.5 583.281,-910.5"/>
<text text-anchor="middle" x="613.45" y="-939.3" font-family="Times,serif" font-size="14.00">Admins</text>
<polyline fill="none" stroke="black" points="583.281,-932.5 643.619,-932.5 "/>
<text text-anchor="middle" x="613.45" y="-917.3" font-family="Times,serif" font-size="14.00"> </text>
</g>
<!-- ApiAuthenticator -->
<g id="node5" class="node"><title>ApiAuthenticator</title>
<polygon fill="none" stroke="black" points="661.463,-910.5 661.463,-954.5 775.436,-954.5 775.436,-910.5 661.463,-910.5"/>
<text text-anchor="middle" x="718.45" y="-939.3" font-family="Times,serif" font-size="14.00">ApiAuthenticator</text>
<polyline fill="none" stroke="black" points="661.463,-932.5 775.436,-932.5 "/>
<text text-anchor="middle" x="718.45" y="-917.3" font-family="Times,serif" font-size="14.00"> </text>
</g>
<!-- Auction -->
<g id="node6" class="node"><title>Auction</title>
<path fill="none" stroke="black" d="M791.205,-415.5C791.205,-415.5 1043.69,-415.5 1043.69,-415.5 1049.69,-415.5 1055.69,-421.5 1055.69,-427.5 1055.69,-427.5 1055.69,-811.5 1055.69,-811.5 1055.69,-817.5 1049.69,-823.5 1043.69,-823.5 1043.69,-823.5 791.205,-823.5 791.205,-823.5 785.205,-823.5 779.205,-817.5 779.205,-811.5 779.205,-811.5 779.205,-427.5 779.205,-427.5 779.205,-421.5 785.205,-415.5 791.205,-415.5"/>
<text text-anchor="middle" x="917.45" y="-808.3" font-family="Times,serif" font-size="14.00">Auction</text>
<polyline fill="none" stroke="black" points="779.205,-801.5 1055.69,-801.5 "/>
<text text-anchor="start" x="787.205" y="-786.3" font-family="Times,serif" font-size="14.00">token :character varying</text>
<text text-anchor="start" x="787.205" y="-772.3" font-family="Times,serif" font-size="14.00">issue_url :character varying</text>
<text text-anchor="start" x="787.205" y="-758.3" font-family="Times,serif" font-size="14.00">start_price :integer</text>
<text text-anchor="start" x="787.205" y="-744.3" font-family="Times,serif" font-size="14.00">started_at :timestamp without time zone</text>
<text text-anchor="start" x="787.205" y="-730.3" font-family="Times,serif" font-size="14.00">ended_at :timestamp without time zone</text>
<text text-anchor="start" x="787.205" y="-716.3" font-family="Times,serif" font-size="14.00">title :character varying</text>
<text text-anchor="start" x="787.205" y="-702.3" font-family="Times,serif" font-size="14.00">description :text</text>
<text text-anchor="start" x="787.205" y="-688.3" font-family="Times,serif" font-size="14.00">github_repo :character varying</text>
<text text-anchor="start" x="787.205" y="-674.3" font-family="Times,serif" font-size="14.00">published :integer</text>
<text text-anchor="start" x="787.205" y="-660.3" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="787.205" y="-646.3" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
<text text-anchor="start" x="787.205" y="-632.3" font-family="Times,serif" font-size="14.00">summary :text</text>
<text text-anchor="start" x="787.205" y="-618.3" font-family="Times,serif" font-size="14.00">delivery_due_at :timestamp without time zone</text>
<text text-anchor="start" x="787.205" y="-604.3" font-family="Times,serif" font-size="14.00">notes :text</text>
<text text-anchor="start" x="787.205" y="-590.3" font-family="Times,serif" font-size="14.00">billable_to :character varying</text>
<text text-anchor="start" x="787.205" y="-576.3" font-family="Times,serif" font-size="14.00">delivery_status :integer</text>
<text text-anchor="start" x="787.205" y="-562.3" font-family="Times,serif" font-size="14.00">type :integer</text>
<text text-anchor="start" x="787.205" y="-548.3" font-family="Times,serif" font-size="14.00">delivery_url :character varying</text>
<text text-anchor="start" x="787.205" y="-534.3" font-family="Times,serif" font-size="14.00">c2_proposal_url :character varying</text>
<text text-anchor="start" x="787.205" y="-520.3" font-family="Times,serif" font-size="14.00">user_id :integer</text>
<text text-anchor="start" x="787.205" y="-506.3" font-family="Times,serif" font-size="14.00">purchase_card :integer</text>
<text text-anchor="start" x="787.205" y="-492.3" font-family="Times,serif" font-size="14.00">paid_at :timestamp without time zone</text>
<text text-anchor="start" x="787.205" y="-478.3" font-family="Times,serif" font-size="14.00">accepted_at :timestamp without time zone</text>
<text text-anchor="start" x="787.205" y="-464.3" font-family="Times,serif" font-size="14.00">rejected_at :timestamp without time zone</text>
<text text-anchor="start" x="787.205" y="-450.3" font-family="Times,serif" font-size="14.00">customer_id :integer</text>
<text text-anchor="start" x="787.205" y="-436.3" font-family="Times,serif" font-size="14.00">c2_status :integer</text>
<text text-anchor="start" x="787.205" y="-422.3" font-family="Times,serif" font-size="14.00">id :integer</text>
</g>
<!-- Bid -->
<g id="node11" class="node"><title>Bid</title>
<path fill="none" stroke="black" d="M763.587,-0.5C763.587,-0.5 987.312,-0.5 987.312,-0.5 993.312,-0.5 999.312,-6.5 999.312,-12.5 999.312,-12.5 999.312,-116.5 999.312,-116.5 999.312,-122.5 993.312,-128.5 987.312,-128.5 987.312,-128.5 763.587,-128.5 763.587,-128.5 757.587,-128.5 751.587,-122.5 751.587,-116.5 751.587,-116.5 751.587,-12.5 751.587,-12.5 751.587,-6.5 757.587,-0.5 763.587,-0.5"/>
<text text-anchor="middle" x="875.45" y="-113.3" font-family="Times,serif" font-size="14.00">Bid</text>
<polyline fill="none" stroke="black" points="751.587,-106.5 999.312,-106.5 "/>
<text text-anchor="start" x="759.587" y="-91.3" font-family="Times,serif" font-size="14.00">amount :integer</text>
<text text-anchor="start" x="759.587" y="-77.3" font-family="Times,serif" font-size="14.00">bidder_id :integer</text>
<text text-anchor="start" x="759.587" y="-63.3" font-family="Times,serif" font-size="14.00">auction_id :integer</text>
<text text-anchor="start" x="759.587" y="-49.3" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="759.587" y="-35.3" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="759.587" y="-21.3" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
<text text-anchor="start" x="759.587" y="-7.3" font-family="Times,serif" font-size="14.00">via :character varying</text>
</g>
<!-- Auction&#45;&gt;Bid -->
<g id="edge1" class="edge"><title>Auction&#45;&gt;Bid</title>
<path fill="none" stroke="#d9db7e" d="M797.484,-407.495C792.368,-393.382 787.936,-379.149 784.45,-365 763.29,-279.124 752.639,-248.526 784.45,-166 788.371,-155.827 793.853,-146.045 800.201,-136.846"/>
<ellipse fill="none" stroke="#d9db7e" cx="799.001" cy="-411.572" rx="4.00001" ry="4.00001"/>
<polygon fill="#d9db7e" stroke="#d9db7e" points="800.353,-136.638 809.888,-131.223 803.304,-132.603 806.256,-128.567 806.256,-128.567 806.256,-128.567 803.304,-132.603 802.624,-125.91 800.353,-136.638 800.353,-136.638"/>
</g>
<!-- Skill -->
<g id="node39" class="node"><title>Skill</title>
<path fill="none" stroke="black" d="M805.587,-222.5C805.587,-222.5 1029.31,-222.5 1029.31,-222.5 1035.31,-222.5 1041.31,-228.5 1041.31,-234.5 1041.31,-234.5 1041.31,-296.5 1041.31,-296.5 1041.31,-302.5 1035.31,-308.5 1029.31,-308.5 1029.31,-308.5 805.587,-308.5 805.587,-308.5 799.587,-308.5 793.587,-302.5 793.587,-296.5 793.587,-296.5 793.587,-234.5 793.587,-234.5 793.587,-228.5 799.587,-222.5 805.587,-222.5"/>
<text text-anchor="middle" x="917.45" y="-293.3" font-family="Times,serif" font-size="14.00">Skill</text>
<polyline fill="none" stroke="black" points="793.587,-286.5 1041.31,-286.5 "/>
<text text-anchor="start" x="801.587" y="-271.3" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="801.587" y="-257.3" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="801.587" y="-243.3" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
<text text-anchor="start" x="801.587" y="-229.3" font-family="Times,serif" font-size="14.00">name :character varying</text>
</g>
<!-- Auction&#45;&gt;Skill -->
<g id="edge3" class="edge"><title>Auction&#45;&gt;Skill</title>
<path fill="none" stroke="#439f8b" d="M917.45,-404.904C917.45,-373.061 917.45,-342.94 917.45,-318.979"/>
<polygon fill="#439f8b" stroke="#439f8b" points="917.45,-405.269 912.95,-415.269 917.45,-410.269 917.45,-415.269 917.45,-415.269 917.45,-415.269 917.45,-410.269 921.95,-415.27 917.45,-405.269 917.45,-405.269"/>
<polygon fill="#439f8b" stroke="#439f8b" points="917.45,-318.761 921.95,-308.761 917.45,-313.761 917.45,-308.761 917.45,-308.761 917.45,-308.761 917.45,-313.761 912.95,-308.761 917.45,-318.761 917.45,-318.761"/>
</g>
<!-- User -->
<g id="node49" class="node"><title>User</title>
<path fill="none" stroke="black" d="M1071.59,-166.5C1071.59,-166.5 1295.31,-166.5 1295.31,-166.5 1301.31,-166.5 1307.31,-172.5 1307.31,-178.5 1307.31,-178.5 1307.31,-352.5 1307.31,-352.5 1307.31,-358.5 1301.31,-364.5 1295.31,-364.5 1295.31,-364.5 1071.59,-364.5 1071.59,-364.5 1065.59,-364.5 1059.59,-358.5 1059.59,-352.5 1059.59,-352.5 1059.59,-178.5 1059.59,-178.5 1059.59,-172.5 1065.59,-166.5 1071.59,-166.5"/>
<text text-anchor="middle" x="1183.45" y="-349.3" font-family="Times,serif" font-size="14.00">User</text>
<polyline fill="none" stroke="black" points="1059.59,-342.5 1307.31,-342.5 "/>
<text text-anchor="start" x="1067.59" y="-327.3" font-family="Times,serif" font-size="14.00">small_business :boolean</text>
<text text-anchor="start" x="1067.59" y="-313.3" font-family="Times,serif" font-size="14.00">github_id :character varying</text>
<text text-anchor="start" x="1067.59" y="-299.3" font-family="Times,serif" font-size="14.00">duns_number :character varying</text>
<text text-anchor="start" x="1067.59" y="-285.3" font-family="Times,serif" font-size="14.00">name :character varying</text>
<text text-anchor="start" x="1067.59" y="-271.3" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="1067.59" y="-257.3" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
<text text-anchor="start" x="1067.59" y="-243.3" font-family="Times,serif" font-size="14.00">email :character varying</text>
<text text-anchor="start" x="1067.59" y="-229.3" font-family="Times,serif" font-size="14.00">github_login :character varying</text>
<text text-anchor="start" x="1067.59" y="-215.3" font-family="Times,serif" font-size="14.00">payment_url :character varying</text>
<text text-anchor="start" x="1067.59" y="-201.3" font-family="Times,serif" font-size="14.00">sam_status :integer</text>
<text text-anchor="start" x="1067.59" y="-187.3" font-family="Times,serif" font-size="14.00">contracting_officer :boolean</text>
<text text-anchor="start" x="1067.59" y="-173.3" font-family="Times,serif" font-size="14.00">id :integer</text>
</g>
<!-- Auction&#45;&gt;User -->
<g id="edge2" class="edge"><title>Auction&#45;&gt;User</title>
<path fill="none" stroke="#2f7831" d="M1061.76,-427.538C1075.84,-408.899 1089.76,-390.484 1102.86,-373.14"/>
<polygon fill="#2f7831" stroke="#2f7831" points="1061.74,-427.562 1052.12,-432.828 1058.72,-431.552 1055.71,-435.541 1055.71,-435.541 1055.71,-435.541 1058.72,-431.552 1059.3,-438.254 1061.74,-427.562 1061.74,-427.562"/>
<polygon fill="#2f7831" stroke="#2f7831" points="1103.2,-372.693 1112.82,-367.428 1106.22,-368.704 1109.23,-364.715 1109.23,-364.715 1109.23,-364.715 1106.22,-368.704 1105.64,-362.002 1103.2,-372.693 1103.2,-372.693"/>
<text text-anchor="middle" x="1110.06" y="-385.8" font-family="Times,serif" font-size="14.00">bidders</text>
</g>
<!-- AuctionParser -->
<g id="node7" class="node"><title>AuctionParser</title>
<polygon fill="none" stroke="black" points="1059.4,-910.5 1059.4,-954.5 1155.49,-954.5 1155.49,-910.5 1059.4,-910.5"/>
<text text-anchor="middle" x="1107.45" y="-939.3" font-family="Times,serif" font-size="14.00">AuctionParser</text>
<polyline fill="none" stroke="black" points="1059.4,-932.5 1155.49,-932.5 "/>
<text text-anchor="middle" x="1107.45" y="-917.3" font-family="Times,serif" font-size="14.00"> </text>
</g>
<!-- AuctionQuery -->
<g id="node8" class="node"><title>AuctionQuery</title>
<polygon fill="none" stroke="black" points="1173.4,-910.5 1173.4,-954.5 1269.49,-954.5 1269.49,-910.5 1173.4,-910.5"/>
<text text-anchor="middle" x="1221.45" y="-939.3" font-family="Times,serif" font-size="14.00">AuctionQuery</text>
<polyline fill="none" stroke="black" points="1173.4,-932.5 1269.49,-932.5 "/>
<text text-anchor="middle" x="1221.45" y="-917.3" font-family="Times,serif" font-size="14.00"> </text>
</g>
<!-- AuctionThreshold -->
<g id="node9" class="node"><title>AuctionThreshold</title>
<polygon fill="none" stroke="black" points="1287.52,-910.5 1287.52,-954.5 1405.38,-954.5 1405.38,-910.5 1287.52,-910.5"/>
<text text-anchor="middle" x="1346.45" y="-939.3" font-family="Times,serif" font-size="14.00">AuctionThreshold</text>
<polyline fill="none" stroke="black" points="1287.52,-932.5 1405.38,-932.5 "/>
<text text-anchor="middle" x="1346.45" y="-917.3" font-family="Times,serif" font-size="14.00"> </text>
</g>
<!-- AuctionTypes -->
<g id="node10" class="node"><title>AuctionTypes</title>
<polygon fill="none" stroke="black" points="1423.28,-910.5 1423.28,-954.5 1517.62,-954.5 1517.62,-910.5 1423.28,-910.5"/>
<text text-anchor="middle" x="1470.45" y="-939.3" font-family="Times,serif" font-size="14.00">AuctionTypes</text>
<polyline fill="none" stroke="black" points="1423.28,-932.5 1517.62,-932.5 "/>
<text text-anchor="middle" x="1470.45" y="-917.3" font-family="Times,serif" font-size="14.00"> </text>
</g>
<!-- BidStatusPresenterFactory -->
<g id="node12" class="node"><title>BidStatusPresenterFactory</title>
<polygon fill="none" stroke="black" points="1535.79,-910.5 1535.79,-954.5 1701.1,-954.5 1701.1,-910.5 1535.79,-910.5"/>
<text text-anchor="middle" x="1618.45" y="-939.3" font-family="Times,serif" font-size="14.00">BidStatusPresenterFactory</text>
<polyline fill="none" stroke="black" points="1535.79,-932.5 1701.1,-932.5 "/>
<text text-anchor="middle" x="1618.45" y="-917.3" font-family="Times,serif" font-size="14.00"> </text>
</g>
<!-- BiddingStatus -->
<g id="node13" class="node"><title>BiddingStatus</title>
<polygon fill="none" stroke="black" points="1718.78,-910.5 1718.78,-954.5 1814.12,-954.5 1814.12,-910.5 1718.78,-910.5"/>
<text text-anchor="middle" x="1766.45" y="-939.3" font-family="Times,serif" font-size="14.00">BiddingStatus</text>
<polyline fill="none" stroke="black" points="1718.78,-932.5 1814.12,-932.5 "/>
<text text-anchor="middle" x="1766.45" y="-917.3" font-family="Times,serif" font-size="14.00"> </text>
</g>
<!-- BiddingStatusPresenterFactory -->
<g id="node14" class="node"><title>BiddingStatusPresenterFactory</title>
<polygon fill="none" stroke="black" points="1832.35,-910.5 1832.35,-954.5 2022.55,-954.5 2022.55,-910.5 1832.35,-910.5"/>
<text text-anchor="middle" x="1927.45" y="-939.3" font-family="Times,serif" font-size="14.00">BiddingStatusPresenterFactory</text>
<polyline fill="none" stroke="black" points="1832.35,-932.5 2022.55,-932.5 "/>
<text text-anchor="middle" x="1927.45" y="-917.3" font-family="Times,serif" font-size="14.00"> </text>
</g>
<!-- C2Attributes -->
<g id="node15" class="node"><title>C2Attributes</title>
<polygon fill="none" stroke="black" points="2040.28,-910.5 2040.28,-954.5 2128.62,-954.5 2128.62,-910.5 2040.28,-910.5"/>
<text text-anchor="middle" x="2084.45" y="-939.3" font-family="Times,serif" font-size="14.00">C2Attributes</text>
<polyline fill="none" stroke="black" points="2040.28,-932.5 2128.62,-932.5 "/>
<text text-anchor="middle" x="2084.45" y="-917.3" font-family="Times,serif" font-size="14.00"> </text>
</g>
<!-- C2CancelAttributes -->
<g id="node16" class="node"><title>C2CancelAttributes</title>
<polygon fill="none" stroke="black" points="2146.85,-910.5 2146.85,-954.5 2274.05,-954.5 2274.05,-910.5 2146.85,-910.5"/>
<text text-anchor="middle" x="2210.45" y="-939.3" font-family="Times,serif" font-size="14.00">C2CancelAttributes</text>
<polyline fill="none" stroke="black" points="2146.85,-932.5 2274.05,-932.5 "/>
<text text-anchor="middle" x="2210.45" y="-917.3" font-family="Times,serif" font-size="14.00"> </text>
</g>
<!-- C2UpdateAttributes -->
<g id="node17" class="node"><title>C2UpdateAttributes</title>
<polygon fill="none" stroke="black" points="2292.07,-910.5 2292.07,-954.5 2420.83,-954.5 2420.83,-910.5 2292.07,-910.5"/>
<text text-anchor="middle" x="2356.45" y="-939.3" font-family="Times,serif" font-size="14.00">C2UpdateAttributes</text>
<polyline fill="none" stroke="black" points="2292.07,-932.5 2420.83,-932.5 "/>
<text text-anchor="middle" x="2356.45" y="-917.3" font-family="Times,serif" font-size="14.00"> </text>
</g>
<!-- ClientAccount -->
<g id="node18" class="node"><title>ClientAccount</title>
<path fill="none" stroke="black" d="M2450.59,-868.5C2450.59,-868.5 2674.31,-868.5 2674.31,-868.5 2680.31,-868.5 2686.31,-874.5 2686.31,-880.5 2686.31,-880.5 2686.31,-984.5 2686.31,-984.5 2686.31,-990.5 2680.31,-996.5 2674.31,-996.5 2674.31,-996.5 2450.59,-996.5 2450.59,-996.5 2444.59,-996.5 2438.59,-990.5 2438.59,-984.5 2438.59,-984.5 2438.59,-880.5 2438.59,-880.5 2438.59,-874.5 2444.59,-868.5 2450.59,-868.5"/>
<text text-anchor="middle" x="2562.45" y="-981.3" font-family="Times,serif" font-size="14.00">ClientAccount</text>
<polyline fill="none" stroke="black" points="2438.59,-974.5 2686.31,-974.5 "/>
<text text-anchor="start" x="2446.59" y="-959.3" font-family="Times,serif" font-size="14.00">name :character varying</text>
<text text-anchor="start" x="2446.59" y="-945.3" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="2446.59" y="-931.3" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
<text text-anchor="start" x="2446.59" y="-917.3" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="2446.59" y="-903.3" font-family="Times,serif" font-size="14.00">billable :boolean</text>
<text text-anchor="start" x="2446.59" y="-889.3" font-family="Times,serif" font-size="14.00">tock_id :integer</text>
<text text-anchor="start" x="2446.59" y="-875.3" font-family="Times,serif" font-size="14.00">active :boolean</text>
</g>
<!-- ClientAccountQuery -->
<g id="node19" class="node"><title>ClientAccountQuery</title>
<polygon fill="none" stroke="black" points="2704.13,-910.5 2704.13,-954.5 2836.77,-954.5 2836.77,-910.5 2704.13,-910.5"/>
<text text-anchor="middle" x="2770.45" y="-939.3" font-family="Times,serif" font-size="14.00">ClientAccountQuery</text>
<polyline fill="none" stroke="black" points="2704.13,-932.5 2836.77,-932.5 "/>
<text text-anchor="middle" x="2770.45" y="-917.3" font-family="Times,serif" font-size="14.00"> </text>
</g>
<!-- Customer -->
<g id="node20" class="node"><title>Customer</title>
<path fill="none" stroke="black" d="M805.587,-875.5C805.587,-875.5 1029.31,-875.5 1029.31,-875.5 1035.31,-875.5 1041.31,-881.5 1041.31,-887.5 1041.31,-887.5 1041.31,-977.5 1041.31,-977.5 1041.31,-983.5 1035.31,-989.5 1029.31,-989.5 1029.31,-989.5 805.587,-989.5 805.587,-989.5 799.587,-989.5 793.587,-983.5 793.587,-977.5 793.587,-977.5 793.587,-887.5 793.587,-887.5 793.587,-881.5 799.587,-875.5 805.587,-875.5"/>
<text text-anchor="middle" x="917.45" y="-974.3" font-family="Times,serif" font-size="14.00">Customer</text>
<polyline fill="none" stroke="black" points="793.587,-967.5 1041.31,-967.5 "/>
<text text-anchor="start" x="801.587" y="-952.3" font-family="Times,serif" font-size="14.00">id :integer</text>
<text text-anchor="start" x="801.587" y="-938.3" font-family="Times,serif" font-size="14.00">agency_name :character varying</text>
<text text-anchor="start" x="801.587" y="-924.3" font-family="Times,serif" font-size="14.00">contact_name :character varying</text>
<text text-anchor="start" x="801.587" y="-910.3" font-family="Times,serif" font-size="14.00">email :character varying</text>
<text text-anchor="start" x="801.587" y="-896.3" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="801.587" y="-882.3" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
</g>
<!-- Customer&#45;&gt;Auction -->
<g id="edge4" class="edge"><title>Customer&#45;&gt;Auction</title>
<path fill="none" stroke="#7383ba" d="M917.45,-867.046C917.45,-856.608 917.45,-845.325 917.45,-833.528"/>
<ellipse fill="none" stroke="#7383ba" cx="917.45" cy="-871.18" rx="4" ry="4"/>
<polygon fill="#7383ba" stroke="#7383ba" points="917.45,-833.505 921.95,-823.505 917.45,-828.505 917.45,-823.505 917.45,-823.505 917.45,-823.505 917.45,-828.505 912.95,-823.505 917.45,-833.505 917.45,-833.505"/>
</g>
<!-- DateTimeParser -->
<g id="node21" class="node"><title>DateTimeParser</title>
<polygon fill="none" stroke="black" points="2855.21,-910.5 2855.21,-954.5 2961.69,-954.5 2961.69,-910.5 2855.21,-910.5"/>
<text text-anchor="middle" x="2908.45" y="-939.3" font-family="Times,serif" font-size="14.00">DateTimeParser</text>
<polyline fill="none" stroke="black" points="2855.21,-932.5 2961.69,-932.5 "/>
<text text-anchor="middle" x="2908.45" y="-917.3" font-family="Times,serif" font-size="14.00"> </text>
</g>
<!-- Eligibilities::InSam -->
<g id="node22" class="node"><title>Eligibilities::InSam</title>
<polygon fill="none" stroke="black" points="2979.62,-910.5 2979.62,-954.5 3105.28,-954.5 3105.28,-910.5 2979.62,-910.5"/>
<text text-anchor="middle" x="3042.45" y="-939.3" font-family="Times,serif" font-size="14.00">Eligibilities::InSam</text>
<polyline fill="none" stroke="black" points="2979.62,-932.5 3105.28,-932.5 "/>
<text text-anchor="middle" x="3042.45" y="-917.3" font-family="Times,serif" font-size="14.00"> </text>
</g>
<!-- Eligibilities::SmallBusiness -->
<g id="node23" class="node"><title>Eligibilities::SmallBusiness</title>
<polygon fill="none" stroke="black" points="3123.67,-910.5 3123.67,-954.5 3295.23,-954.5 3295.23,-910.5 3123.67,-910.5"/>
<text text-anchor="middle" x="3209.45" y="-939.3" font-family="Times,serif" font-size="14.00">Eligibilities::SmallBusiness</text>
<polyline fill="none" stroke="black" points="3123.67,-932.5 3295.23,-932.5 "/>
<text text-anchor="middle" x="3209.45" y="-917.3" font-family="Times,serif" font-size="14.00"> </text>
</g>
<!-- EligibilityFactory -->
<g id="node24" class="node"><title>EligibilityFactory</title>
<polygon fill="none" stroke="black" points="3313.68,-910.5 3313.68,-954.5 3429.22,-954.5 3429.22,-910.5 3313.68,-910.5"/>
<text text-anchor="middle" x="3371.45" y="-939.3" font-family="Times,serif" font-size="14.00">EligibilityFactory</text>
<polyline fill="none" stroke="black" points="3313.68,-932.5 3429.22,-932.5 "/>
<text text-anchor="middle" x="3371.45" y="-917.3" font-family="Times,serif" font-size="14.00"> </text>
</g>
<!-- Guest -->
<g id="node25" class="node"><title>Guest</title>
<polygon fill="none" stroke="black" points="3447.45,-910.5 3447.45,-954.5 3501.45,-954.5 3501.45,-910.5 3447.45,-910.5"/>
<text text-anchor="middle" x="3474.28" y="-939.3" font-family="Times,serif" font-size="14.00">Guest</text>
<polyline fill="none" stroke="black" points="3447.45,-932.5 3501.11,-932.5 "/>
<text text-anchor="middle" x="3474.28" y="-917.3" font-family="Times,serif" font-size="14.00"> </text>
</g>
<!-- HighlightedBid -->
<g id="node26" class="node"><title>HighlightedBid</title>
<polygon fill="none" stroke="black" points="3519.89,-910.5 3519.89,-954.5 3623,-954.5 3623,-910.5 3519.89,-910.5"/>
<text text-anchor="middle" x="3571.45" y="-939.3" font-family="Times,serif" font-size="14.00">HighlightedBid</text>
<polyline fill="none" stroke="black" points="3519.89,-932.5 3623,-932.5 "/>
<text text-anchor="middle" x="3571.45" y="-917.3" font-family="Times,serif" font-size="14.00"> </text>
</g>
<!-- InsightMetric -->
<g id="node27" class="node"><title>InsightMetric</title>
<path fill="none" stroke="black" d="M3652.59,-861.5C3652.59,-861.5 3876.31,-861.5 3876.31,-861.5 3882.31,-861.5 3888.31,-867.5 3888.31,-873.5 3888.31,-873.5 3888.31,-991.5 3888.31,-991.5 3888.31,-997.5 3882.31,-1003.5 3876.31,-1003.5 3876.31,-1003.5 3652.59,-1003.5 3652.59,-1003.5 3646.59,-1003.5 3640.59,-997.5 3640.59,-991.5 3640.59,-991.5 3640.59,-873.5 3640.59,-873.5 3640.59,-867.5 3646.59,-861.5 3652.59,-861.5"/>
<text text-anchor="middle" x="3764.45" y="-988.3" font-family="Times,serif" font-size="14.00">InsightMetric</text>
<polyline fill="none" stroke="black" points="3640.59,-981.5 3888.31,-981.5 "/>
<text text-anchor="start" x="3648.59" y="-966.3" font-family="Times,serif" font-size="14.00">label_statistic :character varying</text>
<text text-anchor="start" x="3648.59" y="-952.3" font-family="Times,serif" font-size="14.00">created_at :timestamp without time zone</text>
<text text-anchor="start" x="3648.59" y="-938.3" font-family="Times,serif" font-size="14.00">updated_at :timestamp without time zone</text>
<text text-anchor="start" x="3648.59" y="-924.3" font-family="Times,serif" font-size="14.00">statistic :character varying</text>
<text text-anchor="start" x="3648.59" y="-910.3" font-family="Times,serif" font-size="14.00">label :character varying</text>
<text text-anchor="start" x="3648.59" y="-896.3" font-family="Times,serif" font-size="14.00">name :character varying</text>
<text text-anchor="start" x="3648.59" y="-882.3" font-family="Times,serif" font-size="14.00">href :character varying</text>
<text text-anchor="start" x="3648.59" y="-868.3" font-family="Times,serif" font-size="14.00">id :integer</text>
</g>
<!-- MarkdownRender -->
<g id="node28" class="node"><title>MarkdownRender</title>
<polygon fill="none" stroke="black" points="3906.52,-910.5 3906.52,-954.5 4024.38,-954.5 4024.38,-910.5 3906.52,-910.5"/>
<text text-anchor="middle" x="3965.45" y="-939.3" font-family="Times,serif" font-size="14.00">MarkdownRender</text>
<polyline fill="none" stroke="black" points="3906.52,-932.5 4024.38,-932.5 "/>
<text text-anchor="middle" x="3965.45" y="-917.3" font-family="Times,serif" font-size="14.00"> </text>
</g>
<!-- NullBid -->
<g id="node29" class="node"><title>NullBid</title>
<polygon fill="none" stroke="black" points="4041.89,-910.5 4041.89,-954.5 4103.01,-954.5 4103.01,-910.5 4041.89,-910.5"/>
<text text-anchor="middle" x="4072.45" y="-939.3" font-family="Times,serif" font-size="14.00">NullBid</text>
<polyline fill="none" stroke="black" points="4041.89,-932.5 4103.01,-932.5 "/>
<text text-anchor="middle" x="4072.45" y="-917.3" font-family="Times,serif" font-size="14.00"> </text>
</g>
<!-- NullBidder -->
<g id="node30" class="node"><title>NullBidder</title>
<polygon fill="none" stroke="black" points="4120.95,-910.5 4120.95,-954.5 4199.95,-954.5 4199.95,-910.5 4120.95,-910.5"/>
<text text-anchor="middle" x="4160.45" y="-939.3" font-family="Times,serif" font-size="14.00">NullBidder</text>
<polyline fill="none" stroke="black" points="4120.95,-932.5 4199.95,-932.5 "/>
<text text-anchor="middle" x="4160.45" y="-917.3" font-family="Times,serif" font-size="14.00"> </text>
</g>
<!-- NullCustomer -->
<g id="node31" class="node"><title>NullCustomer</title>
<polygon fill="none" stroke="black" points="4217.78,-910.5 4217.78,-954.5 4313.12,-954.5 4313.12,-910.5 4217.78,-910.5"/>
<text text-anchor="middle" x="4265.45" y="-939.3" font-family="Times,serif" font-size="14.00">NullCustomer</text>
<polyline fill="none" stroke="black" points="4217.78,-932.5 4313.12,-932.5 "/>
<text text-anchor="middle" x="4265.45" y="-917.3" font-family="Times,serif" font-size="14.00"> </text>
</g>
<!-- Rules::BaseRules -->
<g id="node32" class="node"><title>Rules::BaseRules</title>
<polygon fill="none" stroke="black" points="4331.06,-910.5 4331.06,-954.5 4445.84,-954.5 4445.84,-910.5 4331.06,-910.5"/>
<text text-anchor="middle" x="4388.45" y="-939.3" font-family="Times,serif" font-size="14.00">Rules::BaseRules</text>
<polyline fill="none" stroke="black" points="4331.06,-932.5 4445.84,-932.5 "/>
<text text-anchor="middle" x="4388.45" y="-917.3" font-family="Times,serif" font-size="14.00"> </text>
</g>
<!-- Rules::ReverseAuction -->
<g id="node33" class="node"><title>Rules::ReverseAuction</title>
<polygon fill="none" stroke="black" points="4463.52,-910.5 4463.52,-954.5 4609.38,-954.5 4609.38,-910.5 4463.52,-910.5"/>
<text text-anchor="middle" x="4536.45" y="-939.3" font-family="Times,serif" font-size="14.00">Rules::ReverseAuction</text>
<polyline fill="none" stroke="black" points="4463.52,-932.5 4609.38,-932.5 "/>
<text text-anchor="middle" x="4536.45" y="-917.3" font-family="Times,serif" font-size="14.00"> </text>
</g>
<!-- Rules::SealedBidAuction -->
<g id="node34" class="node"><title>Rules::SealedBidAuction</title>
<polygon fill="none" stroke="black" points="4627.29,-910.5 4627.29,-954.5 4785.61,-954.5 4785.61,-910.5 4627.29,-910.5"/>
<text text-anchor="middle" x="4706.45" y="-939.3" font-family="Times,serif" font-size="14.00">Rules::SealedBidAuction</text>
<polyline fill="none" stroke="black" points="4627.29,-932.5 4785.61,-932.5 "/>
<text text-anchor="middle" x="4706.45" y="-917.3" font-family="Times,serif" font-size="14.00"> </text>
</g>
<!-- RulesFactory -->
<g id="node35" class="node"><title>RulesFactory</title>
<polygon fill="none" stroke="black" points="4803.12,-910.5 4803.12,-954.5 4893.78,-954.5 4893.78,-910.5 4803.12,-910.5"/>
<text text-anchor="middle" x="4848.45" y="-939.3" font-family="Times,serif" font-size="14.00">RulesFactory</text>
<polyline fill="none" stroke="black" points="4803.12,-932.5 4893.78,-932.5 "/>
<text text-anchor="middle" x="4848.45" y="-917.3" font-family="Times,serif" font-size="14.00"> </text>
</g>
<!-- SamAccountReckoner -->
<g id="node36" class="node"><title>SamAccountReckoner</title>
<polygon fill="none" stroke="black" points="4911.47,-910.5 4911.47,-954.5 5053.43,-954.5 5053.43,-910.5 4911.47,-910.5"/>
<text text-anchor="middle" x="4982.45" y="-939.3" font-family="Times,serif" font-size="14.00">SamAccountReckoner</text>
<polyline fill="none" stroke="black" points="4911.47,-932.5 5053.43,-932.5 "/>
<text text-anchor="middle" x="4982.45" y="-917.3" font-family="Times,serif" font-size="14.00"> </text>
</g>
<!-- SamStatusPresenterFactory -->
<g id="node37" class="node"><title>SamStatusPresenterFactory</title>
<polygon fill="none" stroke="black" points="5071.46,-910.5 5071.46,-954.5 5241.44,-954.5 5241.44,-910.5 5071.46,-910.5"/>
<text text-anchor="middle" x="5156.45" y="-939.3" font-family="Times,serif" font-size="14.00">SamStatusPresenterFactory</text>
<polyline fill="none" stroke="black" points="5071.46,-932.5 5241.44,-932.5 "/>
<text text-anchor="middle" x="5156.45" y="-917.3" font-family="Times,serif" font-size="14.00"> </text>
</g>
<!-- SignInUser -->
<g id="node38" class="node"><title>SignInUser</title>
<polygon fill="none" stroke="black" points="5259.56,-910.5 5259.56,-954.5 5339.34,-954.5 5339.34,-910.5 5259.56,-910.5"/>
<text text-anchor="middle" x="5299.45" y="-939.3" font-family="Times,serif" font-size="14.00">SignInUser</text>
<polyline fill="none" stroke="black" points="5259.56,-932.5 5339.34,-932.5 "/>
<text text-anchor="middle" x="5299.45" y="-917.3" font-family="Times,serif" font-size="14.00"> </text>
</g>
<!-- SkillQuery -->
<g id="node40" class="node"><title>SkillQuery</title>
<polygon fill="none" stroke="black" points="5357.73,-910.5 5357.73,-954.5 5435.17,-954.5 5435.17,-910.5 5357.73,-910.5"/>
<text text-anchor="middle" x="5396.45" y="-939.3" font-family="Times,serif" font-size="14.00">SkillQuery</text>
<polyline fill="none" stroke="black" points="5357.73,-932.5 5435.17,-932.5 "/>
<text text-anchor="middle" x="5396.45" y="-917.3" font-family="Times,serif" font-size="14.00"> </text>
</g>
<!-- Statistics::AverageAuctionLength -->
<g id="node41" class="node"><title>Statistics::AverageAuctionLength</title>
<polygon fill="none" stroke="black" points="5452.71,-910.5 5452.71,-954.5 5658.19,-954.5 5658.19,-910.5 5452.71,-910.5"/>
<text text-anchor="middle" x="5555.45" y="-939.3" font-family="Times,serif" font-size="14.00">Statistics::AverageAuctionLength</text>
<polyline fill="none" stroke="black" points="5452.71,-932.5 5658.19,-932.5 "/>
<text text-anchor="middle" x="5555.45" y="-917.3" font-family="Times,serif" font-size="14.00"> </text>
</g>
<!-- Statistics::AverageBidsPerAuction -->
<g id="node42" class="node"><title>Statistics::AverageBidsPerAuction</title>
<polygon fill="none" stroke="black" points="5676.37,-910.5 5676.37,-954.5 5886.53,-954.5 5886.53,-910.5 5676.37,-910.5"/>
<text text-anchor="middle" x="5781.45" y="-939.3" font-family="Times,serif" font-size="14.00">Statistics::AverageBidsPerAuction</text>
<polyline fill="none" stroke="black" points="5676.37,-932.5 5886.53,-932.5 "/>
<text text-anchor="middle" x="5781.45" y="-917.3" font-family="Times,serif" font-size="14.00"> </text>
</g>
<!-- Statistics::AverageDeliveryTime -->
<g id="node43" class="node"><title>Statistics::AverageDeliveryTime</title>
<polygon fill="none" stroke="black" points="5904.07,-910.5 5904.07,-954.5 6102.83,-954.5 6102.83,-910.5 5904.07,-910.5"/>
<text text-anchor="middle" x="6003.45" y="-939.3" font-family="Times,serif" font-size="14.00">Statistics::AverageDeliveryTime</text>
<polyline fill="none" stroke="black" points="5904.07,-932.5 6102.83,-932.5 "/>
<text text-anchor="middle" x="6003.45" y="-917.3" font-family="Times,serif" font-size="14.00"> </text>
</g>
<!-- Statistics::AverageStartingPrice -->
<g id="node44" class="node"><title>Statistics::AverageStartingPrice</title>
<polygon fill="none" stroke="black" points="6120.54,-910.5 6120.54,-954.5 6314.36,-954.5 6314.36,-910.5 6120.54,-910.5"/>
<text text-anchor="middle" x="6217.45" y="-939.3" font-family="Times,serif" font-size="14.00">Statistics::AverageStartingPrice</text>
<polyline fill="none" stroke="black" points="6120.54,-932.5 6314.36,-932.5 "/>
<text text-anchor="middle" x="6217.45" y="-917.3" font-family="Times,serif" font-size="14.00"> </text>
</g>
<!-- Statistics::AverageWinningBid -->
<g id="node45" class="node"><title>Statistics::AverageWinningBid</title>
<polygon fill="none" stroke="black" points="6332.76,-910.5 6332.76,-954.5 6522.14,-954.5 6522.14,-910.5 6332.76,-910.5"/>
<text text-anchor="middle" x="6427.45" y="-939.3" font-family="Times,serif" font-size="14.00">Statistics::AverageWinningBid</text>
<polyline fill="none" stroke="black" points="6332.76,-932.5 6522.14,-932.5 "/>
<text text-anchor="middle" x="6427.45" y="-917.3" font-family="Times,serif" font-size="14.00"> </text>
</g>
<!-- Statistics::TotalSavings -->
<g id="node46" class="node"><title>Statistics::TotalSavings</title>
<polygon fill="none" stroke="black" points="6539.83,-910.5 6539.83,-954.5 6687.07,-954.5 6687.07,-910.5 6539.83,-910.5"/>
<text text-anchor="middle" x="6613.45" y="-939.3" font-family="Times,serif" font-size="14.00">Statistics::TotalSavings</text>
<polyline fill="none" stroke="black" points="6539.83,-932.5 6687.07,-932.5 "/>
<text text-anchor="middle" x="6613.45" y="-917.3" font-family="Times,serif" font-size="14.00"> </text>
</g>
<!-- Statistics::UniqueBiddersPerAuction -->
<g id="node47" class="node"><title>Statistics::UniqueBiddersPerAuction</title>
<polygon fill="none" stroke="black" points="6705.02,-910.5 6705.02,-954.5 6927.88,-954.5 6927.88,-910.5 6705.02,-910.5"/>
<text text-anchor="middle" x="6816.45" y="-939.3" font-family="Times,serif" font-size="14.00">Statistics::UniqueBiddersPerAuction</text>
<polyline fill="none" stroke="black" points="6705.02,-932.5 6927.88,-932.5 "/>
<text text-anchor="middle" x="6816.45" y="-917.3" font-family="Times,serif" font-size="14.00"> </text>
</g>
<!-- UnauthorizedError -->
<g id="node48" class="node"><title>UnauthorizedError</title>
<polygon fill="none" stroke="black" points="6945.58,-910.5 6945.58,-954.5 7067.32,-954.5 7067.32,-910.5 6945.58,-910.5"/>
<text text-anchor="middle" x="7006.45" y="-939.3" font-family="Times,serif" font-size="14.00">UnauthorizedError</text>
<polyline fill="none" stroke="black" points="6945.58,-932.5 7067.32,-932.5 "/>
<text text-anchor="middle" x="7006.45" y="-917.3" font-family="Times,serif" font-size="14.00"> </text>
</g>
<!-- User&#45;&gt;Bid -->
<g id="edge5" class="edge"><title>User&#45;&gt;Bid</title>
<path fill="none" stroke="#d7236c" d="M1052.71,-167.483C1051.95,-166.986 1051.2,-166.492 1050.45,-166 1033.95,-155.203 1016.24,-144.295 998.658,-133.847"/>
<ellipse fill="none" stroke="#d7236c" cx="1056.2" cy="-169.803" rx="4.00002" ry="4.00002"/>
<polygon fill="#d7236c" stroke="#d7236c" points="998.652,-133.843 992.331,-124.883 994.347,-131.3 990.042,-128.757 990.042,-128.757 990.042,-128.757 994.347,-131.3 987.754,-132.632 998.652,-133.843 998.652,-133.843"/>
</g>
<!-- UserExport -->
<g id="node50" class="node"><title>UserExport</title>
<polygon fill="none" stroke="black" points="7085.18,-910.5 7085.18,-954.5 7165.72,-954.5 7165.72,-910.5 7085.18,-910.5"/>
<text text-anchor="middle" x="7125.45" y="-939.3" font-family="Times,serif" font-size="14.00">UserExport</text>
<polyline fill="none" stroke="black" points="7085.18,-932.5 7165.72,-932.5 "/>
<text text-anchor="middle" x="7125.45" y="-917.3" font-family="Times,serif" font-size="14.00"> </text>
</g>
<!-- UserQuery -->
<g id="node51" class="node"><title>UserQuery</title>
<polygon fill="none" stroke="black" points="7183.74,-910.5 7183.74,-954.5 7261.16,-954.5 7261.16,-910.5 7183.74,-910.5"/>
<text text-anchor="middle" x="7222.45" y="-939.3" font-family="Times,serif" font-size="14.00">UserQuery</text>
<polyline fill="none" stroke="black" points="7183.74,-932.5 7261.16,-932.5 "/>
<text text-anchor="middle" x="7222.45" y="-917.3" font-family="Times,serif" font-size="14.00"> </text>
</g>
<!-- WebAuthenticator -->
<g id="node52" class="node"><title>WebAuthenticator</title>
<polygon fill="none" stroke="black" points="7279.31,-910.5 7279.31,-954.5 7397.59,-954.5 7397.59,-910.5 7279.31,-910.5"/>
<text text-anchor="middle" x="7338.45" y="-939.3" font-family="Times,serif" font-size="14.00">WebAuthenticator</text>
<polyline fill="none" stroke="black" points="7279.31,-932.5 7397.59,-932.5 "/>
<text text-anchor="middle" x="7338.45" y="-917.3" font-family="Times,serif" font-size="14.00"> </text>
</g>
<!-- WinningBid -->
<g id="node53" class="node"><title>WinningBid</title>
<polygon fill="none" stroke="black" points="7415.12,-910.5 7415.12,-954.5 7499.78,-954.5 7499.78,-910.5 7415.12,-910.5"/>
<text text-anchor="middle" x="7457.45" y="-939.3" font-family="Times,serif" font-size="14.00">WinningBid</text>
<polyline fill="none" stroke="black" points="7415.12,-932.5 7499.78,-932.5 "/>
<text text-anchor="middle" x="7457.45" y="-917.3" font-family="Times,serif" font-size="14.00"> </text>
</g>
<!-- WinningBidderExport -->
<g id="node54" class="node"><title>WinningBidderExport</title>
<polygon fill="none" stroke="black" points="7518.13,-910.5 7518.13,-954.5 7658.77,-954.5 7658.77,-910.5 7518.13,-910.5"/>
<text text-anchor="middle" x="7588.45" y="-939.3" font-family="Times,serif" font-size="14.00">WinningBidderExport</text>
<polyline fill="none" stroke="black" points="7518.13,-932.5 7658.77,-932.5 "/>
<text text-anchor="middle" x="7588.45" y="-917.3" font-family="Times,serif" font-size="14.00"> </text>
</g>
</g>
</svg>