Skip to content
Developer

SmartLock

Smart home and automation10 EndpointsDataWarehouse / SmartLock

Returns a list of smart lock entries.

GET/api/event/smart_lock

Query parameters

idinteger
deletedbooleanThis property is used to mark an entity as deleted / archived
namestring
typestring
baseBookablestring
employmentContractsstringLinked employment contracts
employmentContractGroupsstringLinked employment contract groups
connectionstring
providerDeviceIdstring
providerDeviceTypestring
searchStringstringtext to search for in the list
orderFieldNamestringname of the order field
orderFieldSortstringsorting modeAllowed: DESCASC
pageintegerpage of the list
pageSizeintegernumber of entries for each page
withMaxPageNumberstringreturns the number of pages available as a header if this is set

Responses

200Returns a list of SmartLocksarray<SmartLock>

Show fields (14)
  • idinteger

    Primary key of the smart lock. Internal ID.

  • typestring

    Type of the smart lock, for example door or gate.

  • base_bookableBaseBookable4

    Bookable the smart lock opens.

    Show fields (51)
    • ticketSeatingPlanIdinteger

      Id of the seating plan of the room, also for the public serialization.

    • idinteger

      Primary key of the bookable. Internal ID.

    • tokenstring

      Public token of the bookable. Used in links instead of the ID.

    • bookable_typestring

      Type of the bookable, for example room, court or vehicle.

    • floor_levelstring

      Floor the bookable is on.

    • floor_sizeinteger

      Floor size in square meters.

    • pets_allowedboolean

      Pets are allowed.

    • barrier_freeboolean

      The bookable is barrier-free.

    • cargo_volumeinteger

      Cargo volume in liters.

    • fuel_typestring

      Fuel type of the vehicle.

    • seating_capacityinteger

      Number of seats.

    • has_wait_listboolean

      The bookable has a waiting list once it is fully booked.

    • booking_limitinteger

      Maximum number of bookings.

    • billing_modestring

      How bookings on this bookable are billed: BILLING_MODE_UPFRONT (null = upfront, invoice at booking time) or BILLING_MODE_USAGE (free reservation, deferred billing from real usage data) Also in Default: the member app shows "Nutzung erfassen" only for usage-billed bookables.

    • max_active_bookings_per_userinteger

      Maximum number of active (future, not cancelled) self-service bookings one person may hold on this bookable at the same time. Null = unlimited. Admin bookings are not limited.

    • max_advance_booking_hoursinteger

      Maximum number of hours a self-service booking may start in the future. Null = unlimited. Admin bookings are not limited.

    • inventory_managedboolean

      Kept as inventory (Inventar-Ausleihe): the office hands the item over and takes it back, with deposit and reminders. Only used while the setting event_inventory_enabled is on.

    • inventory_depositnumber (float)

      Deposit (Kaution) per piece asked on hand-over. Null = no deposit.

    • require_addressboolean

      The address must be entered when booking.

    • require_contactboolean

      Contact details must be entered when booking.

    • require_billingboolean

      Billing details must be entered when booking.

    • require_booking_titleboolean

      A title must be entered when booking.

    • allow_direct_billingboolean
    • require_ageboolean

      The age must be entered when booking.

    • counter_update_modestring

      How the usage counters of the bookable are updated.

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

    • addressstring

      Address as text.

    • address_streetstring

      Street of the address.

    • address_house_numberstring

      House number of the address.

    • address_street_levelstring

      Street and house number of the address.

    • address_costring

      Care-of line of the address.

    • address_citystring

      City of the address.

    • address_zipstring

      Postal code of the address.

    • address_admin_level1string

      First administrative level of the address, e.g. the federal state.

    • address_countrystring

      Country code of the address.

    • address_full_countrystring

      Full name of the country of the address.

    • address_geo_latstring

      Latitude of the address.

    • address_geo_lngstring

      Longitude of the address.

    • address_external_provider_idstring

      field to store the external provider id of the address. e.g. Google Maps PlaceID like google:ChIJVcKw5r90sEcRhdjNq6NItqE

    • main_phonestring

      Main phone number.

    • main_faxstring

      Main fax number.

    • main_emailstring

      Main e-mail address.

    • websitestring

      Website address.

    • self_service_typestring

      Type of the self-service option.

    • arslist_self_servicearray<AccessRightStorage2>

      Access rights list that controls the self-service option.

    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • short_identifierstring

      Short identifier of the entity.

    • image_urlstring

      URL of the image of the entity.

    • slug_identifierstring

      Slug used in URLs of the entity.

  • employment_contractsarray<EmploymentContract16>

    Linked employment contracts

    Show fields (43)
    • staged_absence_approvalboolean

      null inherits group then organization policy; existing installations stay off.

    • idinteger

      Primary key of the employment contract. Internal ID.

    • tokenstring

      Public token of the contract. Used instead of the ID.

    • userUser14

      Login user of the employee.

    • week_total_hoursnumber (float)

      Total working hours per week.

    • week_total_daysnumber (float)

      Total working days per week.

    • reserved_hours_preparationnumber (float)

      L03: weekly hours reserved for Vorbereitung - part of the contract hours but not plannable in the shift plan. null = none.

    • reserved_hours_follow_upnumber (float)

      L03: weekly hours reserved for Nachbereitung - part of the contract hours but not plannable in the shift plan. null = none.

    • reserved_hours_travelnumber (float)

      L03: weekly hours reserved for Fahrt - part of the contract hours but not plannable in the shift plan. null = none.

    • reserved_hours_flexiblenumber (float)

      L03: weekly hours reserved for freie Einteilung - part of the contract hours but not plannable in the shift plan. null = none.

    • week_full_time_total_daysnumber (float)

      Total working days per week for a full-time contract.

    • year_vacation_daysnumber (float)

      Vacation days per year.

    • month_vacation_daysnumber (float)

      Vacation days per month.

    • year_vacation_weeksnumber (float)

      Vacation weeks per year.

    • monday_hoursnumber (float)

      Working hours on Monday.

    • tuesday_hoursnumber (float)

      Working hours on Tuesday.

    • wednesday_hoursnumber (float)

      Working hours on Wednesday.

    • thursday_hoursnumber (float)

      Working hours on Thursday.

    • friday_hoursnumber (float)

      Working hours on Friday.

    • saturday_hoursnumber (float)

      Working hours on Saturday.

    • sunday_hoursnumber (float)

      Working hours on Sunday.

    • netto_hour_costnumber (float)

      Net cost per hour.

    • brutto_hour_costnumber (float)

      Gross cost per hour.

    • startstring (date-time)

      Start date of the contract.

    • endstring (date-time)

      End date of the contract.

    • fixed_term_statusstring

      Befristung: PERMANENT (unbefristet, default), FIXED_TERM or EXTENDED (FIXED_TERM_STATUS_*).

    • fixed_term_endstring (date-time)

      Befristet bis (erster Zeitraum).

    • fixed_term_extension_endstring (date-time)

      Befristet bis nach Verlängerung.

    • probation_endstring (date-time)

      Probezeit bis; filled from the template's probationMonths when a contract is created without it.

    • numberstring

      Contract number.

    • descriptionstring

      Description of the contract.

    • archivedboolean

      The contract is archived.

    • allow_app_time_trackingboolean

      The employee may track time in the app.

    • allow_scanner_time_trackingboolean

      The employee may track time with the scanner.

    • allow_app_non_work_time_managementboolean

      The employee may manage absences in the app.

    • force_no_auto_breakboolean

      Automatic breaks are not added for this contract.

    • work_time_modestring

      How the target working time is defined - null behaves as WEEKDAY_HOURS so existing contracts keep their previous behaviour unchanged.

    • holiday_credit_modestring

      Holiday credit for WEEK_TOTAL contracts - null behaves as WEEKDAY_TARGET (previous behaviour, only meaningful for WEEKDAY_HOURS contracts).

    • holiday_credit_fixed_secondsinteger

      Fixed holiday credit in seconds.

    • planning_weekdays_bitmaskinteger

      ISO weekday bitmask (Mo=1 ... So=64) of the days this WEEK_TOTAL contract can be planned / takes vacation on - null behaves as Mo-Fr.

    • request_lead_time_daysinteger

      Days an absence request has to be handed in ahead of its first day ("Bearbeitungs- frist"). null falls back to the contract group and from there to the installation wide setting, so an existing contract keeps behaving exactly as before.

    • shift_booking_syncboolean

      L35: shifts as availabilities / appointments in the booking area; null inherits the group (which inherits the organisation).

    • search_stringstring

      Text that the entity can be searched by.

  • employment_contract_groupsarray<EmploymentContractGroup>

    Linked employment contract groups

    Show fields (25)
    • staged_absence_approvalboolean

      null inherits the organization; false explicitly disables staged approval.

    • shift_booking_syncboolean

      L35: shifts as availabilities / appointments in the booking area; null inherits the organisation, false switches it off for this group.

    • idinteger

      Primary key of the contract group. Internal ID.

    • week_total_hoursnumber (float)

      Total working hours per week.

    • week_total_daysnumber (float)

      Working days per week.

    • year_vacation_daysnumber (float)

      Vacation days per year.

    • month_vacation_daysnumber (float)

      Vacation days per month.

    • year_vacation_weeksnumber (float)

      Vacation weeks per year.

    • monday_hoursnumber (float)

      Working hours on Monday.

    • tuesday_hoursnumber (float)

      Working hours on Tuesday.

    • wednesday_hoursnumber (float)

      Working hours on Wednesday.

    • thursday_hoursnumber (float)

      Working hours on Thursday.

    • friday_hoursnumber (float)

      Working hours on Friday.

    • saturday_hoursnumber (float)

      Working hours on Saturday.

    • sunday_hoursnumber (float)

      Working hours on Sunday.

    • netto_hour_costnumber (float)

      Net cost per hour.

    • brutto_hour_costnumber (float)

      Gross cost per hour.

    • allow_app_time_trackingboolean

      Whether time tracking in the app is allowed.

    • allow_scanner_time_trackingboolean

      Whether time tracking with a scanner is allowed.

    • allow_app_non_work_time_managementboolean

      Whether non-work time can be managed in the app.

    • request_lead_time_daysinteger

      Days an absence request of this group has to be handed in ahead of its first day. null falls back to the installation wide setting - an existing group therefore behaves exactly as before.

    • school_holiday_regionSchoolHolidayRegion

      U09: the school calendar of this group when it differs from the organisation's (apprentices attending school in another Bundesland). null = the organisation's.

    • search_stringstring

      Text that the entity can be searched by.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • namestring

      Name of the entity.

  • connectionSmartLockConnection3

    Connection used to control the smart lock.

    Show fields (13)
    • idinteger

      Primary key of the smart lock connection. Internal ID.

    • providerstring

      Provider of the smart lock, for example LOQED or a bridge.

    • modestring

      Mode of the connection, for example bridge or web.

    • bridge_hoststring

      Host name of the bridge that talks to the lock.

    • bridge_portinteger

      Port of the bridge.

    • loqed_lock_idstring

      ID of the LOQED lock at the provider.

    • ha_instance_idstring

      Instance that offers its locks through this connection: the Home Assistant core uuid or the id of a Node-RED lock bridge or n8n lock trigger. The ha_* fields are shared by these providers.

    • ha_webhook_urlstring

      Webhook of the Home Assistant integration (or of a Node-RED instance in push mode) that receives the signed lock commands.

    • scan_device_idsstring

      Ids of the scanners of a scan webhook connection (Comydo: 12 hex digits each), separated by comma, space or new line. Every id becomes one smart lock when the connection is synced.

    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

  • provider_device_idstring

    ID of the device at the provider.

  • provider_device_typestring

    Type of the device at the provider.

  • namestring

    Name of the entity.

  • deletedboolean

    This property is used to mark an entity as deleted / archived

  • self_service_typestring

    Type of the self-service option.

  • arslist_self_servicearray<AccessRightStorage2>

    Access rights list that controls the self-service option.

    Show fields (12)
    • idinteger

      Primary key of the access right entry. Internal ID.

    • userUser14

      User who gets the access right. Only set for user-specific rights.

    • access_tagAccessTag

      Access tag the right applies to. Only set for rights on a tag.

    • create_mainboolean

      Create permission for main records of the access tag.

    • edit_mainboolean

      Edit permission for main records of the access tag.

    • read_mainboolean

      Read permission for main records of the access tag.

    • create_childboolean

      Create permission for child records (for example items inside a main record).

    • edit_childboolean

      Edit permission for child records (for example items inside a main record).

    • read_childboolean

      Read permission for child records (for example items inside a main record).

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

  • createdstring (date-time)

    Point in time the entity was created.

  • updatedstring (date-time)

    Point in time the entity was last updated.

