SurveyResponse
Represents a complete response submission to a survey by a person or organization. Tracks submission timing, completion status, and links all individual answers together. Supports both anonymous and identified responses.
Properties
| Property | Type | Mode | Description | Required |
|---|---|---|---|---|
| survey | Survey | stored | Reference to the survey being responded to | Required |
| respondentPerson | Person | stored | Person who submitted this response (null for anonymous surveys or organization respondents) | Optional |
| respondentOrganization | Organization | stored | Organization that submitted this response (for B2B surveys where the organization is the respondent) | Optional |
| submittedAt | DateTime | stored | Date and time when the response was submitted | Required |
| startedAt | DateTime | stored | Date and time when the respondent started the survey | Optional |
| isComplete | boolean | stored | Whether all required questions have been answered Example: | Required |
| metadata | json | stored | Additional response metadata (device, location, user agent, etc.) | Optional |
| answers | SurveyAnswer[] | calculated | List of individual answers in this response | Optional |
| answerCount | number | calculated | Number of answers provided in this response | Optional |
| completionTime | number | calculated | Time taken to complete the survey in seconds (submittedAt - startedAt) | Optional |
Examples
Example 1
{
"@type": "SurveyResponse",
"survey": {
"@type": "Survey",
"title": "Customer Satisfaction Survey"
},
"respondentPerson": {
"@type": "Person",
"givenName": "Jean",
"familyName": "Martin"
},
"submittedAt": "2024-11-20T14:30:00Z",
"startedAt": "2024-11-20T14:25:00Z",
"isComplete": true
}Example 2
{
"@type": "SurveyResponse",
"survey": {
"@type": "Survey",
"title": "Employee Engagement Survey Q4 2024"
},
"submittedAt": "2024-10-15T09:45:00Z",
"startedAt": "2024-10-15T09:30:00Z",
"isComplete": true,
"metadata": {
"device": "desktop",
"browser": "Chrome"
}
}Example 3
{
"@type": "SurveyResponse",
"survey": {
"@type": "Survey",
"title": "Vehicle Inspection Checklist"
},
"respondentPerson": {
"@type": "Person",
"givenName": "Pierre",
"familyName": "Durand"
},
"submittedAt": "2024-11-25T07:15:00Z",
"startedAt": "2024-11-25T07:00:00Z",
"isComplete": true,
"metadata": {
"device": "mobile",
"location": "Parking Lot A"
}
}Example 4
{
"@type": "SurveyResponse",
"survey": {
"@type": "Survey",
"title": "Supplier Evaluation Survey"
},
"respondentOrganization": {
"@type": "Organization",
"name": "Acme Supplies Ltd"
},
"submittedAt": "2024-11-18T11:00:00Z",
"startedAt": "2024-11-18T10:45:00Z",
"isComplete": true
}