Application
ApplicationBase
Section titled “ApplicationBase”Base model for an application to a funding opportunity.
Property | Type | Required | Description |
---|---|---|---|
id | uuid | Yes | The unique identifier for the application |
name | string | Yes | The name of the application |
competitionId | uuid | Yes | The unique identifier for the competition |
formResponses | Record<AppFormResponse> | Yes | The form responses for the application |
status | AppStatus | Yes | The status of the application |
submittedAt | utcDateTime | No | The date and time the application was submitted |
customFields | Record<CustomField> | No | The custom fields about the application |
Formats
Section titled “Formats”A JSON example of this model.
{ "id": "083b4567-e89d-42c8-a439-6c1234567890", "name": "Example Application", "competitionId": "083b4567-e89d-42c8-a439-6c1234567890", "formResponses": { // Form responses would be here }, "status": { "value": "submitted", "description": "Application has been submitted." }, "submittedAt": "2024-01-01T00:00:00Z", "customFields": { "pctComplete": { "name": "Percentage Complete", "fieldType": "string", "value": "50%", "description": "Percentage of the application that has been completed" } }}
The JSON Schema for this model.
$schema: https://json-schema.org/draft/2020-12/schema$id: ApplicationBase.yamltype: objectproperties: id: $ref: uuid.yaml description: The unique identifier for the application name: type: string description: The name of the application competitionId: $ref: uuid.yaml description: The unique identifier for the competition formResponses: $ref: "#/$defs/RecordAppFormResponse" description: The form responses for the application status: $ref: AppStatus.yaml description: The status of the application submittedAt: anyOf: - type: string format: date-time - type: "null" description: The date and time the application was submitted customFields: $ref: "#/$defs/RecordCustomField" description: The custom fields about the application createdAt: type: string format: date-time description: The timestamp (in UTC) at which the record was created. lastModifiedAt: type: string format: date-time description: The timestamp (in UTC) at which the record was last modified.required: - id - name - competitionId - formResponses - status - createdAt - lastModifiedAt$defs: RecordAppFormResponse: type: object properties: {} unevaluatedProperties: $ref: AppFormResponse.yaml RecordCustomField: type: object properties: {} unevaluatedProperties: $ref: CustomField.yaml
The TypeSpec code for this model.
model ApplicationBase { /** The unique identifier for the application */ id: Types.uuid;
/** The name of the application */ name: string;
/** The unique identifier for the competition */ competitionId: Types.uuid;
/** The form responses for the application */ formResponses: Record<AppFormResponse>;
/** The status of the application */ status: AppStatus;
/** The date and time the application was submitted */ submittedAt?: utcDateTime | null;
/** The custom fields about the application */ customFields?: Record<Fields.CustomField>;
/** The system metadata for the application */ ...Fields.SystemMetadata;}
AppStatus
Section titled “AppStatus”The status of an application.
Property | Type | Required | Description |
---|---|---|---|
value | AppStatusOptions | Yes | The status of the application. |
customValue | string | No | A custom value for the status. |
description | string | No | A description of the status. |
Formats
Section titled “Formats”A JSON example of this model.
{ "value": "submitted", "description": "Application has been submitted."}
The JSON Schema for this model.
$schema: https://json-schema.org/draft/2020-12/schema$id: AppStatus.yamltype: objectproperties: value: $ref: AppStatusOptions.yaml description: The status of the application. customValue: type: string description: A custom value for the status. description: type: string description: A description of the status.required: - valueexamples: - value: submitted description: The application has been submitted.description: The status of the application.
The TypeSpec code for this model.
/** The status of the application. */@example(Examples.Application.submittedStatus)model AppStatus { /** The status of the application. */ value: AppStatusOptions;
/** A custom value for the status. */ customValue?: string;
/** A description of the status. */ description?: string;}
AppStatusOptions
Section titled “AppStatusOptions”The default set of values accepted for application status.
Value | Description |
---|---|
draft | The application is a draft |
submitted | The application has been submitted. |
accepted | The application has been accepted. |
rejected | The application has been rejected. |
custom | The application has a custom status |
Formats
Section titled “Formats”A JSON example of this model.
"submitted"
The JSON Schema for this model.
$schema: https://json-schema.org/draft/2020-12/schema$id: AppStatusOptions.yamltype: stringenum: - draft - submitted - accepted - rejected - customdescription: The default set of values accepted for application status.
The TypeSpec code for this model.
/** The default set of values accepted for application status. */enum AppStatusOptions { /** The application is a draft */ draft,
/** The application has been submitted */ submitted,
/** The application has been accepted */ accepted,
/** The application has been rejected */ rejected,
/** The application has a custom status */ custom,}
AppFormResponse
Section titled “AppFormResponse”A form response associated with an application.
Property | Type | Required | Description |
---|---|---|---|
id | uuid | Yes | The unique identifier for the form response |
form | Form | Yes | The form being responded to |
response | Record<unknown> | Yes | The response to the form |
status | FormResponseStatus | Yes | The status of the form response |
validationErrors | Array<unknown> | Yes | The validation errors for the form response |
applicationId | uuid | Yes | The unique identifier for the application |
createdAt | utcDateTime | Yes | The timestamp (in UTC) at which the record was created |
lastModifiedAt | utcDateTime | Yes | The timestamp (in UTC) at which the record was last modified |
Formats
Section titled “Formats”A JSON example of this model.
{ "id": "083b4567-e89d-42c8-a439-6c1234567890", "form": { "id": "b7c1e2f4-8a3d-4e2a-9c5b-1f2e3d4c5b6a", "name": "Form A", "description": "Form A description" }, "response": { "name": { "first": "John", "last": "Doe" }, "email": "john.doe@example.com", "phone": "555-123-4567" }, "status": { "value": "complete", "description": "The form response is complete" }, "validationErrors": [], "applicationId": "083b4567-e89d-42c8-a439-6c1234567890", "createdAt": "2024-01-01T00:00:00Z", "lastModifiedAt": "2024-01-01T00:00:00Z"}
The JSON Schema for this model.
$schema: https://json-schema.org/draft/2020-12/schema$id: AppFormResponse.yamltype: objectproperties: applicationId: $ref: uuid.yaml description: The unique identifier for the applicationrequired: - applicationIdallOf: - $ref: FormResponseBase.yaml
The TypeSpec code for this model.
model AppFormResponse extends FormResponseBase { /** The unique identifier for the application */ applicationId: Types.uuid;}