{
  "id": "b60423f1-a506-4cde-9fb2-100a0462ff66",
  "prevId": "00000000-0000-0000-0000-000000000000",
  "version": "7",
  "dialect": "postgresql",
  "tables": {
    "public.audit_events": {
      "name": "audit_events",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "bigserial",
          "primaryKey": true,
          "notNull": true
        },
        "actor_id": {
          "name": "actor_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": false
        },
        "action": {
          "name": "action",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "object_type": {
          "name": "object_type",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "object_id": {
          "name": "object_id",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "ip_hash": {
          "name": "ip_hash",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "metadata_redacted": {
          "name": "metadata_redacted",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": true,
          "default": "'{}'::jsonb"
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        }
      },
      "indexes": {
        "audit_created_idx": {
          "name": "audit_created_idx",
          "columns": [
            {
              "expression": "created_at",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        },
        "audit_actor_idx": {
          "name": "audit_actor_idx",
          "columns": [
            {
              "expression": "actor_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        }
      },
      "foreignKeys": {},
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.email_deliveries": {
      "name": "email_deliveries",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "to_hash": {
          "name": "to_hash",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "template": {
          "name": "template",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "provider_id": {
          "name": "provider_id",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "status": {
          "name": "status",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "error": {
          "name": "error",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        }
      },
      "indexes": {
        "email_deliveries_created_idx": {
          "name": "email_deliveries_created_idx",
          "columns": [
            {
              "expression": "created_at",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        }
      },
      "foreignKeys": {},
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.favorites": {
      "name": "favorites",
      "schema": "",
      "columns": {
        "user_id": {
          "name": "user_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "listing_uid": {
          "name": "listing_uid",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        }
      },
      "indexes": {},
      "foreignKeys": {
        "favorites_user_id_users_id_fk": {
          "name": "favorites_user_id_users_id_fk",
          "tableFrom": "favorites",
          "tableTo": "users",
          "columnsFrom": [
            "user_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {
        "favorites_user_id_listing_uid_pk": {
          "name": "favorites_user_id_listing_uid_pk",
          "columns": [
            "user_id",
            "listing_uid"
          ]
        }
      },
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.inquiries": {
      "name": "inquiries",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "listing_id": {
          "name": "listing_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "sender_user_id": {
          "name": "sender_user_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "recipient_user_id": {
          "name": "recipient_user_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "category": {
          "name": "category",
          "type": "text",
          "primaryKey": false,
          "notNull": true,
          "default": "'INFO'"
        },
        "status": {
          "name": "status",
          "type": "text",
          "primaryKey": false,
          "notNull": true,
          "default": "'OPEN'"
        },
        "last_message_at": {
          "name": "last_message_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        }
      },
      "indexes": {
        "inquiries_listing_idx": {
          "name": "inquiries_listing_idx",
          "columns": [
            {
              "expression": "listing_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        },
        "inquiries_sender_idx": {
          "name": "inquiries_sender_idx",
          "columns": [
            {
              "expression": "sender_user_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        },
        "inquiries_recipient_idx": {
          "name": "inquiries_recipient_idx",
          "columns": [
            {
              "expression": "recipient_user_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        },
        "inquiries_unique_thread": {
          "name": "inquiries_unique_thread",
          "columns": [
            {
              "expression": "listing_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "sender_user_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": true,
          "concurrently": false,
          "method": "btree",
          "with": {}
        }
      },
      "foreignKeys": {
        "inquiries_listing_id_listings_id_fk": {
          "name": "inquiries_listing_id_listings_id_fk",
          "tableFrom": "inquiries",
          "tableTo": "listings",
          "columnsFrom": [
            "listing_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        },
        "inquiries_sender_user_id_users_id_fk": {
          "name": "inquiries_sender_user_id_users_id_fk",
          "tableFrom": "inquiries",
          "tableTo": "users",
          "columnsFrom": [
            "sender_user_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        },
        "inquiries_recipient_user_id_users_id_fk": {
          "name": "inquiries_recipient_user_id_users_id_fk",
          "tableFrom": "inquiries",
          "tableTo": "users",
          "columnsFrom": [
            "recipient_user_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.listing_claims": {
      "name": "listing_claims",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "aggregated_uid": {
          "name": "aggregated_uid",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "requester_id": {
          "name": "requester_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "status": {
          "name": "status",
          "type": "text",
          "primaryKey": false,
          "notNull": true,
          "default": "'PENDING'"
        },
        "message": {
          "name": "message",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "proof_keys": {
          "name": "proof_keys",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": true,
          "default": "'[]'::jsonb"
        },
        "reviewed_by": {
          "name": "reviewed_by",
          "type": "uuid",
          "primaryKey": false,
          "notNull": false
        },
        "reviewed_at": {
          "name": "reviewed_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": false
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        }
      },
      "indexes": {
        "listing_claims_uid_idx": {
          "name": "listing_claims_uid_idx",
          "columns": [
            {
              "expression": "aggregated_uid",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        }
      },
      "foreignKeys": {
        "listing_claims_requester_id_users_id_fk": {
          "name": "listing_claims_requester_id_users_id_fk",
          "tableFrom": "listing_claims",
          "tableTo": "users",
          "columnsFrom": [
            "requester_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.listing_media": {
      "name": "listing_media",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "listing_id": {
          "name": "listing_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "storage_key": {
          "name": "storage_key",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "media_type": {
          "name": "media_type",
          "type": "text",
          "primaryKey": false,
          "notNull": true,
          "default": "'IMAGE'"
        },
        "mime_type": {
          "name": "mime_type",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "position": {
          "name": "position",
          "type": "integer",
          "primaryKey": false,
          "notNull": true,
          "default": 0
        },
        "alt_text": {
          "name": "alt_text",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "license_status": {
          "name": "license_status",
          "type": "text",
          "primaryKey": false,
          "notNull": true,
          "default": "'OWNER_DECLARED'"
        },
        "scan_status": {
          "name": "scan_status",
          "type": "text",
          "primaryKey": false,
          "notNull": true,
          "default": "'PENDING'"
        },
        "width": {
          "name": "width",
          "type": "integer",
          "primaryKey": false,
          "notNull": false
        },
        "height": {
          "name": "height",
          "type": "integer",
          "primaryKey": false,
          "notNull": false
        },
        "bytes": {
          "name": "bytes",
          "type": "integer",
          "primaryKey": false,
          "notNull": false
        },
        "status": {
          "name": "status",
          "type": "text",
          "primaryKey": false,
          "notNull": true,
          "default": "'UPLOADING'"
        },
        "upload_token": {
          "name": "upload_token",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "uploaded_at": {
          "name": "uploaded_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        }
      },
      "indexes": {
        "listing_media_listing_idx": {
          "name": "listing_media_listing_idx",
          "columns": [
            {
              "expression": "listing_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "position",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        }
      },
      "foreignKeys": {
        "listing_media_listing_id_listings_id_fk": {
          "name": "listing_media_listing_id_listings_id_fk",
          "tableFrom": "listing_media",
          "tableTo": "listings",
          "columnsFrom": [
            "listing_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.listing_versions": {
      "name": "listing_versions",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "bigserial",
          "primaryKey": true,
          "notNull": true
        },
        "listing_id": {
          "name": "listing_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "version": {
          "name": "version",
          "type": "integer",
          "primaryKey": false,
          "notNull": true
        },
        "actor_id": {
          "name": "actor_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": false
        },
        "snapshot": {
          "name": "snapshot",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": true
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        }
      },
      "indexes": {
        "listing_versions_listing_idx": {
          "name": "listing_versions_listing_idx",
          "columns": [
            {
              "expression": "listing_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "version",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        }
      },
      "foreignKeys": {
        "listing_versions_listing_id_listings_id_fk": {
          "name": "listing_versions_listing_id_listings_id_fk",
          "tableFrom": "listing_versions",
          "tableTo": "listings",
          "columnsFrom": [
            "listing_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.listings": {
      "name": "listings",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "slug": {
          "name": "slug",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "property_id": {
          "name": "property_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "owner_user_id": {
          "name": "owner_user_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": false
        },
        "listing_type": {
          "name": "listing_type",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "source_type": {
          "name": "source_type",
          "type": "text",
          "primaryKey": false,
          "notNull": true,
          "default": "'DIRECT_OWNER'"
        },
        "status": {
          "name": "status",
          "type": "text",
          "primaryKey": false,
          "notNull": true,
          "default": "'DRAFT'"
        },
        "title": {
          "name": "title",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "description": {
          "name": "description",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "price_amount": {
          "name": "price_amount",
          "type": "numeric(12, 2)",
          "primaryKey": false,
          "notNull": false
        },
        "currency": {
          "name": "currency",
          "type": "text",
          "primaryKey": false,
          "notNull": true,
          "default": "'CAD'"
        },
        "rental_period": {
          "name": "rental_period",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "availability_date": {
          "name": "availability_date",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "furnished": {
          "name": "furnished",
          "type": "boolean",
          "primaryKey": false,
          "notNull": false
        },
        "pets_policy": {
          "name": "pets_policy",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "smoking_policy": {
          "name": "smoking_policy",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "parking": {
          "name": "parking",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "lease_terms": {
          "name": "lease_terms",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "inclusions": {
          "name": "inclusions",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": true,
          "default": "'[]'::jsonb"
        },
        "features": {
          "name": "features",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": true,
          "default": "'{}'::jsonb"
        },
        "publication_at": {
          "name": "publication_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": false
        },
        "expires_at": {
          "name": "expires_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": false
        },
        "moderation_state": {
          "name": "moderation_state",
          "type": "text",
          "primaryKey": false,
          "notNull": true,
          "default": "'NONE'"
        },
        "moderation_note": {
          "name": "moderation_note",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "external_url": {
          "name": "external_url",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "upstream_source": {
          "name": "upstream_source",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "upstream_id": {
          "name": "upstream_id",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "upstream_sync_at": {
          "name": "upstream_sync_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": false
        },
        "wizard_step": {
          "name": "wizard_step",
          "type": "integer",
          "primaryKey": false,
          "notNull": true,
          "default": 0
        },
        "attested_at": {
          "name": "attested_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": false
        },
        "version": {
          "name": "version",
          "type": "integer",
          "primaryKey": false,
          "notNull": true,
          "default": 1
        },
        "views_count": {
          "name": "views_count",
          "type": "integer",
          "primaryKey": false,
          "notNull": true,
          "default": 0
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        }
      },
      "indexes": {
        "listings_slug_uq": {
          "name": "listings_slug_uq",
          "columns": [
            {
              "expression": "slug",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": true,
          "concurrently": false,
          "method": "btree",
          "with": {}
        },
        "listings_status_idx": {
          "name": "listings_status_idx",
          "columns": [
            {
              "expression": "status",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "listing_type",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "publication_at",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        },
        "listings_owner_idx": {
          "name": "listings_owner_idx",
          "columns": [
            {
              "expression": "owner_user_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        },
        "listings_upstream_uq": {
          "name": "listings_upstream_uq",
          "columns": [
            {
              "expression": "upstream_source",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "upstream_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": true,
          "concurrently": false,
          "method": "btree",
          "with": {}
        }
      },
      "foreignKeys": {
        "listings_property_id_properties_id_fk": {
          "name": "listings_property_id_properties_id_fk",
          "tableFrom": "listings",
          "tableTo": "properties",
          "columnsFrom": [
            "property_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "restrict",
          "onUpdate": "no action"
        },
        "listings_owner_user_id_users_id_fk": {
          "name": "listings_owner_user_id_users_id_fk",
          "tableFrom": "listings",
          "tableTo": "users",
          "columnsFrom": [
            "owner_user_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "set null",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {
        "listings_type_ck": {
          "name": "listings_type_ck",
          "value": "\"listings\".\"listing_type\" in ('SALE','RENT')"
        },
        "listings_source_ck": {
          "name": "listings_source_ck",
          "value": "\"listings\".\"source_type\" in ('DIRECT_OWNER','DIRECT_AGENT','AGGREGATED_PARTNER')"
        },
        "listings_status_ck": {
          "name": "listings_status_ck",
          "value": "\"listings\".\"status\" in ('DRAFT','PENDING_REVIEW','PUBLISHED','PAUSED','REJECTED','ARCHIVED','SOLD','RENTED')"
        },
        "listings_price_ck": {
          "name": "listings_price_ck",
          "value": "\"listings\".\"price_amount\" is null or \"listings\".\"price_amount\" >= 0"
        },
        "listings_owner_direct_ck": {
          "name": "listings_owner_direct_ck",
          "value": "\"listings\".\"source_type\" = 'AGGREGATED_PARTNER' or \"listings\".\"owner_user_id\" is not null"
        },
        "listings_rent_period_ck": {
          "name": "listings_rent_period_ck",
          "value": "\"listings\".\"listing_type\" <> 'RENT' or \"listings\".\"rental_period\" is null or \"listings\".\"rental_period\" in ('MONTH','WEEK')"
        }
      },
      "isRLSEnabled": false
    },
    "public.messages": {
      "name": "messages",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "inquiry_id": {
          "name": "inquiry_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "sender_id": {
          "name": "sender_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "body": {
          "name": "body",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "idempotency_key": {
          "name": "idempotency_key",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        },
        "read_at": {
          "name": "read_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": false
        }
      },
      "indexes": {
        "messages_inquiry_idx": {
          "name": "messages_inquiry_idx",
          "columns": [
            {
              "expression": "inquiry_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "created_at",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        },
        "messages_idem_uq": {
          "name": "messages_idem_uq",
          "columns": [
            {
              "expression": "inquiry_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "idempotency_key",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": true,
          "concurrently": false,
          "method": "btree",
          "with": {}
        }
      },
      "foreignKeys": {
        "messages_inquiry_id_inquiries_id_fk": {
          "name": "messages_inquiry_id_inquiries_id_fk",
          "tableFrom": "messages",
          "tableTo": "inquiries",
          "columnsFrom": [
            "inquiry_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        },
        "messages_sender_id_users_id_fk": {
          "name": "messages_sender_id_users_id_fk",
          "tableFrom": "messages",
          "tableTo": "users",
          "columnsFrom": [
            "sender_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.moderation_actions": {
      "name": "moderation_actions",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "bigserial",
          "primaryKey": true,
          "notNull": true
        },
        "actor_id": {
          "name": "actor_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "target_type": {
          "name": "target_type",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "target_id": {
          "name": "target_id",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "action": {
          "name": "action",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "note": {
          "name": "note",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        }
      },
      "indexes": {},
      "foreignKeys": {},
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.otp_challenges": {
      "name": "otp_challenges",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "email_normalized": {
          "name": "email_normalized",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "purpose": {
          "name": "purpose",
          "type": "text",
          "primaryKey": false,
          "notNull": true,
          "default": "'LOGIN'"
        },
        "secret_digest": {
          "name": "secret_digest",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "expires_at": {
          "name": "expires_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true
        },
        "attempts": {
          "name": "attempts",
          "type": "integer",
          "primaryKey": false,
          "notNull": true,
          "default": 0
        },
        "consumed_at": {
          "name": "consumed_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": false
        },
        "requested_ip_hash": {
          "name": "requested_ip_hash",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "meta": {
          "name": "meta",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": true,
          "default": "'{}'::jsonb"
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        }
      },
      "indexes": {
        "otp_email_idx": {
          "name": "otp_email_idx",
          "columns": [
            {
              "expression": "email_normalized",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "created_at",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        },
        "otp_expires_idx": {
          "name": "otp_expires_idx",
          "columns": [
            {
              "expression": "expires_at",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        }
      },
      "foreignKeys": {},
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.properties": {
      "name": "properties",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "canonical_address": {
          "name": "canonical_address",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "unit": {
          "name": "unit",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "city": {
          "name": "city",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "region": {
          "name": "region",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "postal_code": {
          "name": "postal_code",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "lat": {
          "name": "lat",
          "type": "double precision",
          "primaryKey": false,
          "notNull": false
        },
        "lng": {
          "name": "lng",
          "type": "double precision",
          "primaryKey": false,
          "notNull": false
        },
        "geographic_precision": {
          "name": "geographic_precision",
          "type": "text",
          "primaryKey": false,
          "notNull": true,
          "default": "'EXACT'"
        },
        "geo_source": {
          "name": "geo_source",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "role_unit_id": {
          "name": "role_unit_id",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "property_type": {
          "name": "property_type",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "bedrooms": {
          "name": "bedrooms",
          "type": "numeric(4, 1)",
          "primaryKey": false,
          "notNull": false
        },
        "bathrooms": {
          "name": "bathrooms",
          "type": "numeric(4, 1)",
          "primaryKey": false,
          "notNull": false
        },
        "area_sqft": {
          "name": "area_sqft",
          "type": "integer",
          "primaryKey": false,
          "notNull": false
        },
        "lot_sqft": {
          "name": "lot_sqft",
          "type": "integer",
          "primaryKey": false,
          "notNull": false
        },
        "year_built": {
          "name": "year_built",
          "type": "integer",
          "primaryKey": false,
          "notNull": false
        },
        "privacy_level": {
          "name": "privacy_level",
          "type": "text",
          "primaryKey": false,
          "notNull": true,
          "default": "'EXACT'"
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        }
      },
      "indexes": {
        "properties_geo_idx": {
          "name": "properties_geo_idx",
          "columns": [
            {
              "expression": "lat",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "lng",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        },
        "properties_city_idx": {
          "name": "properties_city_idx",
          "columns": [
            {
              "expression": "city",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        }
      },
      "foreignKeys": {},
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.rate_limits": {
      "name": "rate_limits",
      "schema": "",
      "columns": {
        "key": {
          "name": "key",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "window_start": {
          "name": "window_start",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true
        },
        "count": {
          "name": "count",
          "type": "integer",
          "primaryKey": false,
          "notNull": true,
          "default": 0
        }
      },
      "indexes": {},
      "foreignKeys": {},
      "compositePrimaryKeys": {
        "rate_limits_key_window_start_pk": {
          "name": "rate_limits_key_window_start_pk",
          "columns": [
            "key",
            "window_start"
          ]
        }
      },
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.reports": {
      "name": "reports",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "target_type": {
          "name": "target_type",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "target_id": {
          "name": "target_id",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "reporter_id": {
          "name": "reporter_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": false
        },
        "reason": {
          "name": "reason",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "details": {
          "name": "details",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "status": {
          "name": "status",
          "type": "text",
          "primaryKey": false,
          "notNull": true,
          "default": "'OPEN'"
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        }
      },
      "indexes": {
        "reports_status_idx": {
          "name": "reports_status_idx",
          "columns": [
            {
              "expression": "status",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            },
            {
              "expression": "created_at",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        }
      },
      "foreignKeys": {
        "reports_reporter_id_users_id_fk": {
          "name": "reports_reporter_id_users_id_fk",
          "tableFrom": "reports",
          "tableTo": "users",
          "columnsFrom": [
            "reporter_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "set null",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.saved_searches": {
      "name": "saved_searches",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "user_id": {
          "name": "user_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "label": {
          "name": "label",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "query": {
          "name": "query",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": true
        },
        "alert_enabled": {
          "name": "alert_enabled",
          "type": "boolean",
          "primaryKey": false,
          "notNull": true,
          "default": false
        },
        "alert_frequency": {
          "name": "alert_frequency",
          "type": "text",
          "primaryKey": false,
          "notNull": true,
          "default": "'DAILY'"
        },
        "last_alert_at": {
          "name": "last_alert_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": false
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        }
      },
      "indexes": {
        "saved_searches_user_idx": {
          "name": "saved_searches_user_idx",
          "columns": [
            {
              "expression": "user_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        }
      },
      "foreignKeys": {
        "saved_searches_user_id_users_id_fk": {
          "name": "saved_searches_user_id_users_id_fk",
          "tableFrom": "saved_searches",
          "tableTo": "users",
          "columnsFrom": [
            "user_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.sessions": {
      "name": "sessions",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "user_id": {
          "name": "user_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "token_digest": {
          "name": "token_digest",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "issued_at": {
          "name": "issued_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        },
        "last_seen_at": {
          "name": "last_seen_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        },
        "expires_at": {
          "name": "expires_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true
        },
        "revoked_at": {
          "name": "revoked_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": false
        },
        "device_label": {
          "name": "device_label",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "ip_hash": {
          "name": "ip_hash",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "mfa_at": {
          "name": "mfa_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": false
        }
      },
      "indexes": {
        "sessions_token_uq": {
          "name": "sessions_token_uq",
          "columns": [
            {
              "expression": "token_digest",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": true,
          "concurrently": false,
          "method": "btree",
          "with": {}
        },
        "sessions_user_idx": {
          "name": "sessions_user_idx",
          "columns": [
            {
              "expression": "user_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        }
      },
      "foreignKeys": {
        "sessions_user_id_users_id_fk": {
          "name": "sessions_user_id_users_id_fk",
          "tableFrom": "sessions",
          "tableTo": "users",
          "columnsFrom": [
            "user_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.user_profiles": {
      "name": "user_profiles",
      "schema": "",
      "columns": {
        "user_id": {
          "name": "user_id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true
        },
        "public_name": {
          "name": "public_name",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "bio": {
          "name": "bio",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "avatar_key": {
          "name": "avatar_key",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "seller_type": {
          "name": "seller_type",
          "type": "text",
          "primaryKey": false,
          "notNull": true,
          "default": "'OWNER'"
        },
        "verification_status": {
          "name": "verification_status",
          "type": "text",
          "primaryKey": false,
          "notNull": true,
          "default": "'NONE'"
        },
        "contact_preferences": {
          "name": "contact_preferences",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": true,
          "default": "'{\"email\":true,\"phone\":false}'::jsonb"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        }
      },
      "indexes": {},
      "foreignKeys": {
        "user_profiles_user_id_users_id_fk": {
          "name": "user_profiles_user_id_users_id_fk",
          "tableFrom": "user_profiles",
          "tableTo": "users",
          "columnsFrom": [
            "user_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {},
      "isRLSEnabled": false
    },
    "public.user_roles": {
      "name": "user_roles",
      "schema": "",
      "columns": {
        "user_id": {
          "name": "user_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "role": {
          "name": "role",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "granted_by": {
          "name": "granted_by",
          "type": "uuid",
          "primaryKey": false,
          "notNull": false
        },
        "granted_at": {
          "name": "granted_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        },
        "note": {
          "name": "note",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        }
      },
      "indexes": {},
      "foreignKeys": {
        "user_roles_user_id_users_id_fk": {
          "name": "user_roles_user_id_users_id_fk",
          "tableFrom": "user_roles",
          "tableTo": "users",
          "columnsFrom": [
            "user_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {
        "user_roles_user_id_role_pk": {
          "name": "user_roles_user_id_role_pk",
          "columns": [
            "user_id",
            "role"
          ]
        }
      },
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {
        "user_roles_role_ck": {
          "name": "user_roles_role_ck",
          "value": "\"user_roles\".\"role\" in ('ADMIN','MODERATOR','AGENT_VERIFIED')"
        }
      },
      "isRLSEnabled": false
    },
    "public.users": {
      "name": "users",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "email": {
          "name": "email",
          "type": "text",
          "primaryKey": false,
          "notNull": true
        },
        "email_verified_at": {
          "name": "email_verified_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": false
        },
        "display_name": {
          "name": "display_name",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "phone_encrypted": {
          "name": "phone_encrypted",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "locale": {
          "name": "locale",
          "type": "text",
          "primaryKey": false,
          "notNull": true,
          "default": "'fr-CA'"
        },
        "status": {
          "name": "status",
          "type": "text",
          "primaryKey": false,
          "notNull": true,
          "default": "'ACTIVE'"
        },
        "prefs": {
          "name": "prefs",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": true,
          "default": "'{}'::jsonb"
        },
        "totp_secret_encrypted": {
          "name": "totp_secret_encrypted",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        },
        "deleted_at": {
          "name": "deleted_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": false
        }
      },
      "indexes": {
        "users_email_uq": {
          "name": "users_email_uq",
          "columns": [
            {
              "expression": "email",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": true,
          "concurrently": false,
          "method": "btree",
          "with": {}
        }
      },
      "foreignKeys": {},
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {
        "users_status_ck": {
          "name": "users_status_ck",
          "value": "\"users\".\"status\" in ('ACTIVE','SUSPENDED','DELETED')"
        }
      },
      "isRLSEnabled": false
    },
    "public.viewing_requests": {
      "name": "viewing_requests",
      "schema": "",
      "columns": {
        "id": {
          "name": "id",
          "type": "uuid",
          "primaryKey": true,
          "notNull": true,
          "default": "gen_random_uuid()"
        },
        "listing_id": {
          "name": "listing_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "inquiry_id": {
          "name": "inquiry_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": false
        },
        "requester_id": {
          "name": "requester_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "owner_id": {
          "name": "owner_id",
          "type": "uuid",
          "primaryKey": false,
          "notNull": true
        },
        "proposed_slots": {
          "name": "proposed_slots",
          "type": "jsonb",
          "primaryKey": false,
          "notNull": true
        },
        "confirmed_slot": {
          "name": "confirmed_slot",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": false
        },
        "status": {
          "name": "status",
          "type": "text",
          "primaryKey": false,
          "notNull": true,
          "default": "'REQUESTED'"
        },
        "note": {
          "name": "note",
          "type": "text",
          "primaryKey": false,
          "notNull": false
        },
        "created_at": {
          "name": "created_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        },
        "updated_at": {
          "name": "updated_at",
          "type": "timestamp with time zone",
          "primaryKey": false,
          "notNull": true,
          "default": "now()"
        }
      },
      "indexes": {
        "viewings_listing_idx": {
          "name": "viewings_listing_idx",
          "columns": [
            {
              "expression": "listing_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        },
        "viewings_requester_idx": {
          "name": "viewings_requester_idx",
          "columns": [
            {
              "expression": "requester_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        },
        "viewings_owner_idx": {
          "name": "viewings_owner_idx",
          "columns": [
            {
              "expression": "owner_id",
              "isExpression": false,
              "asc": true,
              "nulls": "last"
            }
          ],
          "isUnique": false,
          "concurrently": false,
          "method": "btree",
          "with": {}
        }
      },
      "foreignKeys": {
        "viewing_requests_listing_id_listings_id_fk": {
          "name": "viewing_requests_listing_id_listings_id_fk",
          "tableFrom": "viewing_requests",
          "tableTo": "listings",
          "columnsFrom": [
            "listing_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        },
        "viewing_requests_inquiry_id_inquiries_id_fk": {
          "name": "viewing_requests_inquiry_id_inquiries_id_fk",
          "tableFrom": "viewing_requests",
          "tableTo": "inquiries",
          "columnsFrom": [
            "inquiry_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "set null",
          "onUpdate": "no action"
        },
        "viewing_requests_requester_id_users_id_fk": {
          "name": "viewing_requests_requester_id_users_id_fk",
          "tableFrom": "viewing_requests",
          "tableTo": "users",
          "columnsFrom": [
            "requester_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        },
        "viewing_requests_owner_id_users_id_fk": {
          "name": "viewing_requests_owner_id_users_id_fk",
          "tableFrom": "viewing_requests",
          "tableTo": "users",
          "columnsFrom": [
            "owner_id"
          ],
          "columnsTo": [
            "id"
          ],
          "onDelete": "cascade",
          "onUpdate": "no action"
        }
      },
      "compositePrimaryKeys": {},
      "uniqueConstraints": {},
      "policies": {},
      "checkConstraints": {
        "viewings_status_ck": {
          "name": "viewings_status_ck",
          "value": "\"viewing_requests\".\"status\" in ('REQUESTED','CONFIRMED','CANCELLED','DONE')"
        }
      },
      "isRLSEnabled": false
    }
  },
  "enums": {},
  "schemas": {},
  "sequences": {},
  "roles": {},
  "policies": {},
  "views": {},
  "_meta": {
    "columns": {},
    "schemas": {},
    "tables": {}
  }
}