Argyle · Schema
Gig
Employment DataPayrollIncome VerificationGig EconomyFinancial DataEmployment HistoryEarned Wage AccessDirect Deposit
Properties
| Name | Type | Description |
|---|---|---|
| id | string | Unique ID of the gig assignment. |
| account | string | Unique ID of the account associated with the gig assignment. |
| employer | string | Employer name. |
| created_at | string | Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)) when the gig object was created. |
| updated_at | string | Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)) when a property value of the gig object most recently changed. |
| status | string | Current state of the gig assignment. |
| type | string | The type of gig assignment. |
| task_count | integer | Number of discrete tasks in the gig assignment. **Note:** When `task_count` is greater than 1 (e.g. two pickups in one delivery), the gig object contains aggregated values for the entire gig assignmen |
| start_datetime | string | Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)) when the gig assignment started. |
| end_datetime | string | Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)) when the gig assignment ended. |
| all_datetimes | object | Other timestamps related to the gig assignment. |
| duration | integer | Total time of the gig assignment (in seconds). |
| timezone | string | Timezone ([IANA](https://www.iana.org/time-zones)) where the gig assignment took place. |
| earning_type | string | The earnings category. |
| start_location | object | Starting location information for the gig assignment. |
| end_location | object | Ending location information for the gig assignment. |
| task_details | object | Task-level details for the gig assignment. |
| distance | string | Distance traveled during the gig assignment. |
| distance_unit | string | Unit of the distance traveled. |
| metadata | object | Additional, non-categorized information. |
| circumstances | object | Metadata specific to the gig platform, such as whether the assignment occurred during peak hours. |
| income | object | Payment and earnings information for the gig assignment. |
| income_rates | object | Amount earned by the gig employee per hour or per mile. **Note:** Values are not calculated, and are only returned if directly provided by the gig platform. |
JSON Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://raw.githubusercontent.com/api-evangelist/argyle/refs/heads/main/json-schema/gig.json",
"title": "Gig",
"type": "object",
"example": {
"id": "0187dbfa-6f5e-a33a-af26-7e12ff408fea",
"account": "0187c66e-e7e5-811c-b006-2232f00f426a",
"employer": "GigAndGo",
"created_at": "2023-03-08T08:31:37.037Z",
"updated_at": "2023-03-08T08:31:37.037Z",
"status": "completed",
"type": "delivery",
"task_count": 2,
"start_datetime": "2023-03-08T08:08:57Z",
"end_datetime": "2023-03-08T08:31:36Z",
"all_datetimes": {
"request_at": "2023-03-08T08:08:57Z",
"accept_at": "2023-03-08T08:09:38Z",
"pickup_at": "2023-03-08T08:12:57Z",
"dropoff_at": "2023-03-08T08:31:36Z",
"cancel_at": null,
"shift_start": null,
"shift_end": null,
"breaks": null
},
"duration": 2659,
"timezone": "America/New_York",
"earning_type": "work",
"start_location": {
"lat": "40.65932120164202",
"lng": "-73.8526246331782",
"formatted_address": "201 North W St, New York, NY 10014, US"
},
"end_location": {
"lat": "40.689177462234504",
"lng": "-73.89453884284752",
"formatted_address": "102 South E St, New York, NY 10002, US"
},
"task_details": {
"events": [
{
"order_id": null,
"sequence": "1",
"type": "accept",
"name": null,
"formatted_address": "201 North W St, New York, NY 10014, US",
"lat": "40.65932120164202",
"lng": "-73.89453884284752",
"datetime": "2023-03-08T08:09:38Z"
},
{
"order_id": "1",
"sequence": "2",
"type": "pickup",
"name": "Healthy Snacks",
"formatted_address": "150 East N St, New York, NY 10014, US",
"lat": "40.673422892136178",
"lng": "-73.88931269893891",
"datetime": "2023-03-08T08:12:57Z"
},
{
"order_id": "2",
"sequence": "3",
"type": "pickup",
"name": "Gourmet Desserts",
"formatted_address": "182 East N St, New York, NY 10014, US",
"lat": "40.673523811763259",
"lng": "-73.86335212657626",
"datetime": "2023-03-08T08:12:57Z"
},
{
"order_id": null,
"sequence": "4",
"type": "dropoff",
"name": null,
"formatted_address": "102 South E St, New York, NY 10002, US",
"lat": "40.689177462234504",
"lng": "-73.89453884284752",
"datetime": "2023-03-08T08:31:36Z"
}
],
"orders": [
{
"order_id": "1",
"sequence": "1",
"income": {
"currency": "USD",
"total_charge": "34.75",
"customer_price": "26.38",
"fees": "8.37",
"total": "19.96",
"pay": "22.28",
"tips": null,
"bonus": "0.00",
"other": "-2.32"
}
},
{
"order_id": "2",
"sequence": "2",
"income": {
"currency": "USD",
"total_charge": "7.25",
"customer_price": "7.25",
"fees": null,
"total": "4.30",
"pay": "4.30",
"tips": "0.00",
"bonus": "0.00",
"other": null
}
}
]
},
"distance": "1.80",
"distance_unit": "miles",
"metadata": {
"income.other": {
"name": "Taxes: Withholding tax",
"value": "-15.32"
}
},
"circumstances": {
"is_pool": false,
"is_rush": false,
"is_surge": true,
"service_type": "Comfort Ride",
"position": null
},
"income": {
"currency": "USD",
"total_charge": "42.00",
"customer_price": "33.68",
"fees": "8.37",
"total": "30.68",
"pay": "26.58",
"tips": "6.42",
"bonus": "0.00",
"other": "-2.32"
},
"income_rates": {
"hour": "92.70",
"mile": "20.20"
}
},
"properties": {
"id": {
"type": "string",
"format": "uuid",
"description": "Unique ID of the gig assignment."
},
"account": {
"type": "string",
"format": "uuid",
"description": "Unique ID of the account associated with the gig assignment."
},
"employer": {
"type": "string",
"description": "Employer name."
},
"created_at": {
"type": "string",
"format": "date-time",
"description": "Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)) when the gig object was created.\n"
},
"updated_at": {
"type": "string",
"format": "date-time",
"description": "Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)) when a property value of the gig object most recently changed.\n"
},
"status": {
"type": "string",
"enum": [
"scheduled",
"in_progress",
"completed",
"cancelled"
],
"description": "Current state of the gig assignment."
},
"type": {
"type": "string",
"enum": [
"delivery",
"rideshare",
"hourly",
"services"
],
"description": "The type of gig assignment."
},
"task_count": {
"type": "integer",
"description": "Number of discrete tasks in the gig assignment.\n\n**Note:**\nWhen `task_count` is greater than 1 (e.g. two pickups in one delivery), the gig object contains aggregated values for the entire gig assignment. Individual task-level details can be found in the [`task_details`](https://docs.argyle.com/api-reference/gigs#object-task_details) object.\n"
},
"start_datetime": {
"type": "string",
"format": "date-time",
"description": "Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)) when the gig assignment started.\n"
},
"end_datetime": {
"type": "string",
"format": "date-time",
"description": "Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)) when the gig assignment ended.\n"
},
"all_datetimes": {
"type": "object",
"description": "Other timestamps related to the gig assignment.",
"properties": {
"request_at": {
"type": "string",
"format": "date-time",
"description": "Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)) when the gig assignment was created.\n"
},
"accept_at": {
"type": "string",
"format": "date-time",
"description": "Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)) when the gig assignment was accepted.\n"
},
"pickup_at": {
"type": "string",
"format": "date-time",
"description": "Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)) when \"package\" (rider, food, or similar) was obtained.\n"
},
"dropoff_at": {
"type": "string",
"format": "date-time",
"description": "Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)) when \"package\" (rider, food, or similar) was delivered.\n"
},
"cancel_at": {
"type": "string",
"format": "date-time",
"description": "Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)) when the gig assignment was cancelled.\n"
},
"shift_start": {
"type": "string",
"format": "date-time",
"description": "Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)) when the work shift started.\n"
},
"shift_end": {
"type": "string",
"format": "date-time",
"description": "Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)) when the work shift ended.\n"
},
"breaks": {
"type": "array",
"items": {
"type": "object",
"properties": {
"break_start": {
"type": "string",
"format": "date-time",
"description": "Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)) when the break started.\n"
},
"break_end": {
"type": "string",
"format": "date-time",
"description": "Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)) when the break ended.\n"
}
}
}
}
}
},
"duration": {
"type": "integer",
"description": "Total time of the gig assignment (in seconds)."
},
"timezone": {
"type": "string",
"description": "Timezone ([IANA](https://www.iana.org/time-zones)) where the gig assignment took place.\n"
},
"earning_type": {
"type": "string",
"enum": [
"offer",
"work",
"incentive",
"adjustment",
"other"
],
"description": "The earnings category."
},
"start_location": {
"type": "object",
"description": "Starting location information for the gig assignment.",
"properties": {
"lat": {
"type": "string",
"description": "Latitude ([ISO 6709](https://en.wikipedia.org/wiki/ISO_6709)) where the gig assignment started.\n",
"format": "degrees"
},
"lng": {
"type": "string",
"description": "Longitude ([ISO 6709](https://en.wikipedia.org/wiki/ISO_6709)) where the gig assignment started.\n",
"format": "degrees"
},
"formatted_address": {
"type": "string",
"description": "Full address of where the gig assignment started."
}
}
},
"end_location": {
"type": "object",
"description": "Ending location information for the gig assignment.",
"properties": {
"lat": {
"type": "string",
"format": "degrees",
"description": "Latitude ([ISO 6709](https://en.wikipedia.org/wiki/ISO_6709)) where the gig assignment ended.\n"
},
"lng": {
"type": "string",
"format": "degrees",
"description": "Longitude ([ISO 6709](https://en.wikipedia.org/wiki/ISO_6709)) where the gig assignment ended.\n"
},
"formatted_address": {
"type": "string",
"description": "Full address of where the gig assignment ended."
}
}
},
"task_details": {
"type": "object",
"description": "Task-level details for the gig assignment.",
"properties": {
"events": {
"type": "array",
"description": "Geographical information and timestamps.",
"items": {
"type": "object",
"properties": {
"order_id": {
"type": "string",
"description": "Argyle-added reference ID. Connects `events` to `orders`.\n\n**Note:**\nOnly available if the underlying gig platform provides a clear link between events and their associated orders (monetary charges).\n"
},
"sequence": {
"type": "string",
"description": "Counter starting at 1. The sequential ordering of each event, as represented by the gig platform.\n"
},
"type": {
"type": "string",
"enum": [
"request",
"accept",
"pickup",
"dropoff",
"other",
"cancel"
],
"description": "The type of event."
},
"name": {
"type": "string",
"description": "Name associated with the geographical location.\n\n**Note:**\nPrimarily available for delivery platforms, where name is the pickup establishment (i.e. restaurant name).\n"
},
"formatted_address": {
"type": "string",
"description": "Full address of the geographical location."
},
"lat": {
"type": "string",
"description": "Latitude ([ISO 6709](https://en.wikipedia.org/wiki/ISO_6709)) of the geographical location.\n"
},
"lng": {
"type": "string",
"description": "Longitude ([ISO 6709](https://en.wikipedia.org/wiki/ISO_6709)) of the geographical location.\n"
},
"datetime": {
"type": "string",
"format": "date-time",
"description": "Timestamp ([ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)) of the event.\n"
}
}
}
},
"orders": {
"type": "array",
"description": "Payment and earnings information.",
"items": {
"type": "object",
"properties": {
"order_id": {
"type": "string",
"description": "Argyle-added reference ID. Connects `orders` to `events`.\n"
},
"sequence": {
"type": "string",
"description": "Counter starting at 1. The sequential ordering of each order, as represented by the gig platform.\n"
},
"income": {
"type": "object",
"description": "Payment and earnings information for the order.",
"properties": {
"currency": {
"type": "string",
"description": "Currency code ([ISO 4217](https://en.wikipedia.org/wiki/ISO_4217)).\n"
},
"total_charge": {
"type": "string",
"description": "Total amount charged to the customer."
},
"customer_price": {
"type": "string",
"description": "Amount the customer paid for the order, not including `fees` and `tips`.\n"
},
"fees": {
"type": "string",
"description": "Fees charged to the gig employee by the gig platform."
},
"total": {
"type": "string",
"description": "Total earnings received by the gig employee ( `pay` + `tips` + `bonus` + `other` ).\n"
},
"pay": {
"type": "string",
"description": "Earnings related to the assignment received by the gig employee."
},
"tips": {
"type": "string",
"description": "Tips received by the gig employee."
},
"bonus": {
"type": "string",
"description": "Bonus earnings received by the gig employee."
},
"other": {
"type": "string",
"description": "Other payments made or received by the gig employee.\n\nCommon examples: refunds (tolls), taxes, partial cash payments, reimbursements, or miscellaneous payments categorized as \"other\".\n"
}
}
}
}
}
}
}
},
"distance": {
"type": "string",
"description": "Distance traveled during the gig assignment."
},
"distance_unit": {
"type": "string",
"enum": [
"miles",
"km"
],
"description": "Unit of the distance traveled."
},
"metadata": {
"type": "object",
"description": "Additional, non-categorized information.\n"
},
"circumstances": {
"type": "object",
"description": "Metadata specific to the gig platform, such as whether the assignment occurred during peak hours."
},
"income": {
"type": "object",
"description": "Payment and earnings information for the gig assignment.",
"properties": {
"currency": {
"type": "string",
"description": "Currency code ([ISO 4217](https://en.wikipedia.org/wiki/ISO_4217)).\n"
},
"total_charge": {
"type": "string",
"description": "Total amount charged to the customer."
},
"customer_price": {
"type": "string",
"description": "Amount the customer paid for the order, not including `fees` and `tips`.\n\n**Note:**\nOnly available if directly returned by the gig platform.\n"
},
"fees": {
"type": "string",
"description": "Fees charged to the gig employee by the gig platform."
},
"total": {
"type": "string",
"description": "Total earnings received by the gig employee ( `pay` + `tips` + `bonus` + `other` ).\n"
},
"pay": {
"type": "string",
"description": "Earnings related to the assignment received by the gig employee."
},
"tips": {
"type": "string",
"description": "Tips received by the gig employee."
},
"bonus": {
"type": "string",
"description": "Bonus earnings received by the gig employee."
},
"other": {
"type": "string",
"description": "Other payments made or received by the gig employee.\n\nCommon examples: refunds (tolls), taxes, partial cash payments, reimbursements, or miscellaneous payments categorized as \"other\".\n\n**Note:**\n Additional details for other income are listed within metadata in the following format:\n\n ```json\n \"metadata\": {\n \"income.other\": {\n \"name\": \"Taxes: Withholding tax\",\n \"value\": \"-15.32\"\n }\n }\n ```\n"
}
}
},
"income_rates": {
"type": "object",
"description": "Amount earned by the gig employee per hour or per mile.\n\n**Note:**\nValues are not calculated, and are only returned if directly provided by the gig platform.\n",
"properties": {
"hour": {
"type": "string",
"description": "Earnings per hour. *Not calculated*"
},
"mile": {
"type": "string",
"description": "Earnings per mile. *Not calculated*"
}
}
}
}
}