Request
curl --request GET \
  --url https://your-instance.iw-erp.de/api/event/smart_lock \
  --header 'x-iw-jwt-token: <TOKEN>'
Response 200 application/json
[
  {
    "id": 42,
    "name": "Beispiel",
    "type": "string",
    "base_bookable": {
      "id": 42,
      "require_booking_title": true,
      "address_street": "Jakobistr. 39",
      "address_city": "Hannover",
      "address_zip": "30163",
      "address_country": "DE",
      "address_full_country": "DE",
      "main_phone": "+49 511 123456",
      "main_email": "lena.hartmann@example.org",
      "name": "Beispiel"
    },
    "connection": {
      "id": 42,
      "ha_webhook_url": "https://vynst.de",
      "name": "Beispiel",
      "provider": "string",
      "mode": "string",
      "bridge_host": "string",
      "bridge_port": 1,
      "loqed_lock_id": "42",
      "ha_instance_id": "42",
      "scan_device_ids": "string"
    },
    "provider_device_id": "42",
    "provider_device_type": "string",
    "deleted": true,
    "self_service_type": "string",
    "created": "2026-10-15T09:30:00+02:00"
  }
]

Creates a new smart lock entry.

POST/api/event/smart_lock

Request body application/json

  • dataSmartLock2
    Show fields (8)
    • typestring

      Type of the smart lock, for example door or gate.

    • base_bookableBaseBookable17

      Bookable the smart lock opens.

    • employment_contractsarray<EmploymentContract17>

      Linked employment contracts

    • employment_contract_groupsarray<EmploymentContractGroup8>

      Linked employment contract groups

    • connectionSmartLockConnection4

      Connection used to control the smart lock.

    • provider_device_idstring

      ID of the device at the provider.

    • provider_device_typestring

      Type of the device at the provider.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

Responses

200Add a new SmartLockSmartLock

