localgreenchain/docs/guides/transport-guide.md
Claude 4111c3acf1
Add complete documentation suite for LocalGreenChain
- Add guides: quick-start, installation, configuration, grower, consumer, transport, vertical-farm
- Add API references: REST, demand, vertical-farming
- Add concepts: blockchain, seasonal-planning, carbon-footprint
- Add architecture: data-flow, transport-tracking
- Add vertical-farming: environmental-control, automation, integration
- Add examples: seed-to-harvest, demand-driven-planting, vertical-farm-setup

Completes Agent_5 documentation tasks from AGENT_REPORT.md
2025-11-22 18:48:42 +00:00

426 lines
13 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Transport Guide
Complete guide to recording and tracking transport events in LocalGreenChain.
## Transport Event Types
LocalGreenChain tracks 9 types of transport events covering the complete seed-to-seed lifecycle:
| Event Type | Description | When to Use |
|------------|-------------|-------------|
| `seed_acquisition` | Receiving seeds from any source | Purchasing, trading, or harvesting seeds |
| `planting` | Planting seeds or transplanting | Starting new plants |
| `growing_transport` | Moving plants during growth | Transplanting, hardening off |
| `harvest` | Collecting produce from plants | Harvest day |
| `processing` | Processing harvested produce | Washing, cutting, packaging |
| `distribution` | Moving to distribution points | To markets, hubs, restaurants |
| `consumer_delivery` | Final delivery to consumer | Last mile delivery |
| `seed_saving` | Collecting seeds from plants | End of growing cycle |
| `seed_sharing` | Sharing seeds with others | Trading, gifting seeds |
## Recording Transport Events
### Seed Acquisition
```typescript
POST /api/transport/seed-acquisition
{
// Required fields
seedBatchId: "seeds-tomato-2024-001",
sourceType: "purchase", // seed_bank, previous_harvest, trade, purchase, wild_collected, gift
species: "Solanum lycopersicum",
quantity: 500,
quantityUnit: "seeds",
generation: 1,
// Location (from → to)
fromLocation: {
latitude: 38.9072,
longitude: -77.0369,
locationType: "seed_bank",
facilityName: "Heritage Seeds"
},
toLocation: {
latitude: 40.7128,
longitude: -74.0060,
locationType: "farm",
facilityName: "Green Valley Farm"
},
// Transport details
transportMethod: "local_delivery",
durationMinutes: 120,
// Optional details
variety: "Cherokee Purple",
certifications: ["organic", "heirloom"],
germinationRate: 92,
harvestDate: "2023-10-15",
geneticLineageId: "lineage-abc123"
}
```
### Planting Event
```typescript
POST /api/transport/planting
{
seedBatchId: "seeds-tomato-2024-001",
plantIds: ["plant-001", "plant-002"], // Can be auto-generated
quantityPlanted: 50,
plantingMethod: "transplant", // direct_sow, transplant, indoor_start, hydroponic, aeroponic
growingEnvironment: "greenhouse", // outdoor, greenhouse, indoor, vertical_farm
fromLocation: {
latitude: 40.7128,
longitude: -74.0060,
locationType: "greenhouse",
facilityName: "Seed Starting House"
},
toLocation: {
latitude: 40.7130,
longitude: -74.0065,
locationType: "greenhouse",
facilityName: "Growing Greenhouse"
},
expectedHarvestDate: "2024-08-15",
sowingDepth: 6, // mm
spacing: 60 // cm
}
```
### Growing Transport
For transplanting or moving plants:
```typescript
POST /api/transport/growing
{
plantIds: ["plant-001", "plant-002"],
reason: "transplant", // transplant, relocation, hardening_off, seasonal_move, upgrade_facility
plantStage: "seedling", // seed, germinating, seedling, vegetative, flowering, fruiting, mature
handlingMethod: "potted", // bare_root, potted, root_ball, hydroponic_transfer
rootDisturbance: "minimal", // none, minimal, moderate, significant
acclimatizationRequired: true,
acclimatizationDays: 7,
fromLocation: { ... },
toLocation: { ... },
transportMethod: "walking",
environmentalConditions: {
temperatureMin: 15,
temperatureMax: 22,
temperatureAvg: 18,
humidityMin: 60,
humidityMax: 80,
humidityAvg: 70,
lightExposure: "ambient"
}
}
```
### Harvest Event
```typescript
POST /api/transport/harvest
{
plantIds: ["plant-001", "plant-002"],
harvestBatchId: "harvest-2024-001",
harvestType: "full", // full, partial, continuous, selective
produceType: "tomatoes",
// Weights
grossWeight: 50,
netWeight: 47,
weightUnit: "kg",
itemCount: 200,
// Quality
qualityGrade: "A", // A, B, C, processing
qualityNotes: "Excellent color and firmness",
// Storage requirements
packagingType: "cardboard_flat",
temperatureRequired: {
min: 10,
max: 15,
optimal: 12,
unit: "celsius"
},
shelfLifeHours: 168,
// Seed saving
seedsSaved: true,
seedBatchIdCreated: "seeds-tomato-2024-002",
fromLocation: { ... },
toLocation: { ... }
}
```
### Distribution Event
```typescript
POST /api/transport/distribution
{
batchIds: ["harvest-2024-001"],
destinationType: "market", // consumer, market, restaurant, processor, distributor, vertical_farm
customerType: "business", // individual, business, cooperative, institution
orderId: "order-456",
deliveryWindow: {
start: "2024-08-02T06:00:00Z",
end: "2024-08-02T08:00:00Z"
},
deliveryAttempts: 1,
handoffVerified: true,
recipientName: "Brooklyn Farmers Market",
transportMethod: "electric_vehicle",
fromLocation: { ... },
toLocation: { ... }
}
```
### Seed Saving Event
```typescript
POST /api/transport/seed-saving
{
parentPlantIds: ["plant-001", "plant-005"],
newSeedBatchId: "seeds-tomato-2024-002",
// Collection details
collectionMethod: "wet_seed", // dry_seed, wet_seed, fermentation, threshing
seedCount: 250,
seedWeight: 15,
seedWeightUnit: "grams",
// Quality testing
viabilityTestDate: "2024-08-20",
germinationRate: 94,
purityPercentage: 98,
// Storage
storageConditions: {
temperature: 4,
humidity: 30,
lightExposure: "dark",
containerType: "vacuum_sealed",
desiccant: true,
estimatedViability: 5 // years
},
storageLocationId: "storage-vault-001",
// Lineage
newGenerationNumber: 2,
geneticNotes: "Selected for disease resistance and flavor",
// Sharing
availableForSharing: true,
sharingTerms: "trade"
}
```
## Carbon Footprint Calculation
### Carbon Factors by Transport Method
| Method | kg CO2 per km per kg |
|--------|---------------------|
| walking | 0 |
| bicycle | 0 |
| electric_vehicle | 0.02 |
| hybrid_vehicle | 0.08 |
| gasoline_vehicle | 0.12 |
| diesel_truck | 0.15 |
| electric_truck | 0.03 |
| refrigerated_truck | 0.25 |
| rail | 0.01 |
| ship | 0.008 |
| air | 0.5 |
| drone | 0.01 |
| local_delivery | 0.05 |
| customer_pickup | 0.1 |
### Calculation Formula
```
Carbon (kg CO2) = Factor × Distance (km) × Weight (kg)
```
### Example
```
Tomatoes: 20 kg
Distance: 25 km
Method: electric_vehicle (factor: 0.02)
Carbon = 0.02 × 25 × 20 = 10 kg CO2
```
## Querying Transport Data
### Get Plant Journey
```typescript
GET /api/transport/journey/plant-001
```
Response:
```json
{
"plantId": "plant-001",
"seedBatchOrigin": "seeds-tomato-2024-001",
"currentStage": "harvesting",
"events": [...],
"totalFoodMiles": 45,
"totalCarbonKg": 2.5,
"daysGrowing": 85,
"generation": 1,
"ancestorPlantIds": []
}
```
### Get Environmental Impact
```typescript
GET /api/transport/footprint/user-123
```
Response:
```json
{
"totalCarbonKg": 45.5,
"totalFoodMiles": 320,
"carbonPerKgProduce": 0.18,
"breakdownByMethod": {
"electric_vehicle": { "distance": 200, "carbon": 20 },
"walking": { "distance": 50, "carbon": 0 }
},
"comparisonToConventional": {
"carbonSaved": 580,
"milesSaved": 22500,
"percentageReduction": 93
}
}
```
### Verify Block
```typescript
GET /api/transport/verify/abc123def456
```
## QR Code Integration
### Generate QR Data
```typescript
GET /api/transport/qr/plant-001
```
Response:
```json
{
"plantId": "plant-001",
"blockchainAddress": "0x1234...",
"quickLookupUrl": "https://localgreenchain.org/track/plant-001",
"lineageHash": "sha256...",
"currentCustodian": "grower-123",
"lastEventType": "harvest",
"verificationCode": "A1B2C3D4"
}
```
## Data Flow Diagram
```
┌─────────────────────────────────────────────────────────────────────┐
│ TRANSPORT DATA FLOW │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ ┌───────────┐ │
│ │ SEED │ seed_acquisition │
│ │ ACQUISITION│────────────┐ │
│ └───────────┘ │ │
│ │ ▼ │
│ │ ┌───────────────┐ │
│ │ │ TRANSPORT │ │
│ │ │ CHAIN │ │
│ │ │ BLOCKCHAIN │ │
│ │ └───────┬───────┘ │
│ ▼ │ │
│ ┌───────────┐ │ │
│ │ PLANTING │─────────────┤ planting │
│ └───────────┘ │ │
│ │ │ │
│ ▼ │ │
│ ┌───────────┐ │ │
│ │ GROWING │─────────────┤ growing_transport │
│ │ TRANSPORT │ │ │
│ └───────────┘ │ │
│ │ │ │
│ ▼ │ │
│ ┌───────────┐ │ │
│ │ HARVEST │─────────────┤ harvest │
│ └───────────┘ │ │
│ │ │ │
│ ├───────────────┐ │ │
│ ▼ ▼ │ │
│ ┌───────────┐ ┌─────────┐│ │
│ │DISTRIBUTE │ │ SEED ││ distribution / seed_saving │
│ │ │ │ SAVING ││─────────────────────────────────────────│
│ └───────────┘ └─────────┘│ │
│ │ │ │ │
│ ▼ ▼ │ │
│ ┌───────────┐ ┌─────────┐│ │
│ │ CONSUMER │ │ SEED ││ consumer_delivery / seed_sharing │
│ │ DELIVERY │ │ SHARING ││ │
│ └───────────┘ └─────────┘│ │
│ │ │ │
│ └─────┼──→ Next Generation │
│ │ │
└────────────────────────────┴─────────────────────────────────────────┘
```
## Best Practices
### Recording Events
1. **Be Timely** - Record events as they happen
2. **Be Accurate** - Correct coordinates and weights
3. **Be Complete** - Include all optional fields when possible
4. **Verify Locations** - Double-check GPS coordinates
### Transport Methods
1. **Choose Low Carbon** - Electric and human-powered preferred
2. **Combine Trips** - Reduce total distance
3. **Optimize Routes** - Shortest path reduces footprint
4. **Use Local First** - Minimize distance overall
### Quality Assurance
1. **Track Conditions** - Temperature, humidity, handling
2. **Note Issues** - Record any problems immediately
3. **Grade Honestly** - Accurate quality ratings
4. **Verify Handoffs** - Confirm custody changes
## Next Steps
- [Grower Guide](./grower-guide.md) - Complete grower workflow
- [Consumer Guide](./consumer-guide.md) - Consumer perspective
- [Vertical Farm Guide](./vertical-farm-guide.md) - Indoor growing