{
    "schemes": [],
    "swagger": "2.0",
    "info": {
        "description": "REST API for farming, cattle, and agricultural operations.",
        "title": "Agri API",
        "contact": {},
        "version": "1.0.0"
    },
    "host": "",
    "basePath": "/",
    "paths": {
        "/v1/advisories": {
            "get": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "advisories"
                ],
                "summary": "List advisories",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.AdvisoryRequestListResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "type": "object",
                            "additionalProperties": true
                        }
                    }
                }
            },
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "advisories"
                ],
                "summary": "Ask advisory question",
                "parameters": [
                    {
                        "description": "Advisory question",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.AdvisoryRequestCreateRequest"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/dto.AdvisoryRequestResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "type": "object",
                            "additionalProperties": true
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "type": "object",
                            "additionalProperties": true
                        }
                    }
                }
            }
        },
        "/v1/advisories/{id}": {
            "get": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "advisories"
                ],
                "summary": "Get advisory",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Advisory ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.AdvisoryRequestResponse"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "type": "object",
                            "additionalProperties": true
                        }
                    }
                }
            }
        },
        "/v1/advisories/{id}/review": {
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "advisories"
                ],
                "summary": "Review advisory",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Advisory ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Review decision",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/handlers.reviewRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.AdvisoryRequestResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "type": "object",
                            "additionalProperties": true
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "type": "object",
                            "additionalProperties": true
                        }
                    }
                }
            }
        },
        "/v1/crop-plans": {
            "get": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "crop-plans"
                ],
                "summary": "List crop plans",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.CropPlanListResponse"
                        }
                    }
                }
            },
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "crop-plans"
                ],
                "summary": "Create crop plan",
                "parameters": [
                    {
                        "description": "Crop plan",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.CropPlanCreateRequest"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/dto.CropPlanResponse"
                        }
                    }
                }
            }
        },
        "/v1/crop-plans/{id}": {
            "get": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "crop-plans"
                ],
                "summary": "Get crop plan",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Crop plan ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.CropPlanResponse"
                        }
                    }
                }
            },
            "put": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "crop-plans"
                ],
                "summary": "Update crop plan",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Crop plan ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Crop plan",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.CropPlanUpdateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.CropPlanResponse"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "crop-plans"
                ],
                "summary": "Archive crop plan",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Crop plan ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    }
                }
            },
            "patch": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "crop-plans"
                ],
                "summary": "Patch crop plan",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Crop plan ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Crop plan patch",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.CropPlanPatchRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.CropPlanResponse"
                        }
                    }
                }
            }
        },
        "/v1/farms": {
            "get": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "farms"
                ],
                "summary": "List farms",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.FarmListResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "type": "object",
                            "additionalProperties": true
                        }
                    }
                }
            },
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "farms"
                ],
                "summary": "Create farm",
                "parameters": [
                    {
                        "description": "Farm",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.FarmCreateRequest"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/dto.FarmResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "type": "object",
                            "additionalProperties": true
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "type": "object",
                            "additionalProperties": true
                        }
                    }
                }
            }
        },
        "/v1/farms/{id}": {
            "get": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "farms"
                ],
                "summary": "Get farm",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Farm ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.FarmResponse"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "type": "object",
                            "additionalProperties": true
                        }
                    }
                }
            },
            "put": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "farms"
                ],
                "summary": "Update farm",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Farm ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Farm",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.FarmUpdateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.FarmResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "type": "object",
                            "additionalProperties": true
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "type": "object",
                            "additionalProperties": true
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "farms"
                ],
                "summary": "Archive farm",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Farm ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "type": "object",
                            "additionalProperties": true
                        }
                    }
                }
            },
            "patch": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "farms"
                ],
                "summary": "Patch farm",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Farm ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Farm patch",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.FarmPatchRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.FarmResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "type": "object",
                            "additionalProperties": true
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "type": "object",
                            "additionalProperties": true
                        }
                    }
                }
            }
        },
        "/v1/fields": {
            "get": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "fields"
                ],
                "summary": "List fields",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.FieldListResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "type": "object",
                            "additionalProperties": true
                        }
                    }
                }
            },
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "fields"
                ],
                "summary": "Create field",
                "parameters": [
                    {
                        "description": "Field",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.FieldCreateRequest"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/dto.FieldResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "type": "object",
                            "additionalProperties": true
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "type": "object",
                            "additionalProperties": true
                        }
                    }
                }
            }
        },
        "/v1/fields/{id}": {
            "get": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "fields"
                ],
                "summary": "Get field",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Field ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.FieldResponse"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "type": "object",
                            "additionalProperties": true
                        }
                    }
                }
            },
            "put": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "fields"
                ],
                "summary": "Update field",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Field ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Field",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.FieldUpdateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.FieldResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "type": "object",
                            "additionalProperties": true
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "type": "object",
                            "additionalProperties": true
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "fields"
                ],
                "summary": "Archive field",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Field ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "type": "object",
                            "additionalProperties": true
                        }
                    }
                }
            },
            "patch": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "fields"
                ],
                "summary": "Patch field",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Field ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Field patch",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.FieldPatchRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.FieldResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "type": "object",
                            "additionalProperties": true
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "type": "object",
                            "additionalProperties": true
                        }
                    }
                }
            }
        },
        "/v1/harvest-inventory-lots": {
            "get": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "harvest-inventory-lots"
                ],
                "summary": "List harvest inventory lots",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.HarvestInventoryLotListResponse"
                        }
                    }
                }
            },
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "harvest-inventory-lots"
                ],
                "summary": "Create harvest inventory lot",
                "parameters": [
                    {
                        "description": "Harvest inventory lot",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.HarvestInventoryLotCreateRequest"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/dto.HarvestInventoryLotResponse"
                        }
                    }
                }
            }
        },
        "/v1/harvest-inventory-lots/{id}": {
            "get": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "harvest-inventory-lots"
                ],
                "summary": "Get harvest inventory lot",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Harvest inventory lot ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.HarvestInventoryLotResponse"
                        }
                    }
                }
            },
            "put": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "harvest-inventory-lots"
                ],
                "summary": "Update harvest inventory lot",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Harvest inventory lot ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Harvest inventory lot",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.HarvestInventoryLotUpdateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.HarvestInventoryLotResponse"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "harvest-inventory-lots"
                ],
                "summary": "Delete harvest inventory lot",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Harvest inventory lot ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    }
                }
            },
            "patch": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "harvest-inventory-lots"
                ],
                "summary": "Patch harvest inventory lot",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Harvest inventory lot ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Harvest inventory lot patch",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.HarvestInventoryLotPatchRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.HarvestInventoryLotResponse"
                        }
                    }
                }
            }
        },
        "/v1/input-usages": {
            "get": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "input-usages"
                ],
                "summary": "List input usages",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.InputUsageListResponse"
                        }
                    }
                }
            },
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "input-usages"
                ],
                "summary": "Create input usage",
                "parameters": [
                    {
                        "description": "Input usage",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.InputUsageCreateRequest"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/dto.InputUsageResponse"
                        }
                    }
                }
            }
        },
        "/v1/input-usages/{id}": {
            "get": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "input-usages"
                ],
                "summary": "Get input usage",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Input usage ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.InputUsageResponse"
                        }
                    }
                }
            }
        },
        "/v1/integrations/shopping/listing-events": {
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "integrations"
                ],
                "summary": "Ingest Shopping listing event",
                "parameters": [
                    {
                        "description": "Shopping listing event",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/agri.ShoppingListingEventRequest"
                        }
                    }
                ],
                "responses": {
                    "202": {
                        "description": "Accepted",
                        "schema": {
                            "$ref": "#/definitions/agri.ShoppingListingEventResponse"
                        }
                    }
                }
            }
        },
        "/v1/listings": {
            "get": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "listings"
                ],
                "summary": "List listings",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.AgriListingListResponse"
                        }
                    }
                }
            },
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "listings"
                ],
                "summary": "Create listing",
                "parameters": [
                    {
                        "description": "Listing",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.AgriListingCreateRequest"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/dto.AgriListingResponse"
                        }
                    }
                }
            }
        },
        "/v1/listings/{id}": {
            "get": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "listings"
                ],
                "summary": "Get listing",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Listing ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.AgriListingResponse"
                        }
                    }
                }
            },
            "put": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "listings"
                ],
                "summary": "Update listing",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Listing ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Listing",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.AgriListingUpdateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.AgriListingResponse"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "listings"
                ],
                "summary": "Cancel listing",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Listing ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    }
                }
            },
            "patch": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "listings"
                ],
                "summary": "Patch listing",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Listing ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Listing patch",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.AgriListingPatchRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.AgriListingResponse"
                        }
                    }
                }
            }
        },
        "/v1/listings/{id}/publish": {
            "post": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "listings"
                ],
                "summary": "Publish listing",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Listing ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.AgriListingResponse"
                        }
                    }
                }
            }
        },
        "/v1/livestock": {
            "get": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "livestock"
                ],
                "summary": "List livestock units",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.LivestockListResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "type": "object",
                            "additionalProperties": true
                        }
                    }
                }
            },
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "livestock"
                ],
                "summary": "Create livestock unit",
                "parameters": [
                    {
                        "description": "Livestock",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.LivestockCreateRequest"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/dto.LivestockResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "type": "object",
                            "additionalProperties": true
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "type": "object",
                            "additionalProperties": true
                        }
                    }
                }
            }
        },
        "/v1/livestock-health-events": {
            "get": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "livestock-health-events"
                ],
                "summary": "List livestock health events",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.LivestockHealthEventListResponse"
                        }
                    }
                }
            },
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "livestock-health-events"
                ],
                "summary": "Create livestock health event",
                "parameters": [
                    {
                        "description": "Livestock health event",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.LivestockHealthEventCreateRequest"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/dto.LivestockHealthEventResponse"
                        }
                    }
                }
            }
        },
        "/v1/livestock-health-events/{id}": {
            "get": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "livestock-health-events"
                ],
                "summary": "Get livestock health event",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Livestock health event ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.LivestockHealthEventResponse"
                        }
                    }
                }
            }
        },
        "/v1/livestock-production-logs": {
            "get": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "livestock-production-logs"
                ],
                "summary": "List livestock production logs",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.LivestockProductionLogListResponse"
                        }
                    }
                }
            },
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "livestock-production-logs"
                ],
                "summary": "Create livestock production log",
                "parameters": [
                    {
                        "description": "Livestock production log",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.LivestockProductionLogCreateRequest"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/dto.LivestockProductionLogResponse"
                        }
                    }
                }
            }
        },
        "/v1/livestock-production-logs/{id}": {
            "get": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "livestock-production-logs"
                ],
                "summary": "Get livestock production log",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Livestock production log ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.LivestockProductionLogResponse"
                        }
                    }
                }
            }
        },
        "/v1/livestock/{id}": {
            "get": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "livestock"
                ],
                "summary": "Get livestock unit",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Livestock ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.LivestockResponse"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "type": "object",
                            "additionalProperties": true
                        }
                    }
                }
            },
            "put": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "livestock"
                ],
                "summary": "Update livestock unit",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Livestock ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Livestock",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.LivestockUpdateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.LivestockResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "type": "object",
                            "additionalProperties": true
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "type": "object",
                            "additionalProperties": true
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "livestock"
                ],
                "summary": "Archive livestock unit",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Livestock ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "type": "object",
                            "additionalProperties": true
                        }
                    }
                }
            },
            "patch": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "livestock"
                ],
                "summary": "Patch livestock unit",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Livestock ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Livestock patch",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.LivestockPatchRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.LivestockResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "type": "object",
                            "additionalProperties": true
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "type": "object",
                            "additionalProperties": true
                        }
                    }
                }
            }
        },
        "/v1/rentals/{id}/reserve": {
            "post": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "rentals"
                ],
                "summary": "Reserve rental",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Rental ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.MachineryRentalRequestResponse"
                        }
                    }
                }
            }
        },
        "/v1/reports/{report_type}": {
            "get": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "reports"
                ],
                "summary": "Get Agri report",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Report type",
                        "name": "report_type",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/usecase.ReportResponse"
                        }
                    }
                }
            }
        },
        "/v1/seasons": {
            "get": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "seasons"
                ],
                "summary": "List crop seasons",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.CropSeasonListResponse"
                        }
                    }
                }
            },
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "seasons"
                ],
                "summary": "Create crop season",
                "parameters": [
                    {
                        "description": "Crop season",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.CropSeasonCreateRequest"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/dto.CropSeasonResponse"
                        }
                    }
                }
            }
        },
        "/v1/seasons/{id}": {
            "get": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "seasons"
                ],
                "summary": "Get crop season",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Season ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.CropSeasonResponse"
                        }
                    }
                }
            },
            "put": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "seasons"
                ],
                "summary": "Update crop season",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Season ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Crop season",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.CropSeasonUpdateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.CropSeasonResponse"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "seasons"
                ],
                "summary": "Archive crop season",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Season ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    }
                }
            },
            "patch": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "seasons"
                ],
                "summary": "Patch crop season",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Season ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Crop season patch",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.CropSeasonPatchRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.CropSeasonResponse"
                        }
                    }
                }
            }
        },
        "/v1/tasks": {
            "get": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "tasks"
                ],
                "summary": "List farm tasks",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.FarmTaskListResponse"
                        }
                    }
                }
            },
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "tasks"
                ],
                "summary": "Create farm task",
                "parameters": [
                    {
                        "description": "Farm task",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.FarmTaskCreateRequest"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/dto.FarmTaskResponse"
                        }
                    }
                }
            }
        },
        "/v1/tasks/{id}": {
            "get": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "tasks"
                ],
                "summary": "Get farm task",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Task ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.FarmTaskResponse"
                        }
                    }
                }
            },
            "put": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "tasks"
                ],
                "summary": "Update farm task",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Task ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Farm task",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.FarmTaskUpdateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.FarmTaskResponse"
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "tasks"
                ],
                "summary": "Archive farm task",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Task ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    }
                }
            },
            "patch": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "tasks"
                ],
                "summary": "Patch farm task",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Task ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Farm task patch",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.FarmTaskPatchRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.FarmTaskResponse"
                        }
                    }
                }
            }
        },
        "/v1/tasks/{id}/complete": {
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "tasks"
                ],
                "summary": "Complete farm task",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Task ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Task completion",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.FarmTaskCompleteRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.FarmTaskResponse"
                        }
                    }
                }
            }
        },
        "/v1/vision-scans": {
            "get": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "vision-scans"
                ],
                "summary": "List vision scans",
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.VisionScanListResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "type": "object",
                            "additionalProperties": true
                        }
                    }
                }
            },
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "vision-scans"
                ],
                "summary": "Create vision scan",
                "parameters": [
                    {
                        "description": "Vision scan",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/dto.VisionScanCreateRequest"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/dto.VisionScanResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "type": "object",
                            "additionalProperties": true
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "type": "object",
                            "additionalProperties": true
                        }
                    }
                }
            }
        },
        "/v1/vision-scans/{id}": {
            "get": {
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "vision-scans"
                ],
                "summary": "Get vision scan",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Vision scan ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.VisionScanResponse"
                        }
                    },
                    "404": {
                        "description": "Not Found",
                        "schema": {
                            "type": "object",
                            "additionalProperties": true
                        }
                    }
                }
            }
        },
        "/v1/vision-scans/{id}/review": {
            "post": {
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "vision-scans"
                ],
                "summary": "Review vision scan",
                "parameters": [
                    {
                        "type": "string",
                        "description": "Vision scan ID",
                        "name": "id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Review decision",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/handlers.reviewRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dto.VisionScanResponse"
                        }
                    },
                    "400": {
                        "description": "Bad Request",
                        "schema": {
                            "type": "object",
                            "additionalProperties": true
                        }
                    },
                    "409": {
                        "description": "Conflict",
                        "schema": {
                            "type": "object",
                            "additionalProperties": true
                        }
                    }
                }
            }
        }
    },
    "definitions": {
        "agri.ShoppingListingEventRequest": {
            "type": "object",
            "properties": {
                "event_id": {
                    "type": "string"
                },
                "listing_id": {
                    "type": "string"
                },
                "order_id": {
                    "type": "string"
                },
                "quantity": {
                    "type": "number"
                },
                "shopping_listing_id": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                }
            }
        },
        "agri.ShoppingListingEventResponse": {
            "type": "object",
            "properties": {
                "duplicate": {
                    "type": "boolean"
                },
                "event_id": {
                    "type": "string"
                },
                "listing_id": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                }
            }
        },
        "dto.AdvisoryRequestCreateRequest": {
            "type": "object",
            "required": [
                "question"
            ],
            "properties": {
                "crop_plan_id": {
                    "type": "string"
                },
                "farm_id": {
                    "type": "string"
                },
                "field_id": {
                    "type": "string"
                },
                "question": {
                    "type": "string"
                }
            }
        },
        "dto.AdvisoryRequestListResponse": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.AdvisoryRequestResponse"
                    }
                },
                "limit": {
                    "type": "integer"
                },
                "next_cursor": {
                    "type": "string"
                },
                "offset": {
                    "type": "integer"
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "dto.AdvisoryRequestResponse": {
            "type": "object",
            "properties": {
                "answer": {
                    "type": "string"
                },
                "confidence": {
                    "type": "number"
                },
                "created_at": {
                    "type": "string"
                },
                "crop_plan_id": {
                    "type": "string"
                },
                "disclaimer": {
                    "type": "string"
                },
                "farm_id": {
                    "type": "string"
                },
                "field_id": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "needs_review": {
                    "type": "boolean"
                },
                "provider_request_id": {
                    "type": "string"
                },
                "question": {
                    "type": "string"
                },
                "recommendation": {
                    "type": "string"
                },
                "review_decision": {
                    "type": "string"
                },
                "review_notes": {
                    "type": "string"
                },
                "reviewed_at": {
                    "type": "string"
                },
                "reviewed_by": {
                    "type": "string"
                },
                "source_count": {
                    "type": "integer"
                },
                "status": {
                    "type": "string"
                },
                "tenant_id": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "string"
                }
            }
        },
        "dto.AgriListingCreateRequest": {
            "type": "object",
            "required": [
                "farm_id",
                "price_amount",
                "quantity",
                "title",
                "unit"
            ],
            "properties": {
                "currency_code": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "farm_id": {
                    "type": "string"
                },
                "field_id": {
                    "type": "string"
                },
                "inventory_lot_id": {
                    "type": "string"
                },
                "listing_type": {
                    "type": "string",
                    "enum": [
                        "land",
                        "produce",
                        "livestock"
                    ]
                },
                "livestock_id": {
                    "type": "string"
                },
                "price_amount": {
                    "type": "number"
                },
                "quantity": {
                    "type": "number"
                },
                "status": {
                    "type": "string",
                    "enum": [
                        "draft",
                        "reserved",
                        "published",
                        "sold",
                        "cancelled",
                        "archived"
                    ]
                },
                "title": {
                    "type": "string"
                },
                "unit": {
                    "type": "string"
                }
            }
        },
        "dto.AgriListingListResponse": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.AgriListingResponse"
                    }
                },
                "limit": {
                    "type": "integer"
                },
                "next_cursor": {
                    "type": "string"
                },
                "offset": {
                    "type": "integer"
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "dto.AgriListingPatchRequest": {
            "type": "object",
            "properties": {
                "currency_code": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "farm_id": {
                    "type": "string"
                },
                "field_id": {
                    "type": "string"
                },
                "inventory_lot_id": {
                    "type": "string"
                },
                "listing_type": {
                    "type": "string",
                    "enum": [
                        "land",
                        "produce",
                        "livestock"
                    ]
                },
                "livestock_id": {
                    "type": "string"
                },
                "price_amount": {
                    "type": "number"
                },
                "quantity": {
                    "type": "number"
                },
                "status": {
                    "type": "string",
                    "enum": [
                        "draft",
                        "reserved",
                        "published",
                        "sold",
                        "cancelled",
                        "archived"
                    ]
                },
                "title": {
                    "type": "string"
                },
                "unit": {
                    "type": "string"
                }
            }
        },
        "dto.AgriListingResponse": {
            "type": "object",
            "properties": {
                "created_at": {
                    "type": "string"
                },
                "currency_code": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "farm_id": {
                    "type": "string"
                },
                "field_id": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "inventory_lot_id": {
                    "type": "string"
                },
                "last_callback_event_id": {
                    "type": "string"
                },
                "listing_type": {
                    "type": "string"
                },
                "livestock_id": {
                    "type": "string"
                },
                "ownership_expires_at": {
                    "type": "string"
                },
                "ownership_status": {
                    "type": "string"
                },
                "ownership_verification_id": {
                    "type": "string"
                },
                "price_amount": {
                    "type": "number"
                },
                "quantity": {
                    "type": "number"
                },
                "shopping_listing_id": {
                    "type": "string"
                },
                "shopping_order_id": {
                    "type": "string"
                },
                "shopping_sync_status": {
                    "type": "string"
                },
                "shopping_synced_at": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "tenant_id": {
                    "type": "string"
                },
                "title": {
                    "type": "string"
                },
                "unit": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "string"
                }
            }
        },
        "dto.AgriListingUpdateRequest": {
            "type": "object",
            "properties": {
                "currency_code": {
                    "type": "string"
                },
                "description": {
                    "type": "string"
                },
                "farm_id": {
                    "type": "string"
                },
                "field_id": {
                    "type": "string"
                },
                "inventory_lot_id": {
                    "type": "string"
                },
                "listing_type": {
                    "type": "string",
                    "enum": [
                        "land",
                        "produce",
                        "livestock"
                    ]
                },
                "livestock_id": {
                    "type": "string"
                },
                "price_amount": {
                    "type": "number"
                },
                "quantity": {
                    "type": "number"
                },
                "status": {
                    "type": "string",
                    "enum": [
                        "draft",
                        "reserved",
                        "published",
                        "sold",
                        "cancelled",
                        "archived"
                    ]
                },
                "title": {
                    "type": "string"
                },
                "unit": {
                    "type": "string"
                }
            }
        },
        "dto.CropPlanCreateRequest": {
            "type": "object",
            "required": [
                "crop_type",
                "field_id",
                "season_id"
            ],
            "properties": {
                "actual_yield_amount": {
                    "type": "number"
                },
                "budget_amount": {
                    "type": "number"
                },
                "crop_type": {
                    "type": "string"
                },
                "expected_yield_amount": {
                    "type": "number"
                },
                "field_id": {
                    "type": "string"
                },
                "missing_yield_reason": {
                    "type": "string"
                },
                "planned_area_acres": {
                    "type": "number"
                },
                "planned_end_date": {
                    "type": "string"
                },
                "planned_start_date": {
                    "type": "string"
                },
                "season_id": {
                    "type": "string"
                },
                "status": {
                    "type": "string",
                    "enum": [
                        "draft",
                        "approved",
                        "in_progress",
                        "completed",
                        "cancelled"
                    ]
                }
            }
        },
        "dto.CropPlanListResponse": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.CropPlanResponse"
                    }
                },
                "limit": {
                    "type": "integer"
                },
                "next_cursor": {
                    "type": "string"
                },
                "offset": {
                    "type": "integer"
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "dto.CropPlanPatchRequest": {
            "type": "object",
            "properties": {
                "actual_yield_amount": {
                    "type": "number"
                },
                "budget_amount": {
                    "type": "number"
                },
                "crop_type": {
                    "type": "string"
                },
                "expected_yield_amount": {
                    "type": "number"
                },
                "field_id": {
                    "type": "string"
                },
                "missing_yield_reason": {
                    "type": "string"
                },
                "planned_area_acres": {
                    "type": "number"
                },
                "planned_end_date": {
                    "type": "string"
                },
                "planned_start_date": {
                    "type": "string"
                },
                "season_id": {
                    "type": "string"
                },
                "status": {
                    "type": "string",
                    "enum": [
                        "draft",
                        "approved",
                        "in_progress",
                        "completed",
                        "cancelled"
                    ]
                }
            }
        },
        "dto.CropPlanResponse": {
            "type": "object",
            "properties": {
                "actual_yield_amount": {
                    "type": "number"
                },
                "budget_amount": {
                    "type": "number"
                },
                "created_at": {
                    "type": "string"
                },
                "crop_type": {
                    "type": "string"
                },
                "expected_yield_amount": {
                    "type": "number"
                },
                "field_id": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "missing_yield_reason": {
                    "type": "string"
                },
                "planned_area_acres": {
                    "type": "number"
                },
                "planned_end_date": {
                    "type": "string"
                },
                "planned_start_date": {
                    "type": "string"
                },
                "season_id": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "tenant_id": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "string"
                }
            }
        },
        "dto.CropPlanUpdateRequest": {
            "type": "object",
            "properties": {
                "actual_yield_amount": {
                    "type": "number"
                },
                "budget_amount": {
                    "type": "number"
                },
                "crop_type": {
                    "type": "string"
                },
                "expected_yield_amount": {
                    "type": "number"
                },
                "field_id": {
                    "type": "string"
                },
                "missing_yield_reason": {
                    "type": "string"
                },
                "planned_area_acres": {
                    "type": "number"
                },
                "planned_end_date": {
                    "type": "string"
                },
                "planned_start_date": {
                    "type": "string"
                },
                "season_id": {
                    "type": "string"
                },
                "status": {
                    "type": "string",
                    "enum": [
                        "draft",
                        "approved",
                        "in_progress",
                        "completed",
                        "cancelled"
                    ]
                }
            }
        },
        "dto.CropSeasonCreateRequest": {
            "type": "object",
            "required": [
                "name"
            ],
            "properties": {
                "end_date": {
                    "type": "string"
                },
                "farm_id": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "purpose": {
                    "type": "string"
                },
                "start_date": {
                    "type": "string"
                },
                "status": {
                    "type": "string",
                    "enum": [
                        "planned",
                        "active",
                        "completed",
                        "cancelled"
                    ]
                }
            }
        },
        "dto.CropSeasonListResponse": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.CropSeasonResponse"
                    }
                },
                "limit": {
                    "type": "integer"
                },
                "next_cursor": {
                    "type": "string"
                },
                "offset": {
                    "type": "integer"
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "dto.CropSeasonPatchRequest": {
            "type": "object",
            "properties": {
                "end_date": {
                    "type": "string"
                },
                "farm_id": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "purpose": {
                    "type": "string"
                },
                "start_date": {
                    "type": "string"
                },
                "status": {
                    "type": "string",
                    "enum": [
                        "planned",
                        "active",
                        "completed",
                        "cancelled"
                    ]
                }
            }
        },
        "dto.CropSeasonResponse": {
            "type": "object",
            "properties": {
                "created_at": {
                    "type": "string"
                },
                "end_date": {
                    "type": "string"
                },
                "farm_id": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "purpose": {
                    "type": "string"
                },
                "start_date": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "tenant_id": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "string"
                }
            }
        },
        "dto.CropSeasonUpdateRequest": {
            "type": "object",
            "properties": {
                "end_date": {
                    "type": "string"
                },
                "farm_id": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "purpose": {
                    "type": "string"
                },
                "start_date": {
                    "type": "string"
                },
                "status": {
                    "type": "string",
                    "enum": [
                        "planned",
                        "active",
                        "completed",
                        "cancelled"
                    ]
                }
            }
        },
        "dto.FarmCreateRequest": {
            "type": "object",
            "required": [
                "name"
            ],
            "properties": {
                "location": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "size_acres": {
                    "type": "number"
                },
                "soil_type": {
                    "type": "string"
                },
                "status": {
                    "type": "string",
                    "enum": [
                        "active",
                        "inactive",
                        "archived"
                    ]
                }
            }
        },
        "dto.FarmListResponse": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.FarmResponse"
                    }
                },
                "limit": {
                    "type": "integer"
                },
                "next_cursor": {
                    "type": "string"
                },
                "offset": {
                    "type": "integer"
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "dto.FarmPatchRequest": {
            "type": "object",
            "properties": {
                "location": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "size_acres": {
                    "type": "number"
                },
                "soil_type": {
                    "type": "string"
                },
                "status": {
                    "type": "string",
                    "enum": [
                        "active",
                        "inactive",
                        "archived"
                    ]
                }
            }
        },
        "dto.FarmResponse": {
            "type": "object",
            "properties": {
                "created_at": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "location": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "size_acres": {
                    "type": "number"
                },
                "soil_type": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "tenant_id": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "string"
                }
            }
        },
        "dto.FarmTaskCompleteRequest": {
            "type": "object",
            "properties": {
                "completed_at": {
                    "type": "string"
                },
                "completed_by": {
                    "type": "string"
                },
                "notes": {
                    "type": "string"
                }
            }
        },
        "dto.FarmTaskCreateRequest": {
            "type": "object",
            "required": [
                "task_type",
                "title"
            ],
            "properties": {
                "advisory_id": {
                    "type": "string"
                },
                "assignee_user_id": {
                    "type": "string"
                },
                "blocked_reason": {
                    "type": "string"
                },
                "crop_plan_id": {
                    "type": "string"
                },
                "due_at": {
                    "type": "string"
                },
                "farm_id": {
                    "type": "string"
                },
                "field_id": {
                    "type": "string"
                },
                "livestock_id": {
                    "type": "string"
                },
                "notes": {
                    "type": "string"
                },
                "status": {
                    "type": "string",
                    "enum": [
                        "open",
                        "assigned",
                        "in_progress",
                        "completed",
                        "blocked",
                        "cancelled",
                        "overdue"
                    ]
                },
                "task_type": {
                    "type": "string"
                },
                "title": {
                    "type": "string"
                }
            }
        },
        "dto.FarmTaskListResponse": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.FarmTaskResponse"
                    }
                },
                "limit": {
                    "type": "integer"
                },
                "next_cursor": {
                    "type": "string"
                },
                "offset": {
                    "type": "integer"
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "dto.FarmTaskPatchRequest": {
            "type": "object",
            "properties": {
                "advisory_id": {
                    "type": "string"
                },
                "assignee_user_id": {
                    "type": "string"
                },
                "blocked_reason": {
                    "type": "string"
                },
                "crop_plan_id": {
                    "type": "string"
                },
                "due_at": {
                    "type": "string"
                },
                "farm_id": {
                    "type": "string"
                },
                "field_id": {
                    "type": "string"
                },
                "livestock_id": {
                    "type": "string"
                },
                "notes": {
                    "type": "string"
                },
                "status": {
                    "type": "string",
                    "enum": [
                        "open",
                        "assigned",
                        "in_progress",
                        "completed",
                        "blocked",
                        "cancelled",
                        "overdue"
                    ]
                },
                "task_type": {
                    "type": "string"
                },
                "title": {
                    "type": "string"
                }
            }
        },
        "dto.FarmTaskResponse": {
            "type": "object",
            "properties": {
                "advisory_id": {
                    "type": "string"
                },
                "assignee_user_id": {
                    "type": "string"
                },
                "blocked_reason": {
                    "type": "string"
                },
                "completed_at": {
                    "type": "string"
                },
                "completed_by": {
                    "type": "string"
                },
                "created_at": {
                    "type": "string"
                },
                "crop_plan_id": {
                    "type": "string"
                },
                "due_at": {
                    "type": "string"
                },
                "farm_id": {
                    "type": "string"
                },
                "field_id": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "livestock_id": {
                    "type": "string"
                },
                "notes": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "task_type": {
                    "type": "string"
                },
                "tenant_id": {
                    "type": "string"
                },
                "title": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "string"
                }
            }
        },
        "dto.FarmTaskUpdateRequest": {
            "type": "object",
            "properties": {
                "advisory_id": {
                    "type": "string"
                },
                "assignee_user_id": {
                    "type": "string"
                },
                "blocked_reason": {
                    "type": "string"
                },
                "crop_plan_id": {
                    "type": "string"
                },
                "due_at": {
                    "type": "string"
                },
                "farm_id": {
                    "type": "string"
                },
                "field_id": {
                    "type": "string"
                },
                "livestock_id": {
                    "type": "string"
                },
                "notes": {
                    "type": "string"
                },
                "status": {
                    "type": "string",
                    "enum": [
                        "open",
                        "assigned",
                        "in_progress",
                        "completed",
                        "blocked",
                        "cancelled",
                        "overdue"
                    ]
                },
                "task_type": {
                    "type": "string"
                },
                "title": {
                    "type": "string"
                }
            }
        },
        "dto.FarmUpdateRequest": {
            "type": "object",
            "properties": {
                "location": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "size_acres": {
                    "type": "number"
                },
                "soil_type": {
                    "type": "string"
                },
                "status": {
                    "type": "string",
                    "enum": [
                        "active",
                        "inactive",
                        "archived"
                    ]
                }
            }
        },
        "dto.FieldCreateRequest": {
            "type": "object",
            "required": [
                "farm_id",
                "name"
            ],
            "properties": {
                "area_acres": {
                    "type": "number"
                },
                "crop_type": {
                    "type": "string"
                },
                "farm_id": {
                    "type": "string"
                },
                "irrigation_type": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "soil_health": {
                    "type": "string"
                },
                "status": {
                    "type": "string",
                    "enum": [
                        "active",
                        "fallow",
                        "inactive",
                        "archived"
                    ]
                }
            }
        },
        "dto.FieldListResponse": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.FieldResponse"
                    }
                },
                "limit": {
                    "type": "integer"
                },
                "next_cursor": {
                    "type": "string"
                },
                "offset": {
                    "type": "integer"
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "dto.FieldPatchRequest": {
            "type": "object",
            "properties": {
                "area_acres": {
                    "type": "number"
                },
                "crop_type": {
                    "type": "string"
                },
                "farm_id": {
                    "type": "string"
                },
                "irrigation_type": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "soil_health": {
                    "type": "string"
                },
                "status": {
                    "type": "string",
                    "enum": [
                        "active",
                        "fallow",
                        "inactive",
                        "archived"
                    ]
                }
            }
        },
        "dto.FieldResponse": {
            "type": "object",
            "properties": {
                "area_acres": {
                    "type": "number"
                },
                "created_at": {
                    "type": "string"
                },
                "crop_type": {
                    "type": "string"
                },
                "farm_id": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "irrigation_type": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "soil_health": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "tenant_id": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "string"
                }
            }
        },
        "dto.FieldUpdateRequest": {
            "type": "object",
            "properties": {
                "area_acres": {
                    "type": "number"
                },
                "crop_type": {
                    "type": "string"
                },
                "farm_id": {
                    "type": "string"
                },
                "irrigation_type": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "soil_health": {
                    "type": "string"
                },
                "status": {
                    "type": "string",
                    "enum": [
                        "active",
                        "fallow",
                        "inactive",
                        "archived"
                    ]
                }
            }
        },
        "dto.HarvestInventoryLotCreateRequest": {
            "type": "object",
            "required": [
                "crop_type",
                "farm_id",
                "harvested_quantity",
                "unit"
            ],
            "properties": {
                "crop_plan_id": {
                    "type": "string"
                },
                "crop_type": {
                    "type": "string"
                },
                "discarded_quantity": {
                    "type": "number"
                },
                "farm_id": {
                    "type": "string"
                },
                "field_id": {
                    "type": "string"
                },
                "harvested_quantity": {
                    "type": "number"
                },
                "notes": {
                    "type": "string"
                },
                "quality": {
                    "type": "string"
                },
                "reserved_quantity": {
                    "type": "number"
                },
                "sold_quantity": {
                    "type": "number"
                },
                "status": {
                    "type": "string"
                },
                "unit": {
                    "type": "string"
                }
            }
        },
        "dto.HarvestInventoryLotListResponse": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.HarvestInventoryLotResponse"
                    }
                },
                "limit": {
                    "type": "integer"
                },
                "next_cursor": {
                    "type": "string"
                },
                "offset": {
                    "type": "integer"
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "dto.HarvestInventoryLotPatchRequest": {
            "type": "object",
            "properties": {
                "crop_plan_id": {
                    "type": "string"
                },
                "crop_type": {
                    "type": "string"
                },
                "discarded_quantity": {
                    "type": "number"
                },
                "farm_id": {
                    "type": "string"
                },
                "field_id": {
                    "type": "string"
                },
                "harvested_quantity": {
                    "type": "number"
                },
                "notes": {
                    "type": "string"
                },
                "quality": {
                    "type": "string"
                },
                "reserved_quantity": {
                    "type": "number"
                },
                "sold_quantity": {
                    "type": "number"
                },
                "status": {
                    "type": "string"
                },
                "unit": {
                    "type": "string"
                }
            }
        },
        "dto.HarvestInventoryLotResponse": {
            "type": "object",
            "properties": {
                "available_quantity": {
                    "type": "number"
                },
                "created_at": {
                    "type": "string"
                },
                "crop_plan_id": {
                    "type": "string"
                },
                "crop_type": {
                    "type": "string"
                },
                "discarded_quantity": {
                    "type": "number"
                },
                "farm_id": {
                    "type": "string"
                },
                "field_id": {
                    "type": "string"
                },
                "harvested_quantity": {
                    "type": "number"
                },
                "id": {
                    "type": "string"
                },
                "notes": {
                    "type": "string"
                },
                "quality": {
                    "type": "string"
                },
                "reserved_quantity": {
                    "type": "number"
                },
                "sold_quantity": {
                    "type": "number"
                },
                "status": {
                    "type": "string"
                },
                "tenant_id": {
                    "type": "string"
                },
                "unit": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "string"
                }
            }
        },
        "dto.HarvestInventoryLotUpdateRequest": {
            "type": "object",
            "properties": {
                "crop_plan_id": {
                    "type": "string"
                },
                "crop_type": {
                    "type": "string"
                },
                "discarded_quantity": {
                    "type": "number"
                },
                "farm_id": {
                    "type": "string"
                },
                "field_id": {
                    "type": "string"
                },
                "harvested_quantity": {
                    "type": "number"
                },
                "notes": {
                    "type": "string"
                },
                "quality": {
                    "type": "string"
                },
                "reserved_quantity": {
                    "type": "number"
                },
                "sold_quantity": {
                    "type": "number"
                },
                "status": {
                    "type": "string"
                },
                "unit": {
                    "type": "string"
                }
            }
        },
        "dto.InputUsageCreateRequest": {
            "type": "object",
            "required": [
                "farm_id",
                "input_type",
                "quantity",
                "unit",
                "usage_date"
            ],
            "properties": {
                "cost_amount": {
                    "type": "number"
                },
                "crop_plan_id": {
                    "type": "string"
                },
                "currency_code": {
                    "type": "string"
                },
                "farm_id": {
                    "type": "string"
                },
                "field_id": {
                    "type": "string"
                },
                "input_type": {
                    "type": "string"
                },
                "livestock_id": {
                    "type": "string"
                },
                "notes": {
                    "type": "string"
                },
                "quantity": {
                    "type": "number"
                },
                "shopping_order_id": {
                    "type": "string"
                },
                "shopping_product_id": {
                    "type": "string"
                },
                "task_id": {
                    "type": "string"
                },
                "unit": {
                    "type": "string"
                },
                "usage_date": {
                    "type": "string"
                }
            }
        },
        "dto.InputUsageListResponse": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.InputUsageResponse"
                    }
                },
                "limit": {
                    "type": "integer"
                },
                "next_cursor": {
                    "type": "string"
                },
                "offset": {
                    "type": "integer"
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "dto.InputUsageResponse": {
            "type": "object",
            "properties": {
                "cost_amount": {
                    "type": "number"
                },
                "created_at": {
                    "type": "string"
                },
                "crop_plan_id": {
                    "type": "string"
                },
                "currency_code": {
                    "type": "string"
                },
                "farm_id": {
                    "type": "string"
                },
                "field_id": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "input_type": {
                    "type": "string"
                },
                "livestock_id": {
                    "type": "string"
                },
                "notes": {
                    "type": "string"
                },
                "quantity": {
                    "type": "number"
                },
                "shopping_order_id": {
                    "type": "string"
                },
                "shopping_product_id": {
                    "type": "string"
                },
                "task_id": {
                    "type": "string"
                },
                "tenant_id": {
                    "type": "string"
                },
                "unit": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "string"
                },
                "usage_date": {
                    "type": "string"
                }
            }
        },
        "dto.LivestockCreateRequest": {
            "type": "object",
            "required": [
                "farm_id",
                "kind"
            ],
            "properties": {
                "breed": {
                    "type": "string"
                },
                "farm_id": {
                    "type": "string"
                },
                "head_count": {
                    "type": "integer"
                },
                "health_state": {
                    "type": "string",
                    "enum": [
                        "healthy",
                        "watch",
                        "sick",
                        "quarantine",
                        "recovered",
                        "deceased"
                    ]
                },
                "kind": {
                    "type": "string"
                },
                "production": {
                    "type": "string"
                },
                "status": {
                    "type": "string",
                    "enum": [
                        "active",
                        "inactive",
                        "sold",
                        "archived"
                    ]
                }
            }
        },
        "dto.LivestockHealthEventCreateRequest": {
            "type": "object",
            "required": [
                "event_date",
                "event_type",
                "livestock_id"
            ],
            "properties": {
                "event_date": {
                    "type": "string"
                },
                "event_type": {
                    "type": "string",
                    "enum": [
                        "observation",
                        "treatment",
                        "vaccination",
                        "quarantine",
                        "mortality",
                        "recovery"
                    ]
                },
                "head_count_impact": {
                    "type": "integer"
                },
                "livestock_id": {
                    "type": "string"
                },
                "notes": {
                    "type": "string"
                },
                "treatment_name": {
                    "type": "string"
                }
            }
        },
        "dto.LivestockHealthEventListResponse": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.LivestockHealthEventResponse"
                    }
                },
                "limit": {
                    "type": "integer"
                },
                "next_cursor": {
                    "type": "string"
                },
                "offset": {
                    "type": "integer"
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "dto.LivestockHealthEventResponse": {
            "type": "object",
            "properties": {
                "created_at": {
                    "type": "string"
                },
                "event_date": {
                    "type": "string"
                },
                "event_type": {
                    "type": "string"
                },
                "head_count_impact": {
                    "type": "integer"
                },
                "id": {
                    "type": "string"
                },
                "livestock_id": {
                    "type": "string"
                },
                "notes": {
                    "type": "string"
                },
                "tenant_id": {
                    "type": "string"
                },
                "treatment_name": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "string"
                }
            }
        },
        "dto.LivestockListResponse": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.LivestockResponse"
                    }
                },
                "limit": {
                    "type": "integer"
                },
                "next_cursor": {
                    "type": "string"
                },
                "offset": {
                    "type": "integer"
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "dto.LivestockPatchRequest": {
            "type": "object",
            "properties": {
                "breed": {
                    "type": "string"
                },
                "farm_id": {
                    "type": "string"
                },
                "head_count": {
                    "type": "integer"
                },
                "health_state": {
                    "type": "string",
                    "enum": [
                        "healthy",
                        "watch",
                        "sick",
                        "quarantine",
                        "recovered",
                        "deceased"
                    ]
                },
                "kind": {
                    "type": "string"
                },
                "production": {
                    "type": "string"
                },
                "status": {
                    "type": "string",
                    "enum": [
                        "active",
                        "inactive",
                        "sold",
                        "archived"
                    ]
                }
            }
        },
        "dto.LivestockProductionLogCreateRequest": {
            "type": "object",
            "required": [
                "livestock_id",
                "production_date",
                "production_type",
                "quantity",
                "unit"
            ],
            "properties": {
                "livestock_id": {
                    "type": "string"
                },
                "notes": {
                    "type": "string"
                },
                "production_date": {
                    "type": "string"
                },
                "production_type": {
                    "type": "string"
                },
                "quantity": {
                    "type": "number"
                },
                "unit": {
                    "type": "string"
                }
            }
        },
        "dto.LivestockProductionLogListResponse": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.LivestockProductionLogResponse"
                    }
                },
                "limit": {
                    "type": "integer"
                },
                "next_cursor": {
                    "type": "string"
                },
                "offset": {
                    "type": "integer"
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "dto.LivestockProductionLogResponse": {
            "type": "object",
            "properties": {
                "created_at": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "livestock_id": {
                    "type": "string"
                },
                "notes": {
                    "type": "string"
                },
                "production_date": {
                    "type": "string"
                },
                "production_type": {
                    "type": "string"
                },
                "quantity": {
                    "type": "number"
                },
                "tenant_id": {
                    "type": "string"
                },
                "unit": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "string"
                }
            }
        },
        "dto.LivestockResponse": {
            "type": "object",
            "properties": {
                "breed": {
                    "type": "string"
                },
                "created_at": {
                    "type": "string"
                },
                "farm_id": {
                    "type": "string"
                },
                "head_count": {
                    "type": "integer"
                },
                "health_state": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "kind": {
                    "type": "string"
                },
                "production": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "tenant_id": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "string"
                }
            }
        },
        "dto.LivestockUpdateRequest": {
            "type": "object",
            "properties": {
                "breed": {
                    "type": "string"
                },
                "farm_id": {
                    "type": "string"
                },
                "head_count": {
                    "type": "integer"
                },
                "health_state": {
                    "type": "string",
                    "enum": [
                        "healthy",
                        "watch",
                        "sick",
                        "quarantine",
                        "recovered",
                        "deceased"
                    ]
                },
                "kind": {
                    "type": "string"
                },
                "production": {
                    "type": "string"
                },
                "status": {
                    "type": "string",
                    "enum": [
                        "active",
                        "inactive",
                        "sold",
                        "archived"
                    ]
                }
            }
        },
        "dto.MachineryRentalRequestResponse": {
            "type": "object",
            "properties": {
                "created_at": {
                    "type": "string"
                },
                "end_at": {
                    "type": "string"
                },
                "equipment_type": {
                    "type": "string"
                },
                "farm_id": {
                    "type": "string"
                },
                "field_id": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "notes": {
                    "type": "string"
                },
                "provider_booking_id": {
                    "type": "string"
                },
                "quantity": {
                    "type": "integer"
                },
                "start_at": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "tenant_id": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "string"
                }
            }
        },
        "dto.VisionScanCreateRequest": {
            "type": "object",
            "required": [
                "image_mime_type",
                "image_reference",
                "image_size_bytes"
            ],
            "properties": {
                "crop_plan_id": {
                    "type": "string"
                },
                "farm_id": {
                    "type": "string"
                },
                "field_id": {
                    "type": "string"
                },
                "image_mime_type": {
                    "type": "string"
                },
                "image_reference": {
                    "type": "string"
                },
                "image_size_bytes": {
                    "type": "integer"
                }
            }
        },
        "dto.VisionScanListResponse": {
            "type": "object",
            "properties": {
                "items": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/dto.VisionScanResponse"
                    }
                },
                "limit": {
                    "type": "integer"
                },
                "next_cursor": {
                    "type": "string"
                },
                "offset": {
                    "type": "integer"
                },
                "total": {
                    "type": "integer"
                }
            }
        },
        "dto.VisionScanResponse": {
            "type": "object",
            "properties": {
                "confidence": {
                    "type": "number"
                },
                "created_at": {
                    "type": "string"
                },
                "crop_plan_id": {
                    "type": "string"
                },
                "farm_id": {
                    "type": "string"
                },
                "field_id": {
                    "type": "string"
                },
                "id": {
                    "type": "string"
                },
                "image_mime_type": {
                    "type": "string"
                },
                "image_size_bytes": {
                    "type": "integer"
                },
                "needs_review": {
                    "type": "boolean"
                },
                "primary_label": {
                    "type": "string"
                },
                "provider_scan_id": {
                    "type": "string"
                },
                "recommendation": {
                    "type": "string"
                },
                "review_decision": {
                    "type": "string"
                },
                "review_notes": {
                    "type": "string"
                },
                "reviewed_at": {
                    "type": "string"
                },
                "reviewed_by": {
                    "type": "string"
                },
                "severity": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "tenant_id": {
                    "type": "string"
                },
                "updated_at": {
                    "type": "string"
                }
            }
        },
        "handlers.reviewRequest": {
            "type": "object",
            "required": [
                "decision"
            ],
            "properties": {
                "decision": {
                    "type": "string"
                },
                "notes": {
                    "type": "string"
                }
            }
        },
        "usecase.ReportResponse": {
            "type": "object",
            "properties": {
                "amount_totals": {
                    "type": "object",
                    "additionalProperties": {}
                },
                "cost_totals": {
                    "type": "object",
                    "additionalProperties": {}
                },
                "filters": {
                    "type": "object",
                    "additionalProperties": {}
                },
                "generated_at": {
                    "type": "string"
                },
                "health_counts": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "integer"
                    }
                },
                "limit": {
                    "type": "integer"
                },
                "offset": {
                    "type": "integer"
                },
                "production_totals": {
                    "type": "object",
                    "additionalProperties": {}
                },
                "report_type": {
                    "type": "string"
                },
                "review_counts": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "integer"
                    }
                },
                "rows": {
                    "type": "array",
                    "items": {
                        "$ref": "#/definitions/usecase.ReportRow"
                    }
                },
                "status_counts": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "integer"
                    }
                },
                "summary": {
                    "type": "object",
                    "additionalProperties": {}
                },
                "tenant_id": {
                    "type": "string"
                },
                "total": {
                    "type": "integer"
                },
                "totals": {
                    "type": "object",
                    "additionalProperties": {}
                },
                "yield_totals": {
                    "type": "object",
                    "additionalProperties": {}
                }
            }
        },
        "usecase.ReportRow": {
            "type": "object",
            "additionalProperties": {}
        }
    }
}