# Time card event

> **Webhook**, Dyflexis sends this `POST` request to a URL **you** host. See the [Webhooks guide](/guides/webhooks) for how to register your receiver and what it must return.

The main element of the message, this container holds all elements
needed to define a time card (the reported hours, allowances and
expenses of a human resource for a period).
The webhook can't be registered with this API. Please register
this webhook in Dyflexis.

Endpoint: POST timeCard
Security: apiKey

## Request fields (application/xml):

  - `TimeCard` (object)

  - `TimeCard.Id` (object)
    Container for the unique identifier of the time card.

  - `TimeCard.Id.idOwner` (string)
    Enum: "StaffingCustomer"

  - `TimeCard.Id.IdValue` (string)
    The unique identifier of the time card.

  - `TimeCard.ReportedResource` (object)
    Information on the human resource conducting the activities,
including a limited amount of details and an optional reference to a
record with a more detailed description.

  - `TimeCard.ReportedResource.Person` (object)
    The human resource for whom time, allowances and/or expenses
are reported.

  - `TimeCard.ReportedResource.Person.Id` (object)
    Reference to a human resource.

  - `TimeCard.ReportedResource.Person.Id.idOwner` (string)
    The organization that issues the identifier. Also responsible
for uniqueness within its own context.
    Enum: "StaffingCompany", "StaffingCustomer"

  - `TimeCard.ReportedResource.Person.Id.IdValue` (string)
    The unique identifier of the human resource.

  - `TimeCard.ReportedResource.Person.PersonName` (object)
    The name of the human resource.

  - `TimeCard.ReportedResource.Person.PersonName.FormattedName` (string)
    A fully formatted name as an XML string.

  - `TimeCard.ReportedResource.Person.PersonName.PreferredGivenName` (string)
    The preferred given name.

  - `TimeCard.ReportedResource.Person.PersonName.FamilyName` (object)
    The family name.

  - `TimeCard.ReportedResource.Person.PersonName.FamilyName.primary` (string)
    Exactly one family name is required to have `primary` set
to `TRUE`. Indicates whether this is the primary family
name or any maiden/birth name.
    Enum: "TRUE", "FALSE"

  - `TimeCard.ReportedResource.Person.PersonName.FamilyName.prefix` (string)
    Prefix of the family name.
    Example: van der

  - `TimeCard.ReportedTime` (object)
    Container for information about the reported working hours, allowances
and expenses of the human resource for a certain period of time.

  - `TimeCard.ReportedTime.status` (string)
    The status of the time card in the process. `approved` is conveyed
as an empty value; `declined` is conveyed as `rejected`.
    Enum: "", "rejected"

  - `TimeCard.ReportedTime.PeriodStartDate` (string)
    The start date and/or time of the timeframe reported on the time
card. `YYYY-MM-DDThh:mm:ssZ` (ISO 8601); if no timezone is provided
Dyflexis system time is used.

  - `TimeCard.ReportedTime.PeriodEndDate` (string)
    The end date and/or time of the timeframe reported on the time
card. `YYYY-MM-DDThh:mm:ssZ` (ISO 8601); if no timezone is provided
Dyflexis system time is used.

  - `TimeCard.ReportedTime.TimeInterval` (object)
    Container for information about the reported working hours of the
human resource. May appear multiple times.

  - `TimeCard.ReportedTime.TimeInterval.type` (string)
    The type of time frame registered, using the SETU hour-types
code list.

  - `TimeCard.ReportedTime.TimeInterval.Id` (object)
    Container for a unique identifier of the reported time interval.

  - `TimeCard.ReportedTime.TimeInterval.Id.idOwner` (string)
    The organization that issues the identifier. Also responsible
for uniqueness within its own context.
    Enum: "StaffingCompany", "StaffingCustomer"

  - `TimeCard.ReportedTime.TimeInterval.Id.IdValue` (string)
    The unique identifier of the time interval.

  - `TimeCard.ReportedTime.TimeInterval.StartTimeDate` (string)
    The start date and time of the reported time interval.
`YYYY-MM-DDThh:mm:ssZ` (ISO 8601).

  - `TimeCard.ReportedTime.TimeInterval.EndTimeDate` (string)
    The end date and time of the reported time interval.
`YYYY-MM-DDThh:mm:ssZ` (ISO 8601).

  - `TimeCard.ReportedTime.TimeInterval.RateOrAmount` (object)
    Specification of the (agreed) rate that applies to the reported
time interval. May appear multiple times.

  - `TimeCard.ReportedTime.TimeInterval.RateOrAmount.currency` (string)
    The currency in which the rate or amount is specified. Only
Euro (`EUR`) is supported.
    Enum: "EUR"

  - `TimeCard.ReportedTime.TimeInterval.RateOrAmount.type` (string)
    Type of rate that applies to the activities conducted.
    Enum: "4weekly", "hourly", "hourlyconsolidated", "hourlysplit", "monthly", "weekly"

  - `TimeCard.ReportedTime.TimeInterval.RateOrAmount.multiplier` (number)
    The multiplier to apply to the rate to determine the real