Show fields (14)
  • idinteger

    Primary key of the smart lock. Internal ID.

  • typestring

    Type of the smart lock, for example door or gate.

  • base_bookableBaseBookable4

    Bookable the smart lock opens.

    Show fields (51)
    • ticketSeatingPlanIdinteger

      Id of the seating plan of the room, also for the public serialization.

    • idinteger

      Primary key of the bookable. Internal ID.

    • tokenstring

      Public token of the bookable. Used in links instead of the ID.

    • bookable_typestring

      Type of the bookable, for example room, court or vehicle.

    • floor_levelstring

      Floor the bookable is on.

    • floor_sizeinteger

      Floor size in square meters.

    • pets_allowedboolean

      Pets are allowed.

    • barrier_freeboolean

      The bookable is barrier-free.

    • cargo_volumeinteger

      Cargo volume in liters.

    • fuel_typestring

      Fuel type of the vehicle.

    • seating_capacityinteger

      Number of seats.

    • has_wait_listboolean

      The bookable has a waiting list once it is fully booked.

    • booking_limitinteger

      Maximum number of bookings.

    • billing_modestring

      How bookings on this bookable are billed: BILLING_MODE_UPFRONT (null = upfront, invoice at booking time) or BILLING_MODE_USAGE (free reservation, deferred billing from real usage data) Also in Default: the member app shows "Nutzung erfassen" only for usage-billed bookables.

    • max_active_bookings_per_userinteger

      Maximum number of active (future, not cancelled) self-service bookings one person may hold on this bookable at the same time. Null = unlimited. Admin bookings are not limited.

    • max_advance_booking_hoursinteger

      Maximum number of hours a self-service booking may start in the future. Null = unlimited. Admin bookings are not limited.

    • inventory_managedboolean

      Kept as inventory (Inventar-Ausleihe): the office hands the item over and takes it back, with deposit and reminders. Only used while the setting event_inventory_enabled is on.

    • inventory_depositnumber (float)

      Deposit (Kaution) per piece asked on hand-over. Null = no deposit.

    • require_addressboolean

      The address must be entered when booking.

    • require_contactboolean

      Contact details must be entered when booking.

    • require_billingboolean

      Billing details must be entered when booking.

    • require_booking_titleboolean

      A title must be entered when booking.

    • allow_direct_billingboolean
    • require_ageboolean

      The age must be entered when booking.

    • counter_update_modestring

      How the usage counters of the bookable are updated.

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

    • addressstring

      Address as text.

    • address_streetstring

      Street of the address.

    • address_house_numberstring

      House number of the address.

    • address_street_levelstring

      Street and house number of the address.

    • address_costring

      Care-of line of the address.

    • address_citystring

      City of the address.

    • address_zipstring

      Postal code of the address.

    • address_admin_level1string

      First administrative level of the address, e.g. the federal state.

    • address_countrystring

      Country code of the address.

    • address_full_countrystring

      Full name of the country of the address.

    • address_geo_latstring

      Latitude of the address.

    • address_geo_lngstring

      Longitude of the address.

    • address_external_provider_idstring

      field to store the external provider id of the address. e.g. Google Maps PlaceID like google:ChIJVcKw5r90sEcRhdjNq6NItqE

    • main_phonestring

      Main phone number.

    • main_faxstring

      Main fax number.

    • main_emailstring

      Main e-mail address.

    • websitestring

      Website address.

    • self_service_typestring

      Type of the self-service option.

    • arslist_self_servicearray<AccessRightStorage2>

      Access rights list that controls the self-service option.

    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • short_identifierstring

      Short identifier of the entity.

    • image_urlstring

      URL of the image of the entity.

    • slug_identifierstring

      Slug used in URLs of the entity.

  • employment_contractsarray<EmploymentContract16>

    Linked employment contracts

    Show fields (43)
    • staged_absence_approvalboolean

      null inherits group then organization policy; existing installations stay off.

    • idinteger

      Primary key of the employment contract. Internal ID.

    • tokenstring

      Public token of the contract. Used instead of the ID.

    • userUser14

      Login user of the employee.

    • week_total_hoursnumber (float)

      Total working hours per week.

    • week_total_daysnumber (float)

      Total working days per week.

    • reserved_hours_preparationnumber (float)

      L03: weekly hours reserved for Vorbereitung - part of the contract hours but not plannable in the shift plan. null = none.

    • reserved_hours_follow_upnumber (float)

      L03: weekly hours reserved for Nachbereitung - part of the contract hours but not plannable in the shift plan. null = none.

    • reserved_hours_travelnumber (float)

      L03: weekly hours reserved for Fahrt - part of the contract hours but not plannable in the shift plan. null = none.

    • reserved_hours_flexiblenumber (float)

      L03: weekly hours reserved for freie Einteilung - part of the contract hours but not plannable in the shift plan. null = none.

    • week_full_time_total_daysnumber (float)

      Total working days per week for a full-time contract.

    • year_vacation_daysnumber (float)

      Vacation days per year.

    • month_vacation_daysnumber (float)

      Vacation days per month.

    • year_vacation_weeksnumber (float)

      Vacation weeks per year.

    • monday_hoursnumber (float)

      Working hours on Monday.

    • tuesday_hoursnumber (float)

      Working hours on Tuesday.

    • wednesday_hoursnumber (float)

      Working hours on Wednesday.

    • thursday_hoursnumber (float)

      Working hours on Thursday.

    • friday_hoursnumber (float)

      Working hours on Friday.

    • saturday_hoursnumber (float)

      Working hours on Saturday.

    • sunday_hoursnumber (float)

      Working hours on Sunday.

    • netto_hour_costnumber (float)

      Net cost per hour.

    • brutto_hour_costnumber (float)

      Gross cost per hour.

    • startstring (date-time)

      Start date of the contract.

    • endstring (date-time)

      End date of the contract.

    • fixed_term_statusstring

      Befristung: PERMANENT (unbefristet, default), FIXED_TERM or EXTENDED (FIXED_TERM_STATUS_*).

    • fixed_term_endstring (date-time)

      Befristet bis (erster Zeitraum).

    • fixed_term_extension_endstring (date-time)

      Befristet bis nach Verlängerung.

    • probation_endstring (date-time)

      Probezeit bis; filled from the template's probationMonths when a contract is created without it.

    • numberstring

      Contract number.

    • descriptionstring

      Description of the contract.

    • archivedboolean

      The contract is archived.

    • allow_app_time_trackingboolean

      The employee may track time in the app.

    • allow_scanner_time_trackingboolean

      The employee may track time with the scanner.

    • allow_app_non_work_time_managementboolean

      The employee may manage absences in the app.

    • force_no_auto_breakboolean

      Automatic breaks are not added for this contract.

    • work_time_modestring

      How the target working time is defined - null behaves as WEEKDAY_HOURS so existing contracts keep their previous behaviour unchanged.

    • holiday_credit_modestring

      Holiday credit for WEEK_TOTAL contracts - null behaves as WEEKDAY_TARGET (previous behaviour, only meaningful for WEEKDAY_HOURS contracts).

    • holiday_credit_fixed_secondsinteger

      Fixed holiday credit in seconds.

    • planning_weekdays_bitmaskinteger

      ISO weekday bitmask (Mo=1 ... So=64) of the days this WEEK_TOTAL contract can be planned / takes vacation on - null behaves as Mo-Fr.

    • request_lead_time_daysinteger

      Days an absence request has to be handed in ahead of its first day ("Bearbeitungs- frist"). null falls back to the contract group and from there to the installation wide setting, so an existing contract keeps behaving exactly as before.

    • shift_booking_syncboolean

      L35: shifts as availabilities / appointments in the booking area; null inherits the group (which inherits the organisation).

    • search_stringstring

      Text that the entity can be searched by.

  • employment_contract_groupsarray<EmploymentContractGroup>

    Linked employment contract groups

    Show fields (25)
    • staged_absence_approvalboolean

      null inherits the organization; false explicitly disables staged approval.

    • shift_booking_syncboolean

      L35: shifts as availabilities / appointments in the booking area; null inherits the organisation, false switches it off for this group.

    • idinteger

      Primary key of the contract group. Internal ID.

    • week_total_hoursnumber (float)

      Total working hours per week.

    • week_total_daysnumber (float)

      Working days per week.

    • year_vacation_daysnumber (float)

      Vacation days per year.

    • month_vacation_daysnumber (float)

      Vacation days per month.

    • year_vacation_weeksnumber (float)

      Vacation weeks per year.

    • monday_hoursnumber (float)

      Working hours on Monday.

    • tuesday_hoursnumber (float)

      Working hours on Tuesday.

    • wednesday_hoursnumber (float)

      Working hours on Wednesday.

    • thursday_hoursnumber (float)

      Working hours on Thursday.

    • friday_hoursnumber (float)

      Working hours on Friday.

    • saturday_hoursnumber (float)

      Working hours on Saturday.

    • sunday_hoursnumber (float)

      Working hours on Sunday.

    • netto_hour_costnumber (float)

      Net cost per hour.

    • brutto_hour_costnumber (float)

      Gross cost per hour.

    • allow_app_time_trackingboolean

      Whether time tracking in the app is allowed.

    • allow_scanner_time_trackingboolean

      Whether time tracking with a scanner is allowed.

    • allow_app_non_work_time_managementboolean

      Whether non-work time can be managed in the app.

    • request_lead_time_daysinteger

      Days an absence request of this group has to be handed in ahead of its first day. null falls back to the installation wide setting - an existing group therefore behaves exactly as before.

    • school_holiday_regionSchoolHolidayRegion

      U09: the school calendar of this group when it differs from the organisation's (apprentices attending school in another Bundesland). null = the organisation's.

    • search_stringstring

      Text that the entity can be searched by.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • namestring

      Name of the entity.

  • connectionSmartLockConnection3

    Connection used to control the smart lock.

    Show fields (13)
    • idinteger

      Primary key of the smart lock connection. Internal ID.

    • providerstring

      Provider of the smart lock, for example LOQED or a bridge.

    • modestring

      Mode of the connection, for example bridge or web.

    • bridge_hoststring

      Host name of the bridge that talks to the lock.

    • bridge_portinteger

      Port of the bridge.

    • loqed_lock_idstring

      ID of the LOQED lock at the provider.

    • ha_instance_idstring

      Instance that offers its locks through this connection: the Home Assistant core uuid or the id of a Node-RED lock bridge or n8n lock trigger. The ha_* fields are shared by these providers.

    • ha_webhook_urlstring

      Webhook of the Home Assistant integration (or of a Node-RED instance in push mode) that receives the signed lock commands.

    • scan_device_idsstring

      Ids of the scanners of a scan webhook connection (Comydo: 12 hex digits each), separated by comma, space or new line. Every id becomes one smart lock when the connection is synced.

    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

  • provider_device_idstring

    ID of the device at the provider.

  • provider_device_typestring

    Type of the device at the provider.

  • namestring

    Name of the entity.

  • deletedboolean

    This property is used to mark an entity as deleted / archived

  • self_service_typestring

    Type of the self-service option.

  • arslist_self_servicearray<AccessRightStorage2>

    Access rights list that controls the self-service option.

    Show fields (12)
    • idinteger

      Primary key of the access right entry. Internal ID.

    • userUser14

      User who gets the access right. Only set for user-specific rights.

    • access_tagAccessTag

      Access tag the right applies to. Only set for rights on a tag.

    • create_mainboolean

      Create permission for main records of the access tag.

    • edit_mainboolean

      Edit permission for main records of the access tag.

    • read_mainboolean

      Read permission for main records of the access tag.

    • create_childboolean

      Create permission for child records (for example items inside a main record).

    • edit_childboolean

      Edit permission for child records (for example items inside a main record).

    • read_childboolean

      Read permission for child records (for example items inside a main record).

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

  • createdstring (date-time)

    Point in time the entity was created.

  • updatedstring (date-time)

    Point in time the entity was last updated.

Request
curl --request POST \
  --url https://your-instance.iw-erp.de/api/event/smart_lock \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "data": {
    "type": "string",
    "base_bookable": {
      "address_street": "Jakobistr. 39",
      "address_city": "Hannover",
      "address_zip": "30163",
      "address_country": "DE",
      "address_full_country": "DE",
      "main_phone": "+49 511 123456"
    },
    "connection": {
      "deleted": true
    },
    "provider_device_id": "42",
    "provider_device_type": "string",
    "deleted": true
  }
}
'
Response 200 application/json
{
  "id": 42,
  "name": "Beispiel",
  "type": "string",
  "base_bookable": {
    "id": 42,
    "require_booking_title": true,
    "address_street": "Jakobistr. 39",
    "address_city": "Hannover",
    "address_zip": "30163",
    "address_country": "DE",
    "address_full_country": "DE",
    "main_phone": "+49 511 123456",
    "main_email": "lena.hartmann@example.org",
    "name": "Beispiel"
  },
  "employment_contracts": [
    {
      "id": 42,
      "description": "Text",
      "staged_absence_approval": true,
      "token": "string",
      "week_total_hours": 1.5,
      "week_total_days": 1.5,
      "reserved_hours_preparation": 1.5,
      "reserved_hours_follow_up": 1.5,
      "reserved_hours_travel": 1.5,
      "reserved_hours_flexible": 1.5
    }
  ],
  "employment_contract_groups": [
    {
      "id": 42,
      "name": "Beispiel",
      "staged_absence_approval": true,
      "shift_booking_sync": true,
      "week_total_hours": 1.5,
      "week_total_days": 1.5,
      "year_vacation_days": 1.5,
      "month_vacation_days": 1.5,
      "year_vacation_weeks": 1.5,
      "monday_hours": 1.5
    }
  ],
  "connection": {
    "id": 42,
    "ha_webhook_url": "https://vynst.de",
    "name": "Beispiel",
    "provider": "string",
    "mode": "string",
    "bridge_host": "string",
    "bridge_port": 1,
    "loqed_lock_id": "42",
    "ha_instance_id": "42",
    "scan_device_ids": "string"
  },
  "provider_device_id": "42",
  "provider_device_type": "string",
  "deleted": true
}

