{
  "type": "OrderProposal",
  "hasId": true,
  "subClassOf": "#OrderQuote",
  "sampleId": "https://api.example.com/order-proposals/1a80eca5-99f1-4e9a-81da-937e5621b246",
  "validationMode": {
    "PRequest": "request",
    "PResponse": "response",
    "PResponseOrderItemError": "response_error",
    "OrderProposalPatch": "patch",
    "OrdersFeed": "ordersFeed",
    "OrderProposalsFeed": "ordersFeed"
  },
  "imperativeConfiguration": {
    "request": {
      "requiredFields": [
        "type",
        "seller",
        "brokerRole",
        "orderedItem",
        "totalPaymentDue"
      ],
      "recommendedFields": [],
      "shallNotInclude": [
        "identifier",
        "orderNumber",
        "bookingService",
        "totalPaymentTax",
        "orderCreationStatus",
        "orderProposalVersion",
        "lease",
        "orderProposalStatus"
      ],
      "requiredOptions": [],
      "referencedFields": [
        "seller"
      ]
    },
    "response": {
      "requiredFields": [
        "type",
        "id",
        "seller",
        "brokerRole",
        "orderedItem",
        "totalPaymentDue",
        "orderProposalVersion",
        "orderProposalStatus"
      ],
      "recommendedFields": [
        "bookingService"
      ],
      "shallNotInclude": [
        "orderCreationStatus"
      ],
      "requiredOptions": [],
      "shallNotBeReferencedFields": [
        "seller"
      ]
    },
    "response_error": {
      "requiredFields": [
        "type",
        "seller",
        "brokerRole",
        "orderedItem",
        "totalPaymentDue"
      ],
      "recommendedFields": [
        "bookingService"
      ],
      "shallNotInclude": [
        "orderCreationStatus"
      ],
      "requiredOptions": [],
      "shallNotBeReferencedFields": [
        "seller"
      ]
    },
    "ordersFeed": {
      "requiredFields": [
        "type",
        "id",
        "orderedItem",
        "totalPaymentDue",
        "orderProposalVersion",
        "orderProposalStatus"
      ],
      "recommendedFields": [],
      "shallNotInclude": [
        "orderCreationStatus",
        "broker",
        "brokerRole",
        "bookingService",
        "customer",
        "orderNumber",
        "seller"
      ]
    },
    "patch": {
      "requiredFields": [
        "type"
      ],
      "requiredOptions": [
        {
          "description": [
            "The endpoint accepts a simple PATCH containing either or both of `orderProposalStatus` and `orderCustomerNote`."
          ],
          "options": [
            "orderProposalStatus",
            "orderCustomerNote"
          ]
        }
      ],
      "shallNotInclude": [
        "id",
        "identifier",
        "seller",
        "broker",
        "brokerRole",
        "orderNumber",
        "customer",
        "bookingService",
        "orderedItem",
        "totalPaymentDue",
        "totalPaymentTax",
        "taxCalculationExcluded",
        "payment",
        "orderProposalVersion",
        "lease",
        "orderSellerNote"
      ]
    }
  },
  "inSpec": [
    "type",
    "id",
    "identifier",
    "seller",
    "broker",
    "brokerRole",
    "orderNumber",
    "customer",
    "bookingService",
    "orderedItem",
    "totalPaymentDue",
    "totalPaymentTax",
    "taxCalculationExcluded",
    "payment",
    "orderCreationStatus",
    "orderProposalVersion",
    "lease",
    "orderRequiresApproval",
    "orderProposalStatus",
    "orderSellerNote",
    "orderCustomerNote"
  ],
  "notInSpec": [
    "orderRequiresApproval"
  ],
  "fields": {
    "type": {
      "fieldName": "type",
      "requiredType": "https://schema.org/Text",
      "requiredContent": "OrderProposal"
    },
    "orderProposalStatus": {
      "fieldName": "orderProposalStatus",
      "requiredType": "https://openactive.io/OrderProposalStatus",
      "description": [
        ""
      ],
      "sameAs": "https://openactive.io/orderProposalStatus"
    },
    "orderSellerNote": {
      "fieldName": "orderSellerNote",
      "requiredType": "https://schema.org/Text",
      "description": [
        ""
      ],
      "sameAs": "https://openactive.io/orderSellerNote"
    },
    "orderCustomerNote": {
      "fieldName": "orderCustomerNote",
      "requiredType": "https://schema.org/Text",
      "description": [
        ""
      ],
      "sameAs": "https://openactive.io/orderCustomerNote"
    }
  }
}