248 lines
6.7 KiB
JSON
248 lines
6.7 KiB
JSON
{
|
|
"name": "VendorRate",
|
|
"type": "object",
|
|
"properties": {
|
|
"vendor_id": {
|
|
"type": "string",
|
|
"description": "ID of the vendor this rate belongs to"
|
|
},
|
|
"vendor_name": {
|
|
"type": "string",
|
|
"description": "Name of the vendor"
|
|
},
|
|
"rate_book_name": {
|
|
"type": "string",
|
|
"description": "Name of the rate book (e.g., 'Default', 'Compass Approved', 'Google Caf\u00e9 7')"
|
|
},
|
|
"rate_book_type": {
|
|
"type": "string",
|
|
"enum": [
|
|
"default",
|
|
"enterprise_network",
|
|
"client_specific"
|
|
],
|
|
"description": "Type of rate book: default (vendor's own rates), enterprise_network (Compass/Aramark approved), or client_specific (negotiated)"
|
|
},
|
|
"enterprise_network": {
|
|
"type": "string",
|
|
"enum": [
|
|
"Compass",
|
|
"Aramark",
|
|
"Sodexo",
|
|
"Foodbuy",
|
|
"Bon App\u00e9tit",
|
|
"Eurest",
|
|
"None"
|
|
],
|
|
"description": "Enterprise network this rate book belongs to (if applicable)"
|
|
},
|
|
"is_approved_rate": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"description": "Whether this is an approved procurement rate (locked for vendors)"
|
|
},
|
|
"approved_by_procurement": {
|
|
"type": "string",
|
|
"description": "Name of procurement manager who approved these rates"
|
|
},
|
|
"approved_date": {
|
|
"type": "string",
|
|
"format": "date",
|
|
"description": "Date rates were approved"
|
|
},
|
|
"client_id": {
|
|
"type": "string",
|
|
"description": "Specific client ID if this is a client-specific rate book"
|
|
},
|
|
"client_name": {
|
|
"type": "string",
|
|
"description": "Specific client name if this is a client-specific rate book"
|
|
},
|
|
"category": {
|
|
"type": "string",
|
|
"enum": [
|
|
"Kitchen and Culinary",
|
|
"Concessions",
|
|
"Facilities",
|
|
"Bartending",
|
|
"Security",
|
|
"Event Staff",
|
|
"Management",
|
|
"Technical",
|
|
"Other"
|
|
],
|
|
"description": "Service category"
|
|
},
|
|
"role_name": {
|
|
"type": "string",
|
|
"description": "Name of the role/position"
|
|
},
|
|
"region": {
|
|
"type": "string",
|
|
"description": "Geographic region (e.g., 'Bay Area', 'LA', 'National')"
|
|
},
|
|
"employee_wage": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "Employee base wage per hour (must be >= minimum wage)"
|
|
},
|
|
"overtime_rate": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "Overtime rate (typically 1.5x base wage)"
|
|
},
|
|
"double_time_rate": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "Double-time rate (typically 2x base wage)"
|
|
},
|
|
"travel_rate": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "Travel time rate per hour (if applicable)"
|
|
},
|
|
"markup_percentage": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100,
|
|
"description": "Markup percentage on employee wage"
|
|
},
|
|
"vendor_fee_percentage": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100,
|
|
"description": "Vendor fee as percentage on (wage + markup)"
|
|
},
|
|
"client_rate": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"description": "Final rate charged to client per hour"
|
|
},
|
|
"approved_cap_rate": {
|
|
"type": "number",
|
|
"description": "Maximum rate approved by enterprise network (vendors cannot exceed this)"
|
|
},
|
|
"discount_from_approved": {
|
|
"type": "number",
|
|
"description": "Dollar amount discount from approved cap rate (if vendor is offering lower rate)"
|
|
},
|
|
"discount_percentage": {
|
|
"type": "number",
|
|
"description": "Percentage discount from approved cap rate"
|
|
},
|
|
"is_discounted": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"description": "Whether vendor is offering a discount below approved rate"
|
|
},
|
|
"negotiation_allowed": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"description": "Whether clients can request rate negotiations"
|
|
},
|
|
"is_active": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"description": "Whether this rate is currently active"
|
|
},
|
|
"is_editable_by_vendor": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"description": "Whether vendor can edit this rate (false for locked procurement rates)"
|
|
},
|
|
"minimum_wage_compliance": {
|
|
"type": "boolean",
|
|
"description": "Whether this rate meets minimum wage requirements"
|
|
},
|
|
"market_comparison": {
|
|
"type": "object",
|
|
"description": "Market comparison data",
|
|
"properties": {
|
|
"market_average": {
|
|
"type": "number",
|
|
"description": "Market average for this role"
|
|
},
|
|
"market_position": {
|
|
"type": "string",
|
|
"enum": [
|
|
"below_market",
|
|
"at_market",
|
|
"above_market",
|
|
"significantly_above"
|
|
],
|
|
"description": "How this rate compares to market"
|
|
},
|
|
"competitiveness_score": {
|
|
"type": "number",
|
|
"minimum": 0,
|
|
"maximum": 100,
|
|
"description": "Competitiveness score (0-100)"
|
|
},
|
|
"market_warning": {
|
|
"type": "string",
|
|
"description": "Warning if rate is significantly above or below market"
|
|
}
|
|
}
|
|
},
|
|
"compliance": {
|
|
"type": "object",
|
|
"description": "Compliance information",
|
|
"properties": {
|
|
"csta_compliant": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"description": "California Staffing Agency compliance"
|
|
},
|
|
"minimum_wage_verified": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"description": "Minimum wage verification status"
|
|
},
|
|
"compliance_verified_date": {
|
|
"type": "string",
|
|
"format": "date",
|
|
"description": "Date compliance was last verified"
|
|
}
|
|
}
|
|
},
|
|
"shift_type": {
|
|
"type": "string",
|
|
"enum": [
|
|
"regular",
|
|
"night",
|
|
"weekend",
|
|
"holiday",
|
|
"premium"
|
|
],
|
|
"default": "regular",
|
|
"description": "Type of shift this rate applies to"
|
|
},
|
|
"valid_from": {
|
|
"type": "string",
|
|
"format": "date",
|
|
"description": "Date this rate becomes valid"
|
|
},
|
|
"valid_until": {
|
|
"type": "string",
|
|
"format": "date",
|
|
"description": "Date this rate expires"
|
|
},
|
|
"notes": {
|
|
"type": "string",
|
|
"description": "Additional notes about this rate"
|
|
},
|
|
"internal_notes": {
|
|
"type": "string",
|
|
"description": "Internal vendor notes (not visible to clients)"
|
|
}
|
|
},
|
|
"required": [
|
|
"vendor_name",
|
|
"rate_book_name",
|
|
"rate_book_type",
|
|
"category",
|
|
"role_name",
|
|
"employee_wage",
|
|
"client_rate"
|
|
]
|
|
} |