{
  "@context": {
    "@vocab": "https://duve.com/schema#",
    "schema": "https://schema.org/",
    "xsd": "http://www.w3.org/2001/XMLSchema#",
    "dcterms": "http://purl.org/dc/terms/",
    "duve": "https://duve.com/schema#",
    "GetApiOpenapiV1AccountsResponse": "duve:GetApiOpenapiV1AccountsResponse",
    "data": {
      "@id": "duve:data",
      "@container": "@list"
    },
    "pagination": {
      "@id": "duve:pagination"
    },
    "GetApiOpenapiV1AccountsAccountexternalidTokenResponse": "duve:GetApiOpenapiV1AccountsAccountexternalidTokenResponse",
    "token": {
      "@id": "duve:token",
      "@type": "xsd:string"
    },
    "expires_in": {
      "@id": "duve:expires_in",
      "@type": "xsd:integer"
    },
    "GetApiOpenapiV1Oauth2TokenResponse": "duve:GetApiOpenapiV1Oauth2TokenResponse",
    "client_id": {
      "@id": "duve:client_id",
      "@type": "xsd:string"
    },
    "client_secret": {
      "@id": "duve:client_secret",
      "@type": "xsd:string"
    },
    "grant_type": {
      "@id": "duve:grant_type",
      "@type": "xsd:string"
    },
    "PostApiOpenapiV1Oauth2TokenRequest": "duve:PostApiOpenapiV1Oauth2TokenRequest",
    "scope": {
      "@id": "duve:scope",
      "@type": "xsd:string"
    },
    "PostApiOpenapiV1Oauth2TokenResponse": "duve:PostApiOpenapiV1Oauth2TokenResponse",
    "access_token": {
      "@id": "duve:access_token",
      "@type": "xsd:string"
    },
    "PostApiOpenapiV1WebhooksRequest": "duve:PostApiOpenapiV1WebhooksRequest",
    "name": {
      "@id": "duve:name",
      "@type": "xsd:string"
    },
    "event": {
      "@id": "duve:event",
      "@type": "xsd:string"
    },
    "url": {
      "@id": "duve:url",
      "@type": "xsd:string"
    },
    "conditions": {
      "@id": "duve:conditions",
      "@container": "@list"
    },
    "dataPoints": {
      "@id": "duve:dataPoints",
      "@container": "@list"
    },
    "isEnabled": {
      "@id": "duve:isEnabled",
      "@type": "xsd:boolean"
    },
    "headers": {
      "@id": "duve:headers",
      "@container": "@list"
    },
    "brands": {
      "@id": "duve:brands",
      "@container": "@list"
    },
    "valueNameToCompare": {
      "@id": "duve:valueNameToCompare",
      "@type": "xsd:string"
    },
    "notifyOnWebhookFailures": {
      "@id": "duve:notifyOnWebhookFailures",
      "@type": "xsd:boolean"
    },
    "failureNotificationEmails": {
      "@id": "duve:failureNotificationEmails",
      "@container": "@list"
    },
    "PostApiOpenapiV1WebhooksResponse": "duve:PostApiOpenapiV1WebhooksResponse",
    "_id": {
      "@id": "duve:_id",
      "@type": "xsd:string"
    },
    "GetApiOpenapiV1WebhooksIdResponse": "duve:GetApiOpenapiV1WebhooksIdResponse",
    "PutApiOpenapiV1WebhooksIdRequest": "duve:PutApiOpenapiV1WebhooksIdRequest",
    "PutApiOpenapiV1WebhooksIdResponse": "duve:PutApiOpenapiV1WebhooksIdResponse",
    "PostApiV1HooksAccommodationConnectRequest": "duve:PostApiV1HooksAccommodationConnectRequest",
    "accountId": {
      "@id": "duve:accountId",
      "@type": "xsd:string"
    },
    "entity": {
      "@id": "duve:entity",
      "@type": "xsd:string"
    },
    "resource": {
      "@id": "duve:resource"
    },
    "apiToken": {
      "@id": "duve:apiToken"
    },
    "PostApiV1HooksAccommodationConnectResponse": "duve:PostApiV1HooksAccommodationConnectResponse",
    "savedProperties": {
      "@id": "duve:savedProperties",
      "@type": "xsd:integer"
    },
    "skippedProperties": {
      "@id": "duve:skippedProperties",
      "@type": "xsd:integer"
    },
    "summary": {
      "@id": "duve:summary",
      "@type": "xsd:string"
    },
    "PostApiV1HooksReservationConnectRequest": "duve:PostApiV1HooksReservationConnectRequest",
    "PostApiV1HooksReservationConnectResponse": "duve:PostApiV1HooksReservationConnectResponse",
    "newReservations": {
      "@id": "duve:newReservations",
      "@type": "xsd:integer"
    },
    "updatedReservations": {
      "@id": "duve:updatedReservations",
      "@type": "xsd:integer"
    },
    "skippedReservations": {
      "@id": "duve:skippedReservations",
      "@type": "xsd:integer"
    },
    "reservationIds": {
      "@id": "duve:reservationIds",
      "@container": "@list"
    },
    "GetOpenapiV1ReservationsLinksResponse": "duve:GetOpenapiV1ReservationsLinksResponse",
    "guestApp": {
      "@id": "duve:guestApp",
      "@type": "xsd:string"
    },
    "chatLink": {
      "@id": "duve:chatLink",
      "@type": "xsd:string"
    },
    "onlineCheckInLink": {
      "@id": "duve:onlineCheckInLink",
      "@type": "xsd:string"
    },
    "chatLastMessage": {
      "@id": "duve:chatLastMessage"
    },
    "chatLastMessage.body": {
      "@id": "duve:chatLastMessage.body",
      "@type": "xsd:string"
    },
    "chatLastMessage.author": {
      "@id": "duve:chatLastMessage.author",
      "@type": "xsd:string"
    },
    "chatLastMessage.authorType": {
      "@id": "duve:chatLastMessage.authorType",
      "@type": "xsd:string"
    },
    "chatLastMessage.time": {
      "@id": "duve:chatLastMessage.time",
      "@type": "xsd:string"
    },
    "chatLastMessage.sentVia": {
      "@id": "duve:chatLastMessage.sentVia",
      "@type": "xsd:string"
    },
    "chatLastMessage.hasAttachment": {
      "@id": "duve:chatLastMessage.hasAttachment",
      "@type": "xsd:boolean"
    },
    "chatLastMessage.seen": {
      "@id": "duve:chatLastMessage.seen",
      "@type": "xsd:boolean"
    }
  },
  "@type": "schema:Dataset",
  "schema:name": "Duve API JSON-LD context",
  "schema:description": "A JSON-LD @context for the objects Duve's own API contract declares: one class per component schema, one property per declared field, typed from the contract. Derived by script (derive-json-ld.py, 2026-10-24) from openapi/_ae-authored/duve-openapi-generated.yml.",
  "dcterms:created": "2026-10-24",
  "dcterms:source": [
    "openapi/_ae-authored/duve-openapi-generated.yml"
  ]
}