{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/Prospect",
  "title": "Prospect information.",
  "type": "object",
  "description": "Prospect information.",
  "properties": {
    "availableAddresses": {
      "type": "array",
      "description": "Available addresses.",
      "items": {
        "type": "object",
        "description": "Available address information.",
        "properties": {
          "disposable": {
            "type": "boolean",
            "description": "Defines whether the address is deleted after use (`true`) or not (`false`).",
            "example": true
          },
          "userId": {
            "type": "string",
            "description": "User unique identifier.",
            "example": "98478f6b-d025-4f35-a560-dd1ee7a6f26e"
          },
          "addressName": {
            "type": "string",
            "description": "Address name.",
            "example": "Home"
          },
          "addressType": {
            "type": "string",
            "description": "Address type.",
            "example": "residential"
          },
          "postalCode": {
            "type": "string",
            "description": "Postal code.",
            "example": "32137"
          },
          "city": {
            "type": "string",
            "description": "City.",
            "example": "Palm Coast"
          },
          "country": {
            "type": "string",
            "description": "Country code.",
            "example": "USA"
          },
          "street": {
            "type": "string",
            "description": "Street name.",
            "example": "Fifth St."
          },
          "number": {
            "type": "string",
            "description": "Street number.",
            "example": "9538"
          },
          "complement": {
            "type": "string",
            "description": "Complement information.",
            "example": "Apartment 2B"
          },
          "geoCoordinate": {
            "type": "array",
            "description": "Array with two strings that represent geocoordinates: first latitude, then longitude.",
            "items": {
              "type": "string",
              "description": "Geocoordinate."
            }
          }
        }
      }
    },
    "paymentData": {
      "$ref": "#/components/schemas/PaymentData"
    },
    "contacts": {
      "type": "array",
      "description": "List of contacts.",
      "items": {
        "type": "object",
        "description": "Contact information.",
        "properties": {
          "contactId": {
            "type": "string",
            "description": "Contact's unique identifier.",
            "example": "0"
          },
          "email": {
            "type": "string",
            "description": "Contact's email address.",
            "example": "jane@mail.com"
          },
          "firstName": {
            "type": "string",
            "description": "Contact's first name.",
            "example": "Jane"
          },
          "lastName": {
            "type": "string",
            "description": "Contact's last name.",
            "example": "Doe"
          },
          "phone": {
            "type": "string",
            "description": "Contact's phone number.",
            "example": "12345678910"
          },
          "document": {
            "type": "string",
            "description": "Contact's document.",
            "example": "12345678910"
          }
        }
      }
    },
    "invoiceSubject": {
      "type": "object",
      "description": "Information about the invoice subject.",
      "properties": {
        "invoiceSubjectId": {
          "type": "string",
          "description": "Invoice subject ID.",
          "example": "0"
        },
        "email": {
          "type": "string",
          "description": "Invoice subject's email address.",
          "example": "jane@mail.com"
        },
        "firstName": {
          "type": "string",
          "description": "Invoice subject's first name.",
          "example": "Jane"
        },
        "lastName": {
          "type": "string",
          "description": "Invoice subject's last name.",
          "example": "Doe"
        },
        "phone": {
          "type": "string",
          "description": "Invoice subject's phone number.",
          "example": "12345678910"
        }
      }
    },
    "email": {
      "type": "string",
      "description": "Prospect's email address.",
      "example": "jane@mail.com"
    },
    "firstName": {
      "type": "string",
      "description": "Prospect's first name.",
      "example": "Jane"
    },
    "lastName": {
      "type": "string",
      "description": "Prospect's last name.",
      "example": "Doe"
    },
    "document": {
      "type": "string",
      "description": "Prospect's document.",
      "example": "5397eefef23741d4976ebdf772cc42e0"
    },
    "cellPhone": {
      "type": "string",
      "description": "Prospect's cellphone number.",
      "example": "12345678910"
    },
    "isPJ": {
      "type": "boolean",
      "description": "Defines if a prospect is corporate (`true`) or not (`false`).",
      "example": false
    },
    "customerCode": {
      "type": "string",
      "description": "Prospect's customer code.",
      "example": "5397eefe-f237-41d4-976e-bdf772cc42e0"
    }
  }
}