> ## Documentation Index > Fetch the complete documentation index at: https://docs.restaurant365.com/llms.txt > Use this file to discover all available pages before exploring further. # /public/v1/pos/labor/punches/import > Submits labor punch data for a location and business date for end-of-day or intraday processing ## OpenAPI ````json POST /public/v1/pos/labor/punches/import { "openapi": "3.0.1", "info": { "title": "R365.PublicApi", "contact": { "name": "R365 Services Team", "email": "r365@restaurant365.com" }, "version": "1.0" }, "security": [ { "Bearer": [] } ], "paths": { "/public/v1/pos/labor/punches/import": { "post": { "tags": [ "sync" ], "description": "Submits labor punch data for a location and business date for end-of-day or intraday processing", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/R365.Pos.Public.Contracts.Labor.Models.PostLaborPunchesImportRequest" } } } }, "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/R365.Pos.Public.Models.PostImportResponse" } } } }, "422": { "description": "Unprocessable Content", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/R365.Pos.Public.Models.R365Error" } } } } } } } }, "components": { "schemas": { "R365.Pos.Public.Contracts.Labor.Models.PostLaborPunchesImportRequest": { "type": "object", "properties": { "locationId": { "type": "string", "description": "Unique identifier (GUID) of the R365 location the import applies to.", "format": "uuid" }, "businessDate": { "type": "string", "description": "Business date the submitted data represents.", "format": "date" }, "importMode": { "type": "string", "description": "Processing mode for the import. Values are \"EOD\", \"Intraday\".", "nullable": true }, "laborPunches": { "type": "array", "items": { "$ref": "#/components/schemas/R365.Pos.Public.Contracts.Labor.Models.PunchRecord" }, "description": "Collection of labor punch records to import.", "nullable": true }, "idempotencyKey": { "type": "string", "description": "Optional client-supplied key to prevent duplicate submissions. Requests with the same key within 24 hours return a 409.", "nullable": true }, "correlationId": { "type": "string", "description": "Optional identifier for correlating this request with the caller's system.", "nullable": true }, "clientTimestampUtc": { "type": "string", "description": "Optional UTC timestamp from the client, used to resolve which request is latest when multiple exist for the same import type.", "format": "date-time", "nullable": true } }, "additionalProperties": false, "description": "Submits labor punch data for a location and business date for end-of-day or intraday processing" }, "R365.Pos.Public.Models.PostImportResponse": { "type": "object", "properties": { "importId": { "type": "integer", "description": "Unique numeric identifier of the import session.", "format": "int64" }, "requestId": { "type": "integer", "description": "Unique numeric identifier of the individual import request within the session.", "format": "int64" }, "isNewSession": { "type": "boolean", "description": "Indicates whether a new import session was created. Returns false when submitting to an existing session." }, "correlationId": { "type": "string", "description": "Correlation identifier echoed from the request, if provided.", "nullable": true } }, "additionalProperties": false, "description": "Response returned after submitting an import request." }, "R365.Pos.Public.Models.R365Error": { "type": "object", "properties": { "errorCode": { "type": "string", "description": "", "nullable": true }, "innerError": { "$ref": "#/components/schemas/R365.Pos.Public.Models.R365Error" } }, "additionalProperties": false }, "R365.Pos.Public.Contracts.Labor.Models.PunchRecord": { "type": "object", "properties": { "dateWorked": { "type": "string", "description": "Business date the labor punch applies to.", "format": "date" }, "employeeId": { "type": "string", "description": "Provider-assigned identifier of the employee.", "nullable": true }, "jobCodeId": { "type": "string", "description": "Provider-assigned identifier of the job code for this punch.", "nullable": true }, "startTime": { "type": "string", "description": "Local date and time the shift started.", "format": "date-time" }, "endTime": { "type": "string", "description": "Local date and time the shift ended.", "format": "date-time" }, "payRate": { "type": "number", "description": "Pay rate applied to this punch.", "format": "double" }, "tipDeclaredAmount": { "type": "number", "description": "Tip amount declared by the employee for this punch.", "format": "double" }, "payCode": { "type": "integer", "description": "Optional pay code identifier for this punch.", "format": "int32", "nullable": true }, "startDateTimeUtc": { "type": "string", "description": "UTC date and time the shift started, if provided.", "format": "date-time", "nullable": true }, "endDateTimeUtc": { "type": "string", "description": "UTC date and time the shift ended, if provided.", "format": "date-time", "nullable": true } }, "additionalProperties": false, "description": "A single labor punch record submitted for import." } }, "securitySchemes": { "Bearer": { "type": "http", "description": "Put **_ONLY_** your JWT Bearer token on textbox below!", "scheme": "Bearer", "bearerFormat": "JWT" } } } } ````