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.
View JSON Schema on GitHub

JSON Schema

gig.json Raw ↑
{
  "$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*"
        }
      }
    }
  }
}