{ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "https://raw.githubusercontent.com/api-evangelist/verifone/refs/heads/main/json-schema/order-service-api-merchantcontract.json", "title": "MerchantContract", "description": "Used if merchant contract is to be processed", "type": "object", "properties": { "brokerId": { "type": "string", "maxLength": 100, "description": "ID of the broker, if one is being used" }, "legalStructure": { "type": "string", "description": "Legal Structure", "enum": [ "PROPRIETOR_OWN_BEHALF", "PROPRIETOR_NOT_OWN_BEHALF", "SHARED_LESS_25_PERC_EACH" ] }, "contacts": { "type": "array", "maxItems": 50, "items": { "$ref": "#/components/schemas/ContactAddressType" } }, "settlementAccount": { "$ref": "#/components/schemas/SettlementAccount" }, "domesticSettlementAccount": { "$ref": "#/components/schemas/DomesticSettlementAccount" }, "serviceStartDate": { "type": "string", "description": "The requested date for this service to start.", "format": "date-time" }, "terminalRentalStartDate": { "type": "string", "format": "date-time", "description": "The date until which terminal rental is exempt for this contract (also labelled \"Rent Exemption Until\" / DE: \"Mietfreiheit bis zum\"). If not set, consumers should fall back to serviceStartDate.\n" }, "proprietorAct": { "type": "boolean", "description": "Is proprietor is acting on its own behalf (true) or is not acting on own behalf (false)" }, "documents": { "type": "array", "items": { "$ref": "#/components/schemas/MerchantDocument" } }, "replacementAgreement": { "$ref": "#/components/schemas/ReplacementAgreement" } } }