GET /api/event/smart_lock/my_accessible

GET/api/event/smart_lock/my_accessible

Responses

200Returns SmartLocks accessible for the current userarray<object>

Show fields (5)
  • idinteger
  • namestring
  • descriptionstring
  • typestring

    nuki, loqed, homeassistant, comydo or qrlock

  • unlock_methodstring

    remote: unlock opens the door, qr_code: ask for an access code and show it as QR code

Request
curl --request GET \
  --url https://your-instance.iw-erp.de/api/event/smart_lock/my_accessible \
  --header 'x-iw-jwt-token: <TOKEN>'
Response 200 application/json
[
  {
    "id": 42,
    "name": "Beispiel",
    "description": "Text",
    "type": "string",
    "unlock_method": "string"
  }
]

Returns a single smart lock entry.

GET/api/event/smart_lock/{identifier}

Path parameters

identifierrequiredstring

Responses

200Returns a single SmartLockSmartLock

Show fields (14)
  • idinteger

    Primary key of the smart lock. Internal ID.

  • typestring

    Type of the smart lock, for example door or gate.

  • base_bookableBaseBookable4

    Bookable the smart lock opens.

    Show fields (51)
    • ticketSeatingPlanIdinteger

      Id of the seating plan of the room, also for the public serialization.

    • idinteger

      Primary key of the bookable. Internal ID.

    • tokenstring

      Public token of the bookable. Used in links instead of the ID.

    • bookable_typestring

      Type of the bookable, for example room, court or vehicle.

    • floor_levelstring

      Floor the bookable is on.

    • floor_sizeinteger

      Floor size in square meters.

    • pets_allowedboolean

      Pets are allowed.

    • barrier_freeboolean

      The bookable is barrier-free.

    • cargo_volumeinteger

      Cargo volume in liters.

    • fuel_typestring

      Fuel type of the vehicle.

    • seating_capacityinteger

      Number of seats.

    • has_wait_listboolean

      The bookable has a waiting list once it is fully booked.

    • booking_limitinteger

      Maximum number of bookings.

    • billing_modestring

      How bookings on this bookable are billed: BILLING_MODE_UPFRONT (null = upfront, invoice at booking time) or BILLING_MODE_USAGE (free reservation, deferred billing from real usage data) Also in Default: the member app shows "Nutzung erfassen" only for usage-billed bookables.

    • max_active_bookings_per_userinteger

      Maximum number of active (future, not cancelled) self-service bookings one person may hold on this bookable at the same time. Null = unlimited. Admin bookings are not limited.

    • max_advance_booking_hoursinteger

      Maximum number of hours a self-service booking may start in the future. Null = unlimited. Admin bookings are not limited.

    • inventory_managedboolean

      Kept as inventory (Inventar-Ausleihe): the office hands the item over and takes it back, with deposit and reminders. Only used while the setting event_inventory_enabled is on.

    • inventory_depositnumber (float)

      Deposit (Kaution) per piece asked on hand-over. Null = no deposit.

    • require_addressboolean

      The address must be entered when booking.

    • require_contactboolean

      Contact details must be entered when booking.

    • require_billingboolean

      Billing details must be entered when booking.

    • require_booking_titleboolean

      A title must be entered when booking.

    • allow_direct_billingboolean
    • require_ageboolean

      The age must be entered when booking.

    • counter_update_modestring

      How the usage counters of the bookable are updated.

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

    • addressstring

      Address as text.

    • address_streetstring

      Street of the address.

    • address_house_numberstring

      House number of the address.

    • address_street_levelstring

      Street and house number of the address.

    • address_costring

      Care-of line of the address.

    • address_citystring

      City of the address.

    • address_zipstring

      Postal code of the address.

    • address_admin_level1string

      First administrative level of the address, e.g. the federal state.

    • address_countrystring

      Country code of the address.

    • address_full_countrystring

      Full name of the country of the address.

    • address_geo_latstring

      Latitude of the address.

    • address_geo_lngstring

      Longitude of the address.

    • address_external_provider_idstring

      field to store the external provider id of the address. e.g. Google Maps PlaceID like google:ChIJVcKw5r90sEcRhdjNq6NItqE

    • main_phonestring

      Main phone number.

    • main_faxstring

      Main fax number.

    • main_emailstring

      Main e-mail address.

    • websitestring

      Website address.

    • self_service_typestring

      Type of the self-service option.

    • arslist_self_servicearray<AccessRightStorage2>

      Access rights list that controls the self-service option.

    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • short_identifierstring

      Short identifier of the entity.

    • image_urlstring

      URL of the image of the entity.

    • slug_identifierstring

      Slug used in URLs of the entity.

  • employment_contractsarray<EmploymentContract16>

    Linked employment contracts

    Show fields (43)
    • staged_absence_approvalboolean

      null inherits group then organization policy; existing installations stay off.

    • idinteger

      Primary key of the employment contract. Internal ID.

    • tokenstring

      Public token of the contract. Used instead of the ID.

    • userUser14

      Login user of the employee.

    • week_total_hoursnumber (float)

      Total working hours per week.

    • week_total_daysnumber (float)

      Total working days per week.

    • reserved_hours_preparationnumber (float)

      L03: weekly hours reserved for Vorbereitung - part of the contract hours but not plannable in the shift plan. null = none.

    • reserved_hours_follow_upnumber (float)

      L03: weekly hours reserved for Nachbereitung - part of the contract hours but not plannable in the shift plan. null = none.

    • reserved_hours_travelnumber (float)

      L03: weekly hours reserved for Fahrt - part of the contract hours but not plannable in the shift plan. null = none.

    • reserved_hours_flexiblenumber (float)

      L03: weekly hours reserved for freie Einteilung - part of the contract hours but not plannable in the shift plan. null = none.

    • week_full_time_total_daysnumber (float)

      Total working days per week for a full-time contract.

    • year_vacation_daysnumber (float)

      Vacation days per year.

    • month_vacation_daysnumber (float)

      Vacation days per month.

    • year_vacation_weeksnumber (float)

      Vacation weeks per year.

    • monday_hoursnumber (float)

      Working hours on Monday.

    • tuesday_hoursnumber (float)

      Working hours on Tuesday.

    • wednesday_hoursnumber (float)

      Working hours on Wednesday.

    • thursday_hoursnumber (float)

      Working hours on Thursday.

    • friday_hoursnumber (float)

      Working hours on Friday.

    • saturday_hoursnumber (float)

      Working hours on Saturday.

    • sunday_hoursnumber (float)

      Working hours on Sunday.

    • netto_hour_costnumber (float)

      Net cost per hour.

    • brutto_hour_costnumber (float)

      Gross cost per hour.

    • startstring (date-time)

      Start date of the contract.

    • endstring (date-time)

      End date of the contract.

    • fixed_term_statusstring

      Befristung: PERMANENT (unbefristet, default), FIXED_TERM or EXTENDED (FIXED_TERM_STATUS_*).

    • fixed_term_endstring (date-time)

      Befristet bis (erster Zeitraum).

    • fixed_term_extension_endstring (date-time)

      Befristet bis nach Verlängerung.

    • probation_endstring (date-time)

      Probezeit bis; filled from the template's probationMonths when a contract is created without it.

    • numberstring

      Contract number.

    • descriptionstring

      Description of the contract.

    • archivedboolean

      The contract is archived.

    • allow_app_time_trackingboolean

      The employee may track time in the app.

    • allow_scanner_time_trackingboolean

      The employee may track time with the scanner.

    • allow_app_non_work_time_managementboolean

      The employee may manage absences in the app.

    • force_no_auto_breakboolean

      Automatic breaks are not added for this contract.

    • work_time_modestring

      How the target working time is defined - null behaves as WEEKDAY_HOURS so existing contracts keep their previous behaviour unchanged.

    • holiday_credit_modestring

      Holiday credit for WEEK_TOTAL contracts - null behaves as WEEKDAY_TARGET (previous behaviour, only meaningful for WEEKDAY_HOURS contracts).

    • holiday_credit_fixed_secondsinteger

      Fixed holiday credit in seconds.

    • planning_weekdays_bitmaskinteger

      ISO weekday bitmask (Mo=1 ... So=64) of the days this WEEK_TOTAL contract can be planned / takes vacation on - null behaves as Mo-Fr.

    • request_lead_time_daysinteger

      Days an absence request has to be handed in ahead of its first day ("Bearbeitungs- frist"). null falls back to the contract group and from there to the installation wide setting, so an existing contract keeps behaving exactly as before.

    • shift_booking_syncboolean

      L35: shifts as availabilities / appointments in the booking area; null inherits the group (which inherits the organisation).

    • search_stringstring

      Text that the entity can be searched by.

  • employment_contract_groupsarray<EmploymentContractGroup>

    Linked employment contract groups

    Show fields (25)
    • staged_absence_approvalboolean

      null inherits the organization; false explicitly disables staged approval.

    • shift_booking_syncboolean

      L35: shifts as availabilities / appointments in the booking area; null inherits the organisation, false switches it off for this group.

    • idinteger

      Primary key of the contract group. Internal ID.

    • week_total_hoursnumber (float)

      Total working hours per week.

    • week_total_daysnumber (float)

      Working days per week.

    • year_vacation_daysnumber (float)

      Vacation days per year.

    • month_vacation_daysnumber (float)

      Vacation days per month.

    • year_vacation_weeksnumber (float)

      Vacation weeks per year.

    • monday_hoursnumber (float)

      Working hours on Monday.

    • tuesday_hoursnumber (float)

      Working hours on Tuesday.

    • wednesday_hoursnumber (float)

      Working hours on Wednesday.

    • thursday_hoursnumber (float)

      Working hours on Thursday.

    • friday_hoursnumber (float)

      Working hours on Friday.

    • saturday_hoursnumber (float)

      Working hours on Saturday.

    • sunday_hoursnumber (float)

      Working hours on Sunday.

    • netto_hour_costnumber (float)

      Net cost per hour.

    • brutto_hour_costnumber (float)

      Gross cost per hour.

    • allow_app_time_trackingboolean

      Whether time tracking in the app is allowed.

    • allow_scanner_time_trackingboolean

      Whether time tracking with a scanner is allowed.

    • allow_app_non_work_time_managementboolean

      Whether non-work time can be managed in the app.

    • request_lead_time_daysinteger

      Days an absence request of this group has to be handed in ahead of its first day. null falls back to the installation wide setting - an existing group therefore behaves exactly as before.

    • school_holiday_regionSchoolHolidayRegion

      U09: the school calendar of this group when it differs from the organisation's (apprentices attending school in another Bundesland). null = the organisation's.

    • search_stringstring

      Text that the entity can be searched by.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • namestring

      Name of the entity.

  • connectionSmartLockConnection3

    Connection used to control the smart lock.

    Show fields (13)
    • idinteger

      Primary key of the smart lock connection. Internal ID.

    • providerstring

      Provider of the smart lock, for example LOQED or a bridge.

    • modestring

      Mode of the connection, for example bridge or web.

    • bridge_hoststring

      Host name of the bridge that talks to the lock.

    • bridge_portinteger

      Port of the bridge.

    • loqed_lock_idstring

      ID of the LOQED lock at the provider.

    • ha_instance_idstring

      Instance that offers its locks through this connection: the Home Assistant core uuid or the id of a Node-RED lock bridge or n8n lock trigger. The ha_* fields are shared by these providers.

    • ha_webhook_urlstring

      Webhook of the Home Assistant integration (or of a Node-RED instance in push mode) that receives the signed lock commands.

    • scan_device_idsstring

      Ids of the scanners of a scan webhook connection (Comydo: 12 hex digits each), separated by comma, space or new line. Every id becomes one smart lock when the connection is synced.

    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

  • provider_device_idstring

    ID of the device at the provider.

  • provider_device_typestring

    Type of the device at the provider.

  • namestring

    Name of the entity.

  • deletedboolean

    This property is used to mark an entity as deleted / archived

  • self_service_typestring

    Type of the self-service option.

  • arslist_self_servicearray<AccessRightStorage2>

    Access rights list that controls the self-service option.

    Show fields (12)
    • idinteger

      Primary key of the access right entry. Internal ID.

    • userUser14

      User who gets the access right. Only set for user-specific rights.

    • access_tagAccessTag

      Access tag the right applies to. Only set for rights on a tag.

    • create_mainboolean

      Create permission for main records of the access tag.

    • edit_mainboolean

      Edit permission for main records of the access tag.

    • read_mainboolean

      Read permission for main records of the access tag.

    • create_childboolean

      Create permission for child records (for example items inside a main record).

    • edit_childboolean

      Edit permission for child records (for example items inside a main record).

    • read_childboolean

      Read permission for child records (for example items inside a main record).

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

  • createdstring (date-time)

    Point in time the entity was created.

  • updatedstring (date-time)

    Point in time the entity was last updated.

