Initial commit - production deployment
This commit is contained in:
137
shared/demo/schemas/orders/customer.schema.json
Normal file
137
shared/demo/schemas/orders/customer.schema.json
Normal file
@@ -0,0 +1,137 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"title": "Customer",
|
||||
"description": "Schema for customer data in Bakery-IA system",
|
||||
"type": "object",
|
||||
"required": [
|
||||
"id",
|
||||
"tenant_id",
|
||||
"customer_code",
|
||||
"name",
|
||||
"customer_type",
|
||||
"contact_person",
|
||||
"email",
|
||||
"phone",
|
||||
"address",
|
||||
"city",
|
||||
"postal_code",
|
||||
"country",
|
||||
"status",
|
||||
"created_at"
|
||||
],
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "string",
|
||||
"format": "uuid",
|
||||
"description": "Unique identifier for the customer"
|
||||
},
|
||||
"tenant_id": {
|
||||
"type": "string",
|
||||
"format": "uuid",
|
||||
"description": "Tenant identifier"
|
||||
},
|
||||
"customer_code": {
|
||||
"type": "string",
|
||||
"minLength": 1,
|
||||
"maxLength": 50,
|
||||
"description": "Customer code"
|
||||
},
|
||||
"name": {
|
||||
"type": "string",
|
||||
"minLength": 1,
|
||||
"maxLength": 100,
|
||||
"description": "Customer name"
|
||||
},
|
||||
"customer_type": {
|
||||
"type": "string",
|
||||
"enum": ["RETAIL", "WHOLESALE", "ENTERPRISE", "ONLINE"],
|
||||
"description": "Customer type"
|
||||
},
|
||||
"contact_person": {
|
||||
"type": "string",
|
||||
"minLength": 1,
|
||||
"maxLength": 100,
|
||||
"description": "Primary contact person"
|
||||
},
|
||||
"email": {
|
||||
"type": "string",
|
||||
"format": "email",
|
||||
"description": "Contact email"
|
||||
},
|
||||
"phone": {
|
||||
"type": "string",
|
||||
"minLength": 1,
|
||||
"maxLength": 20,
|
||||
"description": "Contact phone number"
|
||||
},
|
||||
"address": {
|
||||
"type": "string",
|
||||
"minLength": 1,
|
||||
"maxLength": 200,
|
||||
"description": "Street address"
|
||||
},
|
||||
"city": {
|
||||
"type": "string",
|
||||
"minLength": 1,
|
||||
"maxLength": 50,
|
||||
"description": "City"
|
||||
},
|
||||
"postal_code": {
|
||||
"type": "string",
|
||||
"minLength": 1,
|
||||
"maxLength": 10,
|
||||
"description": "Postal code"
|
||||
},
|
||||
"country": {
|
||||
"type": "string",
|
||||
"minLength": 1,
|
||||
"maxLength": 50,
|
||||
"description": "Country"
|
||||
},
|
||||
"status": {
|
||||
"type": "string",
|
||||
"enum": ["ACTIVE", "INACTIVE", "PENDING", "SUSPENDED"],
|
||||
"description": "Customer status"
|
||||
},
|
||||
"total_orders": {
|
||||
"type": "integer",
|
||||
"minimum": 0,
|
||||
"description": "Total orders placed"
|
||||
},
|
||||
"total_spent": {
|
||||
"type": "number",
|
||||
"minimum": 0,
|
||||
"description": "Total amount spent in EUR"
|
||||
},
|
||||
"created_at": {
|
||||
"type": "string",
|
||||
"format": "date-time",
|
||||
"description": "Creation timestamp"
|
||||
},
|
||||
"notes": {
|
||||
"type": "string",
|
||||
"description": "Additional notes"
|
||||
},
|
||||
"enterprise_customer": {
|
||||
"type": "boolean",
|
||||
"description": "Enterprise-level customer"
|
||||
},
|
||||
"contract_type": {
|
||||
"type": "string",
|
||||
"description": "Contract type"
|
||||
},
|
||||
"annual_volume_commitment": {
|
||||
"type": "number",
|
||||
"minimum": 0,
|
||||
"description": "Annual volume commitment"
|
||||
},
|
||||
"delivery_locations": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"description": "Delivery locations"
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
}
|
||||
116
shared/demo/schemas/orders/customer_order.schema.json
Normal file
116
shared/demo/schemas/orders/customer_order.schema.json
Normal file
@@ -0,0 +1,116 @@
|
||||
{
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"title": "CustomerOrder",
|
||||
"description": "Schema for customer order data in Bakery-IA system",
|
||||
"type": "object",
|
||||
"required": [
|
||||
"id",
|
||||
"tenant_id",
|
||||
"customer_id",
|
||||
"order_number",
|
||||
"order_date",
|
||||
"delivery_date",
|
||||
"status",
|
||||
"total_amount",
|
||||
"created_at"
|
||||
],
|
||||
"properties": {
|
||||
"id": {
|
||||
"type": "string",
|
||||
"format": "uuid",
|
||||
"description": "Unique identifier for the customer order"
|
||||
},
|
||||
"tenant_id": {
|
||||
"type": "string",
|
||||
"format": "uuid",
|
||||
"description": "Tenant identifier"
|
||||
},
|
||||
"customer_id": {
|
||||
"type": "string",
|
||||
"format": "uuid",
|
||||
"description": "Customer identifier"
|
||||
},
|
||||
"order_number": {
|
||||
"type": "string",
|
||||
"minLength": 1,
|
||||
"maxLength": 50,
|
||||
"description": "Order number"
|
||||
},
|
||||
"order_date": {
|
||||
"type": "string",
|
||||
"format": "date-time",
|
||||
"description": "Order date"
|
||||
},
|
||||
"delivery_date": {
|
||||
"type": "string",
|
||||
"format": "date-time",
|
||||
"description": "Delivery date"
|
||||
},
|
||||
"status": {
|
||||
"type": "string",
|
||||
"enum": ["DRAFT", "PENDING", "PROCESSING", "DELIVERED", "CANCELLED", "REJECTED"],
|
||||
"description": "Order status"
|
||||
},
|
||||
"total_amount": {
|
||||
"type": "number",
|
||||
"minimum": 0,
|
||||
"description": "Total order amount in EUR"
|
||||
},
|
||||
"created_at": {
|
||||
"type": "string",
|
||||
"format": "date-time",
|
||||
"description": "Creation timestamp"
|
||||
},
|
||||
"notes": {
|
||||
"type": "string",
|
||||
"description": "Additional notes"
|
||||
},
|
||||
"is_urgent": {
|
||||
"type": "boolean",
|
||||
"description": "Urgent order flag"
|
||||
},
|
||||
"enterprise_order": {
|
||||
"type": "boolean",
|
||||
"description": "Enterprise-level order"
|
||||
},
|
||||
"contract_reference": {
|
||||
"type": "string",
|
||||
"description": "Contract reference"
|
||||
},
|
||||
"delivery_locations": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"location": {
|
||||
"type": "string"
|
||||
},
|
||||
"quantity": {
|
||||
"type": "number",
|
||||
"minimum": 0
|
||||
},
|
||||
"delivery_time": {
|
||||
"type": "string",
|
||||
"format": "date-time"
|
||||
}
|
||||
}
|
||||
},
|
||||
"description": "Delivery locations"
|
||||
},
|
||||
"reasoning_data": {
|
||||
"type": "object",
|
||||
"description": "Reasoning data for urgent orders",
|
||||
"properties": {
|
||||
"type": {
|
||||
"type": "string",
|
||||
"description": "Reasoning type"
|
||||
},
|
||||
"parameters": {
|
||||
"type": "object",
|
||||
"description": "Reasoning parameters"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"additionalProperties": false
|
||||
}
|
||||
Reference in New Issue
Block a user