amount paid or billed. `100` (the "standard multiplier")
represents 100% (no mark-up). A 50% mark-up, 1.5× the
standard rate, is represented as `150`.

  - `TimeCard.ReportedTime.Allowance` (object)
    Specification of expenses (costs incurred representing eligibility)
and/or allowances (additional bonuses given for the duration of
the represented time interval) for a specific time period. May
appear multiple times.

  - `TimeCard.ReportedTime.Allowance.type` (string)
    The type of expense or allowance reported, using the SETU
expense-allowance-types code list.

  - `TimeCard.ReportedTime.Allowance.Id` (object)
    Identifier of the reported allowance or expense.

  - `TimeCard.ReportedTime.Allowance.Id.idOwner` (string)
    The organization that issues the identifier. Also responsible
for uniqueness within its own context.
    Enum: "StaffingCompany", "StaffingCustomer"

  - `TimeCard.ReportedTime.Allowance.Id.IdValue` (object)
    The unique identifier of the allowance.

  - `TimeCard.ReportedTime.Allowance.Id.IdValue.name` (string)
    Specifies whether the item is an expense or an allowance.
    Enum: "allowance", "expense"

  - `TimeCard.ReportedTime.Allowance.Amount` (object)
    The amount per unit of the allowance or expense.

  - `TimeCard.ReportedTime.Allowance.Amount.currency` (string)
    The currency of the specified amount.
    Enum: "EUR"

  - `TimeCard.ReportedTime.Allowance.Quantity` (integer)
    Numerical quantity of the expense or allowance, assigned or
determined by calculation or measurement. Cannot be negative.

  - `TimeCard.SubmitterInfo` (object)
    Who (person or system) submitted the time card to the staffing supplier
and when.

  - `TimeCard.SubmitterInfo.Source` (string)
    The person or system that submitted the time card. Always
`Dyflexis`.

  - `TimeCard.SubmitterInfo.SubmittedDateTime` (string)
    Timestamp of when the time card was submitted.
`YYYY-MM-DDThh:mm:ssZ` (ISO 8601).

  - `TimeCard.ApprovalInfo` (object)
    Who approved (or rejected) the time card and when.

  - `TimeCard.ApprovalInfo.ApprovedDateTime` (string)
    Timestamp of when the time card was approved, or rejected (for
a rejected time card). `YYYY-MM-DDThh:mm:ssZ` (ISO 8601).

  - `TimeCard.AdditionalData` (object)
    Container for specifying additional elements.

  - `TimeCard.AdditionalData.StaffingAdditionalData` (object)
    Container for additional reporting and reference elements.

  - `TimeCard.AdditionalData.StaffingAdditionalData.CustomerReportingRequirements` (object)
    Container for a variety of customer-related reporting elements.

  - `TimeCard.AdditionalData.StaffingAdditionalData.CustomerReportingRequirements.AdditionalRequirement` (object)
    Any other customer-specific reporting requirement needed.

  - `TimeCard.AdditionalData.StaffingAdditionalData.CustomerReportingRequirements.AdditionalRequirement.requirementTitle` (string)
    The name of the additional reporting requirement, using
the SETU time-card customer-specific-requirements code
list.

  - `TimeCard.AdditionalData.StaffingAdditionalData.ReferenceInformation` (object)
    References to other documents or parties.

  - `TimeCard.AdditionalData.StaffingAdditionalData.ReferenceInformation.StaffingCustomerId` (object)
    Container for the unique identifier of the staffing customer.

  - `TimeCard.AdditionalData.StaffingAdditionalData.ReferenceInformation.StaffingCustomerId.idOwner` (string)
    The organization that issues the identifier. Also
responsible for uniqueness within its own context.
    Enum: "BTW", "Fi", "KvK", "OIN", "StaffingCompany", "StaffingCustomer"

  - `TimeCard.AdditionalData.StaffingAdditionalData.ReferenceInformation.StaffingCustomerId.IdValue` (string)
    The unique identifier of the staffing customer.

  - `TimeCard.AdditionalData.StaffingAdditionalData.ReferenceInformation.AssignmentId` (object)
    Container for the unique identifier of the assignment.

  - `TimeCard.AdditionalData.StaffingAdditionalData.ReferenceInformation.AssignmentId.idOwner` (string)
    Enum: "StaffingCompany"

  - `TimeCard.AdditionalData.StaffingAdditionalData.ReferenceInformation.AssignmentId.IdValue` (string)
    The unique identifier of the assignment.

## Response 400 fields (application/xml):

  - `errors` (array)

  - `errors.message` (string)

  - `errors.code` (null | string)

  - `errors.context` (object)

  - `errors.context.field` (null | string)
    The field related to the encountered error.

## Response 401 fields (application/xml):

  - `message` (string)
    Invalid authentication token
    Example: Unauthorized

## Response 403 fields (application/xml):

  - `message` (string)
    Invalid authentication token scope
    Example: Forbidden

