{
  "type": "OrderQuote",
  "hasId": true,
  "subClassOf": "#Order",
  "sampleId": "https://api.example.com/order-quotes/1a80eca5-99f1-4e9a-81da-937e5621b246",
  "validationMode": {
    "C1Request": "C1request",
    "C1Response": "C1response",
    "C1ResponseOrderItemError": "C1response",
    "C2Request": "request",
    "C2Response": "response",
    "C2ResponseOrderItemError": "response"
  },
  "imperativeConfiguration": {
    "C1request": {
      "requiredFields": [
        "type",
        "brokerRole",
        "orderedItem",
        "seller"
      ],
      "recommendedFields": [],
      "shallNotInclude": [
        "id",
        "identifier",
        "orderNumber",
        "bookingService",
        "totalPaymentTax",
        "orderCreationStatus",
        "orderProposalVersion",
        "totalPaymentDue"
      ],
      "requiredOptions": [],
      "referencedFields": [
        "seller"
      ]
    },
    "request": {
      "requiredFields": [
        "type",
        "brokerRole",
        "orderedItem",
        "seller"
      ],
      "recommendedFields": [],
      "shallNotInclude": [
        "identifier",
        "orderNumber",
        "bookingService",
        "totalPaymentTax",
        "orderCreationStatus",
        "orderProposalVersion",
        "lease",
        "totalPaymentDue",
        "orderRequiresApproval"
      ],
      "requiredOptions": [],
      "referencedFields": [
        "seller"
      ]
    },
    "C1response": {
      "requiredFields": [
        "type",
        "id",
        "seller",
        "brokerRole",
        "orderedItem",
        "totalPaymentDue",
        "orderRequiresApproval"
      ],
      "recommendedFields": [
        "bookingService"
      ],
      "shallNotInclude": [
        "orderCreationStatus",
        "customer",
        "orderProposalVersion"
      ],
      "shallNotBeReferencedFields": [
        "seller"
      ]
    },
    "response": {
      "requiredFields": [
        "type",
        "id",
        "seller",
        "brokerRole",
        "orderedItem",
        "totalPaymentDue",
        "orderRequiresApproval"
      ],
      "recommendedFields": [
        "bookingService"
      ],
      "shallNotInclude": [
        "orderCreationStatus",
        "orderProposalVersion"
      ],
      "shallNotBeReferencedFields": [
        "seller"
      ]
    }
  },
  "inSpec": [
    "type",
    "id",
    "identifier",
    "seller",
    "broker",
    "brokerRole",
    "taxCalculationExcluded",
    "orderNumber",
    "customer",
    "bookingService",
    "orderedItem",
    "totalPaymentDue",
    "totalPaymentTax",
    "orderCreationStatus",
    "lease",
    "orderRequiresApproval",
    "payment",
    "orderProposalVersion"
  ],
  "fields": {
    "type": {
      "fieldName": "type",
      "requiredType": "https://schema.org/Text",
      "requiredContent": "OrderQuote"
    },
    "lease": {
      "fieldName": "lease",
      "sameAs": "https://openactive.io/lease",
      "model": "#Lease",
      "description": [
        "The Lease on the OrderItems which lasts for the duration specified by the Booking System."
      ]
    },
    "orderRequiresApproval": {
      "fieldName": "orderRequiresApproval",
      "sameAs": "https://openactive.io/orderRequiresApproval",
      "requiredType": "https://schema.org/Boolean",
      "description": [
        "Whether the Booking Flow with Approval must be used to book the set of OrderItems included. must be true if any of the OrderItems require approval."
      ]
    }
  }
}