Request
curl --request GET \
  --url https://your-instance.iw-erp.de/api/event/smart_lock/42 \
  --header 'x-iw-jwt-token: <TOKEN>'
Response 200 application/json
{
  "id": 42,
  "name": "Beispiel",
  "type": "string",
  "base_bookable": {
    "id": 42,
    "require_booking_title": true,
    "address_street": "Jakobistr. 39",
    "address_city": "Hannover",
    "address_zip": "30163",
    "address_country": "DE",
    "address_full_country": "DE",
    "main_phone": "+49 511 123456",
    "main_email": "lena.hartmann@example.org",
    "name": "Beispiel"
  },
  "employment_contracts": [
    {
      "id": 42,
      "description": "Text",
      "staged_absence_approval": true,
      "token": "string",
      "week_total_hours": 1.5,
      "week_total_days": 1.5,
      "reserved_hours_preparation": 1.5,
      "reserved_hours_follow_up": 1.5,
      "reserved_hours_travel": 1.5,
      "reserved_hours_flexible": 1.5
    }
  ],
  "employment_contract_groups": [
    {
      "id": 42,
      "name": "Beispiel",
      "staged_absence_approval": true,
      "shift_booking_sync": true,
      "week_total_hours": 1.5,
      "week_total_days": 1.5,
      "year_vacation_days": 1.5,
      "month_vacation_days": 1.5,
      "year_vacation_weeks": 1.5,
      "monday_hours": 1.5
    }
  ],
  "connection": {
    "id": 42,
    "ha_webhook_url": "https://vynst.de",
    "name": "Beispiel",
    "provider": "string",
    "mode": "string",
    "bridge_host": "string",
    "bridge_port": 1,
    "loqed_lock_id": "42",
    "ha_instance_id": "42",
    "scan_device_ids": "string"
  },
  "provider_device_id": "42",
  "provider_device_type": "string",
  "deleted": true
}

Updates an existing smart lock entry.

PUT/api/event/smart_lock/{identifier}

Path parameters

identifierrequiredstring

Request body application/json

  • dataSmartLock2
    Show fields (8)
    • typestring

      Type of the smart lock, for example door or gate.

    • base_bookableBaseBookable17

      Bookable the smart lock opens.

    • employment_contractsarray<EmploymentContract17>

      Linked employment contracts

    • employment_contract_groupsarray<EmploymentContractGroup8>

      Linked employment contract groups

    • connectionSmartLockConnection4

      Connection used to control the smart lock.

    • provider_device_idstring

      ID of the device at the provider.

    • provider_device_typestring

      Type of the device at the provider.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

Responses

200Update a SmartLockSmartLock

