-
-
Save sfletche/0996ea207272547a5deb0a5148626752 to your computer and use it in GitHub Desktop.
{ | |
"id": { "type": "string" }, | |
"status": { "enum": ["offered", "accepted", "applied", "declined", "disqualified", "expired", "unavailable"] }, | |
"archived": { "type": "boolean" }, | |
"expire_at": { "type": "datetime" }, | |
"critical_at": { "type": "datetime" }, | |
"contractor_location": { "type": "location" }, | |
"lead_contact": { | |
"type": "object", | |
"properties": { | |
"name": { "type": "string" }, | |
"phone": { "type": "string" }, | |
"email": { "type": "string" } | |
} | |
}, | |
"availability": { "type": "availability" }, | |
"project_categories": { | |
"type": "array", | |
"items": { "type": "string" } | |
}, | |
"accepted_by": { | |
"type": "object", | |
"properties": { | |
"name": { "type": "string" }, | |
"date": { "type": "datetime" } | |
} | |
}, | |
"application": { | |
"type": "object", | |
"properties": { | |
"id": { "type": "integer" }, | |
"program": { "type": "string" }, | |
"sales_rep_id": { "type": "string" }, | |
"sales_rep_name": { "type": "string" }, | |
"created_at": { "type": "datetime" } | |
} | |
}, | |
"declined_by": { | |
"type": "object", | |
"properties": { | |
"name": { "type": "string" }, | |
"reason": { "type": "string" }, | |
"date": { "type": "datetime"} | |
} | |
}, | |
"disqualified_by": { | |
"type": "object", | |
"properties": { | |
"name": { "type": "string" }, | |
"reason": { "type": "string" }, | |
"date": { "type": "datetime"} | |
} | |
}, | |
"unavailable_at": { "type": "datetime" }, | |
"decline_reasons": { | |
"type": "object", | |
"patternProperties": { | |
"\d+": { "type": "string" } | |
}, | |
"additionalProperties": false | |
}, | |
"disqualify_reasons": { | |
"type": "object", | |
"patternProperties": { | |
"\d+": { "type": "string" } | |
}, | |
"additionalProperties": false | |
} | |
} |
An "Open" state is probably needed too, this indicates that the lead hasn't been accepted yet. Should "Open" be past tense though?
👍
@davidstocker: property_owners
was meant to represent the property owners that will be listed on the application (could be 1 applicant, could be 2, could be more). is that the same as lead_contact
?
added lead_contact
object
added "unavailable_at"
splitting declined
into rejected
and disqualified
because the "declined" status naming is still in flux, i'm reverting "rejected" back to "declined" and simply adding "disqualified" (minimizing the changes until the language has been settled)
added decline_reasons
changed availability
to single object (from array of objects)
disqualify_reasons
is now disqualified_reasons
updating adding critical
flag
application_data should probably become application.
application_data.start_date should probably become application.created_at (for consistency)
👍