From 6a8e7490d2215cfba227f57770ca20cb560a9d3a Mon Sep 17 00:00:00 2001 From: Hermes Agent Date: Mon, 8 Jun 2026 01:23:27 +0000 Subject: [PATCH] feat[agent]: add bidding & negotiation database schema (bids table) --- supabase/migrations/004_bidding_system.sql | 26 ++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 supabase/migrations/004_bidding_system.sql diff --git a/supabase/migrations/004_bidding_system.sql b/supabase/migrations/004_bidding_system.sql new file mode 100644 index 0000000..778cae9 --- /dev/null +++ b/supabase/migrations/004_bidding_system.sql @@ -0,0 +1,26 @@ +-- ============================================================ +-- Migration 004: Bidding & Negotiation System +-- ============================================================ + +-- Bids table for freight offers +CREATE TABLE bids ( + id UUID PRIMARY KEY DEFAULT uuid_generate_v4(), + load_id TEXT REFERENCES loads(id) ON DELETE CASCADE, + driver_id TEXT REFERENCES portal_users(id) ON DELETE CASCADE, + bid_amount NUMERIC(12,2) NOT NULL, + notes TEXT, + status TEXT DEFAULT 'pending' CHECK (status IN ('pending', 'accepted', 'rejected', 'counter_offer')), + created_at TIMESTAMPTZ DEFAULT NOW(), + updated_at TIMESTAMPTZ DEFAULT NOW() +); + +-- Indexes for fast lookup of bids per load +CREATE INDEX idx_bids_load_id ON bids(load_id); +CREATE INDEX idx_bids_driver_id ON bids(driver_id); +CREATE INDEX idx_bids_status ON bids(status); + +-- ============================================================ +-- Audit triggers for Bids +-- ============================================================ +CREATE TRIGGER trg_bids_updated_at BEFORE UPDATE ON bids + FOR EACH ROW EXECUTE FUNCTION update_updated_at();