Show fields (14)
  • idinteger

    Primary key of the smart lock. Internal ID.

  • typestring

    Type of the smart lock, for example door or gate.

  • base_bookableBaseBookable4

    Bookable the smart lock opens.

    Show fields (51)
    • ticketSeatingPlanIdinteger

      Id of the seating plan of the room, also for the public serialization.

    • idinteger

      Primary key of the bookable. Internal ID.

    • tokenstring

      Public token of the bookable. Used in links instead of the ID.

    • bookable_typestring

      Type of the bookable, for example room, court or vehicle.

    • floor_levelstring

      Floor the bookable is on.

    • floor_sizeinteger

      Floor size in square meters.

    • pets_allowedboolean

      Pets are allowed.

    • barrier_freeboolean

      The bookable is barrier-free.

    • cargo_volumeinteger

      Cargo volume in liters.

    • fuel_typestring

      Fuel type of the vehicle.

    • seating_capacityinteger

      Number of seats.

    • has_wait_listboolean

      The bookable has a waiting list once it is fully booked.

    • booking_limitinteger

      Maximum number of bookings.

    • billing_modestring

      How bookings on this bookable are billed: BILLING_MODE_UPFRONT (null = upfront, invoice at booking time) or BILLING_MODE_USAGE (free reservation, deferred billing from real usage data) Also in Default: the member app shows "Nutzung erfassen" only for usage-billed bookables.

    • max_active_bookings_per_userinteger

      Maximum number of active (future, not cancelled) self-service bookings one person may hold on this bookable at the same time. Null = unlimited. Admin bookings are not limited.

    • max_advance_booking_hoursinteger

      Maximum number of hours a self-service booking may start in the future. Null = unlimited. Admin bookings are not limited.

    • inventory_managedboolean

      Kept as inventory (Inventar-Ausleihe): the office hands the item over and takes it back, with deposit and reminders. Only used while the setting event_inventory_enabled is on.

    • inventory_depositnumber (float)

      Deposit (Kaution) per piece asked on hand-over. Null = no deposit.

    • require_addressboolean

      The address must be entered when booking.

    • require_contactboolean

      Contact details must be entered when booking.

    • require_billingboolean

      Billing details must be entered when booking.

    • require_booking_titleboolean

      A title must be entered when booking.

    • allow_direct_billingboolean
    • require_ageboolean

      The age must be entered when booking.

    • counter_update_modestring

      How the usage counters of the bookable are updated.

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

    • addressstring

      Address as text.

    • address_streetstring

      Street of the address.

    • address_house_numberstring

      House number of the address.

    • address_street_levelstring

      Street and house number of the address.

    • address_costring

      Care-of line of the address.

    • address_citystring

      City of the address.

    • address_zipstring

      Postal code of the address.

    • address_admin_level1string

      First administrative level of the address, e.g. the federal state.

    • address_countrystring

      Country code of the address.

    • address_full_countrystring

      Full name of the country of the address.

    • address_geo_latstring

      Latitude of the address.

    • address_geo_lngstring

      Longitude of the address.

    • address_external_provider_idstring

      field to store the external provider id of the address. e.g. Google Maps PlaceID like google:ChIJVcKw5r90sEcRhdjNq6NItqE

    • main_phonestring

      Main phone number.

    • main_faxstring

      Main fax number.

    • main_emailstring

      Main e-mail address.

    • websitestring

      Website address.

    • self_service_typestring

      Type of the self-service option.

    • arslist_self_servicearray<AccessRightStorage2>

      Access rights list that controls the self-service option.

    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • short_identifierstring

      Short identifier of the entity.

    • image_urlstring

      URL of the image of the entity.

    • slug_identifierstring

      Slug used in URLs of the entity.

  • employment_contractsarray<EmploymentContract16>

    Linked employment contracts

    Show fields (43)
    • staged_absence_approvalboolean

      null inherits group then organization policy; existing installations stay off.

    • idinteger

      Primary key of the employment contract. Internal ID.

    • tokenstring

      Public token of the contract. Used instead of the ID.

    • userUser14

      Login user of the employee.

    • week_total_hoursnumber (float)

      Total working hours per week.

    • week_total_daysnumber (float)

      Total working days per week.

    • reserved_hours_preparationnumber (float)

      L03: weekly hours reserved for Vorbereitung - part of the contract hours but not plannable in the shift plan. null = none.

    • reserved_hours_follow_upnumber (float)

      L03: weekly hours reserved for Nachbereitung - part of the contract hours but not plannable in the shift plan. null = none.

    • reserved_hours_travelnumber (float)

      L03: weekly hours reserved for Fahrt - part of the contract hours but not plannable in the shift plan. null = none.

    • reserved_hours_flexiblenumber (float)

      L03: weekly hours reserved for freie Einteilung - part of the contract hours but not plannable in the shift plan. null = none.

    • week_full_time_total_daysnumber (float)

      Total working days per week for a full-time contract.

    • year_vacation_daysnumber (float)

      Vacation days per year.

    • month_vacation_daysnumber (float)

      Vacation days per month.

    • year_vacation_weeksnumber (float)

      Vacation weeks per year.

    • monday_hoursnumber (float)

      Working hours on Monday.

    • tuesday_hoursnumber (float)

      Working hours on Tuesday.

    • wednesday_hoursnumber (float)

      Working hours on Wednesday.

    • thursday_hoursnumber (float)

      Working hours on Thursday.

    • friday_hoursnumber (float)

      Working hours on Friday.

    • saturday_hoursnumber (float)

      Working hours on Saturday.

    • sunday_hoursnumber (float)

      Working hours on Sunday.

    • netto_hour_costnumber (float)

      Net cost per hour.

    • brutto_hour_costnumber (float)

      Gross cost per hour.

    • startstring (date-time)

      Start date of the contract.

    • endstring (date-time)

      End date of the contract.

    • fixed_term_statusstring

      Befristung: PERMANENT (unbefristet, default), FIXED_TERM or EXTENDED (FIXED_TERM_STATUS_*).

    • fixed_term_endstring (date-time)

      Befristet bis (erster Zeitraum).

    • fixed_term_extension_endstring (date-time)

      Befristet bis nach Verlängerung.

    • probation_endstring (date-time)

      Probezeit bis; filled from the template's probationMonths when a contract is created without it.

    • numberstring

      Contract number.

    • descriptionstring

      Description of the contract.

    • archivedboolean

      The contract is archived.

    • allow_app_time_trackingboolean

      The employee may track time in the app.

    • allow_scanner_time_trackingboolean

      The employee may track time with the scanner.

    • allow_app_non_work_time_managementboolean

      The employee may manage absences in the app.

    • force_no_auto_breakboolean

      Automatic breaks are not added for this contract.

    • work_time_modestring

      How the target working time is defined - null behaves as WEEKDAY_HOURS so existing contracts keep their previous behaviour unchanged.

    • holiday_credit_modestring

      Holiday credit for WEEK_TOTAL contracts - null behaves as WEEKDAY_TARGET (previous behaviour, only meaningful for WEEKDAY_HOURS contracts).

    • holiday_credit_fixed_secondsinteger

      Fixed holiday credit in seconds.

    • planning_weekdays_bitmaskinteger

      ISO weekday bitmask (Mo=1 ... So=64) of the days this WEEK_TOTAL contract can be planned / takes vacation on - null behaves as Mo-Fr.

    • request_lead_time_daysinteger

      Days an absence request has to be handed in ahead of its first day ("Bearbeitungs- frist"). null falls back to the contract group and from there to the installation wide setting, so an existing contract keeps behaving exactly as before.

    • shift_booking_syncboolean

      L35: shifts as availabilities / appointments in the booking area; null inherits the group (which inherits the organisation).

    • search_stringstring

      Text that the entity can be searched by.

  • employment_contract_groupsarray<EmploymentContractGroup>

    Linked employment contract groups

    Show fields (25)
    • staged_absence_approvalboolean

      null inherits the organization; false explicitly disables staged approval.

    • shift_booking_syncboolean

      L35: shifts as availabilities / appointments in the booking area; null inherits the organisation, false switches it off for this group.

    • idinteger

      Primary key of the contract group. Internal ID.

    • week_total_hoursnumber (float)

      Total working hours per week.

    • week_total_daysnumber (float)

      Working days per week.

    • year_vacation_daysnumber (float)

      Vacation days per year.

    • month_vacation_daysnumber (float)

      Vacation days per month.

    • year_vacation_weeksnumber (float)

      Vacation weeks per year.

    • monday_hoursnumber (float)

      Working hours on Monday.

    • tuesday_hoursnumber (float)

      Working hours on Tuesday.

    • wednesday_hoursnumber (float)

      Working hours on Wednesday.

    • thursday_hoursnumber (float)

      Working hours on Thursday.

    • friday_hoursnumber (float)

      Working hours on Friday.

    • saturday_hoursnumber (float)

      Working hours on Saturday.

    • sunday_hoursnumber (float)

      Working hours on Sunday.

    • netto_hour_costnumber (float)

      Net cost per hour.

    • brutto_hour_costnumber (float)

      Gross cost per hour.

    • allow_app_time_trackingboolean

      Whether time tracking in the app is allowed.

    • allow_scanner_time_trackingboolean

      Whether time tracking with a scanner is allowed.

    • allow_app_non_work_time_managementboolean

      Whether non-work time can be managed in the app.

    • request_lead_time_daysinteger

      Days an absence request of this group has to be handed in ahead of its first day. null falls back to the installation wide setting - an existing group therefore behaves exactly as before.

    • school_holiday_regionSchoolHolidayRegion

      U09: the school calendar of this group when it differs from the organisation's (apprentices attending school in another Bundesland). null = the organisation's.

    • search_stringstring

      Text that the entity can be searched by.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • namestring

      Name of the entity.

  • connectionSmartLockConnection3

    Connection used to control the smart lock.

    Show fields (13)
    • idinteger

      Primary key of the smart lock connection. Internal ID.

    • providerstring

      Provider of the smart lock, for example LOQED or a bridge.

    • modestring

      Mode of the connection, for example bridge or web.

    • bridge_hoststring

      Host name of the bridge that talks to the lock.

    • bridge_portinteger

      Port of the bridge.

    • loqed_lock_idstring

      ID of the LOQED lock at the provider.

    • ha_instance_idstring

      Instance that offers its locks through this connection: the Home Assistant core uuid or the id of a Node-RED lock bridge or n8n lock trigger. The ha_* fields are shared by these providers.

    • ha_webhook_urlstring

      Webhook of the Home Assistant integration (or of a Node-RED instance in push mode) that receives the signed lock commands.

    • scan_device_idsstring

      Ids of the scanners of a scan webhook connection (Comydo: 12 hex digits each), separated by comma, space or new line. Every id becomes one smart lock when the connection is synced.

    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

  • provider_device_idstring

    ID of the device at the provider.

  • provider_device_typestring

    Type of the device at the provider.

  • namestring

    Name of the entity.

  • deletedboolean

    This property is used to mark an entity as deleted / archived

  • self_service_typestring

    Type of the self-service option.

  • arslist_self_servicearray<AccessRightStorage2>

    Access rights list that controls the self-service option.

    Show fields (12)
    • idinteger

      Primary key of the access right entry. Internal ID.

    • userUser14

      User who gets the access right. Only set for user-specific rights.

    • access_tagAccessTag

      Access tag the right applies to. Only set for rights on a tag.

    • create_mainboolean

      Create permission for main records of the access tag.

    • edit_mainboolean

      Edit permission for main records of the access tag.

    • read_mainboolean

      Read permission for main records of the access tag.

    • create_childboolean

      Create permission for child records (for example items inside a main record).

    • edit_childboolean

      Edit permission for child records (for example items inside a main record).

    • read_childboolean

      Read permission for child records (for example items inside a main record).

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

  • createdstring (date-time)

    Point in time the entity was created.

  • updatedstring (date-time)

    Point in time the entity was last updated.

