Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
253 lines (253 sloc) 6.98 KB
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "#",
"title": "Request an ARTA quote",
"type": "object",
"readOnly": true,
"allOf": [
{
"$ref": "request.schema.json"
},
{
"properties": {
"id": {
"description": "The ARTA Id",
"type": "string",
"pattern": "^[-a-zA-Z0-9_]{32}$"
},
"url": {
"description": "The url of the request in the ARTA platform.",
"type": "string",
"format": "uri"
},
"exchange_rate": {
"allOf": [
{
"$ref": "object.schema.json#/definitions/monetary_amount"
},
{
"description": "The currency exchange rate for which all conversion is based"
}
]
},
"status": {
"$ref": "#/definitions/request_status"
},
"quotes": {
"type": "array",
"description": "The list of quotes for the request",
"items": {
"$ref": "#/definitions/quote"
}
},
"purchase_information": {
"description": "Purchase information",
"type": "object",
"properties": {
"available": {
"type": "boolean",
"description": "True if the quotes are available for purchase. False if they are just estimates (more information required to purchase)"
},
"missing": {
"type": "array",
"description": "A list of fields in the request that were missing/empty that are required to purchase. This may be given in `path.to[id].field` dot notation format",
"items": {
"type": "string"
}
},
"required_contact_locations": {
"type": "array",
"description": "list of location ids that require contact information at time of purchase",
"items": {
"type": "string",
"description": "The id of the location requiring contact information"
}
}
}
},
"created_at": {
"description": "The creation timestamp",
"type": "string",
"format": "date-time"
},
"last_updated": {
"description": "The timestamp of the last update",
"type": "string",
"format": "date-time"
},
"disqualifications": {
"$ref": "disqualified-request.schema.json#/definitions/disqualifications"
}
}
}
],
"definitions": {
"request_status": {
"$id": "#/definitions/request_status",
"type": "string",
"oneOf": [
{
"const": "unpublished",
"description": "The request is unpublished."
},
{
"const": "in_progress",
"description": "The request is currently being quoted."
},
{
"const": "disqualified",
"description": "The request could not be instantly quoted. Please submit for custom quoting."
},
{
"const": "quoted",
"description": "Quoting has been completed."
},
{
"const": "closed",
"description": "The request has been close. Please call the Job service instead."
},
{
"const": "expired",
"description": "The request has expired and must be resubmitted."
},
{
"const": "cancelled",
"description": "The request has been cancelled"
}
]
},
"quote": {
"$id": "#/definitions/quote",
"type": "object",
"allOf": [
{
"$ref": "quote.schema.json"
},
{
"properties": {
"expiration_date": {
"description": "The date the quote will become expired",
"type": "string",
"format": "date"
},
"estimated_start": {
"allOf": [
{
"$ref": "#/definitions/time_duration"
},
{
"description": "The estimated starting time range from the time of purchase if known"
}
]
},
"duration": {
"allOf": [
{
"$ref": "#/definitions/time_duration"
},
{
"description": "The estimated duration of the job if known"
}
]
},
"insurance": {
"$ref": "#/definitions/quoted_insurance"
},
"services": {
"type": "array",
"items": {
"$ref": "#/definitions/quoted_service"
}
}
}
}
]
},
"quoted_service": {
"$id": "#/definitions/quoted_service",
"type": "object",
"allOf": [
{
"$ref": "quote.schema.json#/definitions/line_item_service"
},
{
"properties": {
"is_included": {
"$ref": "#/definitions/is_included"
},
"is_required": {
"type": [
"boolean"
],
"oneOf": [
{
"const": true,
"description": "This service is required and cannot be excluded."
},
{
"const": false,
"description": "This service is optional and can be excluded."
}
]
}
}
}
]
},
"quoted_insurance": {
"type": "object",
"allOf": [
{
"$ref": "quote.schema.json#/definitions/insurance"
},
{
"properties": {
"is_included": {
"$ref": "#/definitions/is_included"
}
}
}
]
},
"is_included": {
"$id": "#/definitions/is_included",
"type": [
"boolean"
],
"oneOf": [
{
"const": true,
"description": "This service is included in the amount of the quote and should not be added to the quote amount on purchase."
},
{
"const": false,
"description": "This service is not included in the amount of the quote and should be added to the quote amount if selected on purchase."
}
]
},
"time_duration": {
"$id": "#definitions/time_duration",
"type": "object",
"properties": {
"min": {
"description": "The minimum amount",
"type": "number"
},
"max": {
"description": "The maximum amount",
"type": "number"
},
"unit": {
"description": "The unit of time the min and max are given in",
"type": "string",
"enum": [
"hours",
"days",
"weeks",
"months"
]
}
}
}
}
}
You can’t perform that action at this time.