The charter marketplace connects operators seeking lift with pilots offering their services. The marketplace requires the Ops module with Charter Marketplace enabled.
The charter marketplace is currently in beta and may have limited availability. Features and
statuses are subject to change. Contact support to enable the marketplace for your workspace.
Charter Request Statuses
A charter request represents a trip published to the marketplace. Each request follows a defined lifecycle.
| Status | API Value | Description |
|---|
| Open | open | Request is published and accepting applications from pilots. Visible to marketplace participants. |
| Proposal Sent | proposal_sent | The organization has sent a proposal to a pilot or is in negotiation. |
| Approved | approved | The request has been approved and a pilot has been selected. |
| Assigned | assigned | A pilot has been assigned to the request. The trip is confirmed and ready for operations. |
| Completed | completed | The trip has been flown and completed. Terminal state. |
| Cancelled | cancelled | The requesting organization cancelled the request. All pending applications are automatically rejected. Terminal state. |
Request Lifecycle
A request in Proposal Sent can return to Open if the proposal is declined, allowing
additional pilots to apply.
Application Statuses
An application represents a pilot’s bid to fulfill a charter request. Each application is tied to one request and one pilot.
| Status | API Value | Description |
|---|
| Pending | pending | Application has been submitted by the pilot. Awaiting organization review. |
| Approved | approved | Application has been accepted. The pilot is selected for the trip. Terminal state. |
| Rejected | rejected | Application was not selected. The organization may provide a reason. Terminal state. |
| Withdrawn | withdrawn | The pilot withdrew their application before a decision was made. Terminal state. |
Application Lifecycle
Automatic Status Transitions
The system transitions application statuses automatically under the following conditions:
| Trigger | Effect |
|---|
| Request cancelled | All pending applications move to rejected |
| One application approved | All other pending applications move to rejected |
Charter Request Fields
| Field | Type | Required | Description |
|---|
title | String | Yes | Short summary of the trip (e.g., “KTEB to KPBI, Mar 15-17”). |
origin | String | Yes | Departure airport name or ICAO code. |
destination | String | Yes | Arrival airport name or ICAO code. |
departure_date | Date | Yes | Requested departure date. |
return_date | Date | No | Requested return date for round trips. |
required_role | Enum | Yes | Required crew role: PIC, SIC, or BOTH. Default: PIC. |
duration_days | Number | No | Duration of the assignment in days. |
compensation | Number | No | Offered compensation amount. |
compensation_type | Enum | No | Compensation structure: hourly, daily, or fixed. |
requirements | Array | No | Specific requirements (type ratings, certifications, experience). |
status | Enum | Auto | Current request status. See Charter Request Statuses. |
created_at | Timestamp | Auto | When the request was created. |
updated_at | Timestamp | Auto | When the request was last modified. |
Application Fields
| Field | Type | Required | Description |
|---|
charter_request_id | String | Auto | Reference to the parent charter request. |
pilot_id | String | Auto | User ID of the applying pilot. |
status | Enum | Auto | Current application status. See Application Statuses. |
proposal_message | Text | No | Pilot’s cover message or proposal. |
proposed_compensation | Number | No | Pilot’s counter-offer amount. |
proposed_compensation_type | Enum | No | Counter-offer structure: hourly, daily, or fixed. |
pilot_qualifications | Array | No | Relevant qualifications and certifications. |
organization_response | Text | No | Organization’s response to the application. |
applied_at | Timestamp | Auto | When the application was submitted. |
Messaging States
Each charter request has a messaging thread for communication between the organization and pilots. Messages follow these rules:
| State | Who Can Send | Visibility |
|---|
| Request Open | Organization and all applicant pilots | Each pilot sees only their own thread with the organization. Pilots cannot see other pilots’ messages. |
| Proposal Sent | Organization and relevant pilot | Thread continues between the two parties. |
| Assigned | Organization and assigned pilot only | Thread continues between the two parties. Other pilots lose messaging access. |
| Request Cancelled / Completed | No new messages | Existing threads become read-only. |
Message Fields
| Field | Type | Description |
|---|
message_id | String | Unique identifier. |
charter_request_id | String | Reference to the parent charter request. |
sender_id | String | User who sent the message. |
sender_type | Enum | organization or pilot. |
message | Text | Message body. |
attachments | Array | Optional file attachments. |
is_read | Boolean | Whether the recipient has read the message. |
created_at | Timestamp | When the message was sent. |
Settings Schema
Workspace administrators can configure marketplace behavior through the charter request settings:
| Setting | Type | Default | Description |
|---|
is_active | Boolean | false | Master toggle for marketplace participation. |
acknowledged | Boolean | false | Whether the organization has acknowledged marketplace terms. |
roles | Array | [] | Roles allowed to submit charter requests. |
emails | Array | [] | Notification email addresses for marketplace activity. |
Allowed Users
Organizations can maintain a whitelist of users allowed to view and apply to their charter requests through the Charter Allowed Users table.
Trip Statuses
How marketplace trips integrate with trip lifecycle after assignment.
Use the Charter Marketplace
Request publishing and application submission.
Crew Roles
Crew role definitions for marketplace trip assignments.
Notification Channels
Configure how you receive marketplace notifications.