Request
curl --request PUT \
  --url https://your-instance.iw-erp.de/api/event/smart_lock/42 \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "data": {
    "type": "string",
    "base_bookable": {
      "address_street": "Jakobistr. 39",
      "address_city": "Hannover",
      "address_zip": "30163",
      "address_country": "DE",
      "address_full_country": "DE",
      "main_phone": "+49 511 123456"
    },
    "connection": {
      "deleted": true
    },
    "provider_device_id": "42",
    "provider_device_type": "string",
    "deleted": true
  }
}
'
Response 200 application/json
{
  "id": 42,
  "name": "Beispiel",
  "type": "string",
  "base_bookable": {
    "id": 42,
    "require_booking_title": true,
    "address_street": "Jakobistr. 39",
    "address_city": "Hannover",
    "address_zip": "30163",
    "address_country": "DE",
    "address_full_country": "DE",
    "main_phone": "+49 511 123456",
    "main_email": "lena.hartmann@example.org",
    "name": "Beispiel"
  },
  "employment_contracts": [
    {
      "id": 42,
      "description": "Text",
      "staged_absence_approval": true,
      "token": "string",
      "week_total_hours": 1.5,
      "week_total_days": 1.5,
      "reserved_hours_preparation": 1.5,
      "reserved_hours_follow_up": 1.5,
      "reserved_hours_travel": 1.5,
      "reserved_hours_flexible": 1.5
    }
  ],
  "employment_contract_groups": [
    {
      "id": 42,
      "name": "Beispiel",
      "staged_absence_approval": true,
      "shift_booking_sync": true,
      "week_total_hours": 1.5,
      "week_total_days": 1.5,
      "year_vacation_days": 1.5,
      "month_vacation_days": 1.5,
      "year_vacation_weeks": 1.5,
      "monday_hours": 1.5
    }
  ],
  "connection": {
    "id": 42,
    "ha_webhook_url": "https://vynst.de",
    "name": "Beispiel",
    "provider": "string",
    "mode": "string",
    "bridge_host": "string",
    "bridge_port": 1,
    "loqed_lock_id": "42",
    "ha_instance_id": "42",
    "scan_device_ids": "string"
  },
  "provider_device_id": "42",
  "provider_device_type": "string",
  "deleted": true
}

Updates an existing smart lock entry.

PATCH/api/event/smart_lock/{identifier}

Path parameters

identifierrequiredstring

Request body application/json

  • dataSmartLock2
    Show fields (8)
    • typestring

      Type of the smart lock, for example door or gate.

    • base_bookableBaseBookable17

      Bookable the smart lock opens.

    • employment_contractsarray<EmploymentContract17>

      Linked employment contracts

    • employment_contract_groupsarray<EmploymentContractGroup8>

      Linked employment contract groups

    • connectionSmartLockConnection4

      Connection used to control the smart lock.

    • provider_device_idstring

      ID of the device at the provider.

    • provider_device_typestring

      Type of the device at the provider.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

Responses

200Update a SmartLockSmartLock

Show fields (14)
  • idinteger

    Primary key of the smart lock. Internal ID.

  • typestring

    Type of the smart lock, for example door or gate.

  • base_bookableBaseBookable4

    Bookable the smart lock opens.

    Show fields (51)
    • ticketSeatingPlanIdinteger

      Id of the seating plan of the room, also for the public serialization.

    • idinteger

      Primary key of the bookable. Internal ID.

    • tokenstring

      Public token of the bookable. Used in links instead of the ID.

    • bookable_typestring

      Type of the bookable, for example room, court or vehicle.

    • floor_levelstring

      Floor the bookable is on.

    • floor_sizeinteger

      Floor size in square meters.

    • pets_allowedboolean

      Pets are allowed.

    • barrier_freeboolean

      The bookable is barrier-free.

    • cargo_volumeinteger

      Cargo volume in liters.

    • fuel_typestring

      Fuel type of the vehicle.

    • seating_capacityinteger

      Number of seats.

    • has_wait_listboolean

      The bookable has a waiting list once it is fully booked.

    • booking_limitinteger

      Maximum number of bookings.

    • billing_modestring

      How bookings on this bookable are billed: BILLING_MODE_UPFRONT (null = upfront, invoice at booking time) or BILLING_MODE_USAGE (free reservation, deferred billing from real usage data) Also in Default: the member app shows "Nutzung erfassen" only for usage-billed bookables.

    • max_active_bookings_per_userinteger

      Maximum number of active (future, not cancelled) self-service bookings one person may hold on this bookable at the same time. Null = unlimited. Admin bookings are not limited.

    • max_advance_booking_hoursinteger

      Maximum number of hours a self-service booking may start in the future. Null = unlimited. Admin bookings are not limited.

    • inventory_managedboolean

      Kept as inventory (Inventar-Ausleihe): the office hands the item over and takes it back, with deposit and reminders. Only used while the setting event_inventory_enabled is on.

    • inventory_depositnumber (float)

      Deposit (Kaution) per piece asked on hand-over. Null = no deposit.

    • require_addressboolean

      The address must be entered when booking.

    • require_contactboolean

      Contact details must be entered when booking.

    • require_billingboolean

      Billing details must be entered when booking.

    • require_booking_titleboolean

      A title must be entered when booking.

    • allow_direct_billingboolean
    • require_ageboolean

      The age must be entered when booking.

    • counter_update_modestring

      How the usage counters of the bookable are updated.

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

    • addressstring

      Address as text.

    • address_streetstring

      Street of the address.

    • address_house_numberstring

      House number of the address.

    • address_street_levelstring

      Street and house number of the address.

    • address_costring

      Care-of line of the address.

    • address_citystring

      City of the address.

    • address_zipstring

      Postal code of the address.

    • address_admin_level1string

      First administrative level of the address, e.g. the federal state.

    • address_countrystring

      Country code of the address.

    • address_full_countrystring

      Full name of the country of the address.

    • address_geo_latstring

      Latitude of the address.

    • address_geo_lngstring

      Longitude of the address.

    • address_external_provider_idstring

      field to store the external provider id of the address. e.g. Google Maps PlaceID like google:ChIJVcKw5r90sEcRhdjNq6NItqE

    • main_phonestring

      Main phone number.

    • main_faxstring

      Main fax number.

    • main_emailstring

      Main e-mail address.

    • websitestring

      Website address.

    • self_service_typestring

      Type of the self-service option.

    • arslist_self_servicearray<AccessRightStorage2>

      Access rights list that controls the self-service option.

    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • short_identifierstring

      Short identifier of the entity.

    • image_urlstring

      URL of the image of the entity.

    • slug_identifierstring

      Slug used in URLs of the entity.

  • employment_contractsarray<EmploymentContract16>

    Linked employment contracts

    Show fields (43)
    • staged_absence_approvalboolean

      null inherits group then organization policy; existing installations stay off.

    • idinteger

      Primary key of the employment contract. Internal ID.

    • tokenstring

      Public token of the contract. Used instead of the ID.

    • userUser14

      Login user of the employee.

    • week_total_hoursnumber (float)

      Total working hours per week.

    • week_total_daysnumber (float)

      Total working days per week.

    • reserved_hours_preparationnumber (float)

      L03: weekly hours reserved for Vorbereitung - part of the contract hours but not plannable in the shift plan. null = none.

    • reserved_hours_follow_upnumber (float)

      L03: weekly hours reserved for Nachbereitung - part of the contract hours but not plannable in the shift plan. null = none.

    • reserved_hours_travelnumber (float)

      L03: weekly hours reserved for Fahrt - part of the contract hours but not plannable in the shift plan. null = none.

    • reserved_hours_flexiblenumber (float)

      L03: weekly hours reserved for freie Einteilung - part of the contract hours but not plannable in the shift plan. null = none.

    • week_full_time_total_daysnumber (float)

      Total working days per week for a full-time contract.

    • year_vacation_daysnumber (float)

      Vacation days per year.

    • month_vacation_daysnumber (float)

      Vacation days per month.

    • year_vacation_weeksnumber (float)

      Vacation weeks per year.

    • monday_hoursnumber (float)

      Working hours on Monday.

    • tuesday_hoursnumber (float)

      Working hours on Tuesday.

    • wednesday_hoursnumber (float)

      Working hours on Wednesday.

    • thursday_hoursnumber (float)

      Working hours on Thursday.

    • friday_hoursnumber (float)

      Working hours on Friday.

    • saturday_hoursnumber (float)

      Working hours on Saturday.

    • sunday_hoursnumber (float)

      Working hours on Sunday.

    • netto_hour_costnumber (float)

      Net cost per hour.

    • brutto_hour_costnumber (float)

      Gross cost per hour.

    • startstring (date-time)

      Start date of the contract.

    • endstring (date-time)

      End date of the contract.

    • fixed_term_statusstring

      Befristung: PERMANENT (unbefristet, default), FIXED_TERM or EXTENDED (FIXED_TERM_STATUS_*).

    • fixed_term_endstring (date-time)

      Befristet bis (erster Zeitraum).

    • fixed_term_extension_endstring (date-time)

      Befristet bis nach Verlängerung.

    • probation_endstring (date-time)

      Probezeit bis; filled from the template's probationMonths when a contract is created without it.

    • numberstring

      Contract number.

    • descriptionstring

      Description of the contract.

    • archivedboolean

      The contract is archived.

    • allow_app_time_trackingboolean

      The employee may track time in the app.

    • allow_scanner_time_trackingboolean

      The employee may track time with the scanner.

    • allow_app_non_work_time_managementboolean

      The employee may manage absences in the app.

    • force_no_auto_breakboolean

      Automatic breaks are not added for this contract.

    • work_time_modestring

      How the target working time is defined - null behaves as WEEKDAY_HOURS so existing contracts keep their previous behaviour unchanged.

    • holiday_credit_modestring

      Holiday credit for WEEK_TOTAL contracts - null behaves as WEEKDAY_TARGET (previous behaviour, only meaningful for WEEKDAY_HOURS contracts).

    • holiday_credit_fixed_secondsinteger

      Fixed holiday credit in seconds.

    • planning_weekdays_bitmaskinteger

      ISO weekday bitmask (Mo=1 ... So=64) of the days this WEEK_TOTAL contract can be planned / takes vacation on - null behaves as Mo-Fr.

    • request_lead_time_daysinteger

      Days an absence request has to be handed in ahead of its first day ("Bearbeitungs- frist"). null falls back to the contract group and from there to the installation wide setting, so an existing contract keeps behaving exactly as before.

    • shift_booking_syncboolean

      L35: shifts as availabilities / appointments in the booking area; null inherits the group (which inherits the organisation).

    • search_stringstring

      Text that the entity can be searched by.

  • employment_contract_groupsarray<EmploymentContractGroup>

    Linked employment contract groups

    Show fields (25)
    • staged_absence_approvalboolean

      null inherits the organization; false explicitly disables staged approval.

    • shift_booking_syncboolean

      L35: shifts as availabilities / appointments in the booking area; null inherits the organisation, false switches it off for this group.

    • idinteger

      Primary key of the contract group. Internal ID.

    • week_total_hoursnumber (float)

      Total working hours per week.

    • week_total_daysnumber (float)

      Working days per week.

    • year_vacation_daysnumber (float)

      Vacation days per year.

    • month_vacation_daysnumber (float)

      Vacation days per month.

    • year_vacation_weeksnumber (float)

      Vacation weeks per year.

    • monday_hoursnumber (float)

      Working hours on Monday.

    • tuesday_hoursnumber (float)

      Working hours on Tuesday.

    • wednesday_hoursnumber (float)

      Working hours on Wednesday.

    • thursday_hoursnumber (float)

      Working hours on Thursday.

    • friday_hoursnumber (float)

      Working hours on Friday.

    • saturday_hoursnumber (float)

      Working hours on Saturday.

    • sunday_hoursnumber (float)

      Working hours on Sunday.

    • netto_hour_costnumber (float)

      Net cost per hour.

    • brutto_hour_costnumber (float)

      Gross cost per hour.

    • allow_app_time_trackingboolean

      Whether time tracking in the app is allowed.

    • allow_scanner_time_trackingboolean

      Whether time tracking with a scanner is allowed.

    • allow_app_non_work_time_managementboolean

      Whether non-work time can be managed in the app.

    • request_lead_time_daysinteger

      Days an absence request of this group has to be handed in ahead of its first day. null falls back to the installation wide setting - an existing group therefore behaves exactly as before.

    • school_holiday_regionSchoolHolidayRegion

      U09: the school calendar of this group when it differs from the organisation's (apprentices attending school in another Bundesland). null = the organisation's.

    • search_stringstring

      Text that the entity can be searched by.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • namestring

      Name of the entity.

  • connectionSmartLockConnection3

    Connection used to control the smart lock.

    Show fields (13)
    • idinteger

      Primary key of the smart lock connection. Internal ID.

    • providerstring

      Provider of the smart lock, for example LOQED or a bridge.

    • modestring

      Mode of the connection, for example bridge or web.

    • bridge_hoststring

      Host name of the bridge that talks to the lock.

    • bridge_portinteger

      Port of the bridge.

    • loqed_lock_idstring

      ID of the LOQED lock at the provider.

    • ha_instance_idstring

      Instance that offers its locks through this connection: the Home Assistant core uuid or the id of a Node-RED lock bridge or n8n lock trigger. The ha_* fields are shared by these providers.

    • ha_webhook_urlstring

      Webhook of the Home Assistant integration (or of a Node-RED instance in push mode) that receives the signed lock commands.

    • scan_device_idsstring

      Ids of the scanners of a scan webhook connection (Comydo: 12 hex digits each), separated by comma, space or new line. Every id becomes one smart lock when the connection is synced.

    • namestring

      Name of the entity.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

  • provider_device_idstring

    ID of the device at the provider.

  • provider_device_typestring

    Type of the device at the provider.

  • namestring

    Name of the entity.

  • deletedboolean

    This property is used to mark an entity as deleted / archived

  • self_service_typestring

    Type of the self-service option.

  • arslist_self_servicearray<AccessRightStorage2>

    Access rights list that controls the self-service option.

    Show fields (12)
    • idinteger

      Primary key of the access right entry. Internal ID.

    • userUser14

      User who gets the access right. Only set for user-specific rights.

    • access_tagAccessTag

      Access tag the right applies to. Only set for rights on a tag.

    • create_mainboolean

      Create permission for main records of the access tag.

    • edit_mainboolean

      Edit permission for main records of the access tag.

    • read_mainboolean

      Read permission for main records of the access tag.

    • create_childboolean

      Create permission for child records (for example items inside a main record).

    • edit_childboolean

      Edit permission for child records (for example items inside a main record).

    • read_childboolean

      Read permission for child records (for example items inside a main record).

    • createdstring (date-time)

      Point in time the entity was created.

    • updatedstring (date-time)

      Point in time the entity was last updated.

    • deletedboolean

      This property is used to mark an entity as deleted / archived

  • createdstring (date-time)

    Point in time the entity was created.

  • updatedstring (date-time)

    Point in time the entity was last updated.

Request
curl --request PATCH \
  --url https://your-instance.iw-erp.de/api/event/smart_lock/42 \
  --header 'content-type: application/json' \
  --header 'x-iw-jwt-token: <TOKEN>' \
  --data '
{
  "data": {
    "type": "string",
    "base_bookable": {
      "address_street": "Jakobistr. 39",
      "address_city": "Hannover",
      "address_zip": "30163",
      "address_country": "DE",
      "address_full_country": "DE",
      "main_phone": "+49 511 123456"
    },
    "connection": {
      "deleted": true
    },
    "provider_device_id": "42",
    "provider_device_type": "string",
    "deleted": true
  }
}
'
Response 200 application/json
{
  "id": 42,
  "name": "Beispiel",
  "type": "string",
  "base_bookable": {
    "id": 42,
    "require_booking_title": true,
    "address_street": "Jakobistr. 39",
    "address_city": "Hannover",
    "address_zip": "30163",
    "address_country": "DE",
    "address_full_country": "DE",
    "main_phone": "+49 511 123456",
    "main_email": "lena.hartmann@example.org",
    "name": "Beispiel"
  },
  "employment_contracts": [
    {
      "id": 42,
      "description": "Text",
      "staged_absence_approval": true,
      "token": "string",
      "week_total_hours": 1.5,
      "week_total_days": 1.5,
      "reserved_hours_preparation": 1.5,
      "reserved_hours_follow_up": 1.5,
      "reserved_hours_travel": 1.5,
      "reserved_hours_flexible": 1.5
    }
  ],
  "employment_contract_groups": [
    {
      "id": 42,
      "name": "Beispiel",
      "staged_absence_approval": true,
      "shift_booking_sync": true,
      "week_total_hours": 1.5,
      "week_total_days": 1.5,
      "year_vacation_days": 1.5,
      "month_vacation_days": 1.5,
      "year_vacation_weeks": 1.5,
      "monday_hours": 1.5
    }
  ],
  "connection": {
    "id": 42,
    "ha_webhook_url": "https://vynst.de",
    "name": "Beispiel",
    "provider": "string",
    "mode": "string",
    "bridge_host": "string",
    "bridge_port": 1,
    "loqed_lock_id": "42",
    "ha_instance_id": "42",
    "scan_device_ids": "string"
  },
  "provider_device_id": "42",
  "provider_device_type": "string",
  "deleted": true
}

Locks the entry.

POST/api/event/smart_lock/{identifier}/lock

Path parameters

identifierrequiredstring

Responses

default

Request
curl --request POST \
  --url https://your-instance.iw-erp.de/api/event/smart_lock/42/lock \
  --header 'x-iw-jwt-token: <TOKEN>'

Unlocks the entry.

POST/api/event/smart_lock/{identifier}/unlock

Path parameters

identifierrequiredstring

Responses

default

Request
curl --request POST \
  --url https://your-instance.iw-erp.de/api/event/smart_lock/42/unlock \
  --header 'x-iw-jwt-token: <TOKEN>'

Returns the current status.

GET/api/event/smart_lock/{identifier}/status

Path parameters

identifierrequiredstring

Responses

default

Request
curl --request GET \
  --url https://your-instance.iw-erp.de/api/event/smart_lock/42/status \
  --header 'x-iw-jwt-token: <TOKEN>'

Issues a code that opens a Comydo or QRLock smart lock for {@see SmartLockAccessCodeService::VALID_SECONDS} seconds; the app shows it as QR code at the scanner.

POST/api/event/smart_lock/{identifier}/access_code

Path parameters

identifierrequiredstring

Responses

200The access codeobject

Show fields (3)
  • codestring
  • valid_untilstring (date-time)
  • valid_secondsinteger
Request
curl --request POST \
  --url https://your-instance.iw-erp.de/api/event/smart_lock/42/access_code \
  --header 'x-iw-jwt-token: <TOKEN>'
Response 200 application/json
{
  "code": "string",
  "valid_until": "2026-10-15T09:30:00+02:00",
  "valid_seconds": 1
}