openapi: 3.1.0 info: title: FIT Appointment Management description: "An Appointment is an arrangement to do something or meet someone at a particular time and place. It is previously made during an interaction or may be necessary to solve a customer problem or to deliver a product order item. The appointment API goal is to manage an appointment with all the necessary characteristics. First, the API consists in searching free time slots based on given parameters.\n\n#### TMF API Reference\n TMF 646 - Appointment v4.0.0\t(01-Jul-2021)\n\n#### FIT Adaptations\n Appointment: PATCH & DELETE are not used for FIT\n\n SearchTimeSlot: PATCH & DELETE are not used for FIT\n\n#### Sources\n The source API definition can be found at [fit-tmf646.yaml](https://bitbucket.org/fit-api/fit-api/src/tmf646_v1.1.0/tmf646/oas/fit-tmf646.yaml)" version: '1.1.0' servers: - url: https://api.example.com/tmf-api/appointmentManagement/v5 - url: http://localhost:8080/tmf-api/appointmentManagement/v5 security: - OAuth2ClientCredentials: - read - write tags: - name: appointment - name: searchTimeSlot - name: notification listeners (client side) paths: /appointment: get: operationId: listAppointment summary: List or find Appointment objects description: This operation list or find Appointment entities parameters: - $ref: '#/components/parameters/Fields' - $ref: '#/components/parameters/Offset' - $ref: '#/components/parameters/Limit' responses: '200': $ref: '#/components/responses/200AppointmentArray' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' security: - OAuth2ClientCredentials: - read tags: - appointment post: operationId: createAppointment summary: Creates a Appointment description: This operation creates a Appointment entity. parameters: - $ref: '#/components/parameters/Fields' requestBody: $ref: '#/components/requestBodies/Appointment_FVO' responses: '201': $ref: '#/components/responses/201Appointment' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '409': $ref: '#/components/responses/409' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' security: - OAuth2ClientCredentials: - write tags: - appointment /appointment/{id}: get: operationId: retrieveAppointment summary: Retrieves a Appointment by ID description: This operation retrieves a Appointment entity. Attribute selection is enabled for all first level attributes. parameters: - $ref: '#/components/parameters/Id' - $ref: '#/components/parameters/Fields' responses: '200': $ref: '#/components/responses/200Appointment_Get' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' security: - OAuth2ClientCredentials: - read tags: - appointment /searchTimeSlot: get: operationId: listSearchTimeSlot summary: List or find SearchTimeSlot objects description: This operation list or find SearchTimeSlot entities parameters: - $ref: '#/components/parameters/Fields' - $ref: '#/components/parameters/Offset' - $ref: '#/components/parameters/Limit' responses: '200': $ref: '#/components/responses/200SearchTimeSlotArray' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' security: - OAuth2ClientCredentials: - read tags: - searchTimeSlot post: operationId: createSearchTimeSlot summary: Creates a SearchTimeSlot description: This operation creates a SearchTimeSlot entity. parameters: - $ref: '#/components/parameters/Fields' requestBody: $ref: '#/components/requestBodies/SearchTimeSlot_FVO' responses: '201': $ref: '#/components/responses/201SearchTimeSlot' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '409': $ref: '#/components/responses/409' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' security: - OAuth2ClientCredentials: - write tags: - searchTimeSlot /searchTimeSlot/{id}: get: operationId: retrieveSearchTimeSlot summary: Retrieves a SearchTimeSlot by ID description: This operation retrieves a SearchTimeSlot entity. Attribute selection is enabled for all first level attributes. parameters: - $ref: '#/components/parameters/Id' - $ref: '#/components/parameters/Fields' responses: '200': $ref: '#/components/responses/200SearchTimeSlot_Get' '400': $ref: '#/components/responses/400' '401': $ref: '#/components/responses/401' '403': $ref: '#/components/responses/403' '404': $ref: '#/components/responses/404' '405': $ref: '#/components/responses/405' '500': $ref: '#/components/responses/500' '501': $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' security: - OAuth2ClientCredentials: - read tags: - searchTimeSlot /listener/appointmentCreateEvent: post: operationId: listenToAppointmentCreateEvent summary: Client listener for entity AppointmentCreateEvent description: Example of a client listener for receiving the notification AppointmentCreateEvent requestBody: $ref: '#/components/requestBodies/AppointmentCreateEvent' responses: '204': $ref: '#/components/responses/204Notified' default: $ref: '#/components/responses/DefaultError' tags: - notification listeners (client side) /listener/appointmentAttributeValueChangeEvent: post: operationId: listenToAppointmentAttributeValueChangeEvent summary: Client listener for entity AppointmentAttributeValueChangeEvent description: Example of a client listener for receiving the notification AppointmentAttributeValueChangeEvent requestBody: $ref: '#/components/requestBodies/AppointmentAttributeValueChangeEvent' responses: '204': $ref: '#/components/responses/204Notified' default: $ref: '#/components/responses/DefaultError' tags: - notification listeners (client side) /listener/appointmentStateChangeEvent: post: operationId: listenToAppointmentStateChangeEvent summary: Client listener for entity AppointmentStateChangeEvent description: Example of a client listener for receiving the notification AppointmentStateChangeEvent requestBody: $ref: '#/components/requestBodies/AppointmentStateChangeEvent' responses: '204': $ref: '#/components/responses/204Notified' default: $ref: '#/components/responses/DefaultError' tags: - notification listeners (client side) /listener/appointmentDeleteEvent: post: operationId: listenToAppointmentDeleteEvent summary: Client listener for entity AppointmentDeleteEvent description: Example of a client listener for receiving the notification AppointmentDeleteEvent requestBody: $ref: '#/components/requestBodies/AppointmentDeleteEvent' responses: '204': $ref: '#/components/responses/204Notified' default: $ref: '#/components/responses/DefaultError' tags: - notification listeners (client side) /listener/searchTimeSlotAttributeValueChangeEvent: post: operationId: listenToSearchTimeSlotAttributeValueChangeEvent summary: Client listener for entity SearchTimeSlotAttributeValueChangeEvent description: Example of a client listener for receiving the notification SearchTimeSlotAttributeValueChangeEvent requestBody: $ref: '#/components/requestBodies/SearchTimeSlotAttributeValueChangeEvent' responses: '204': $ref: '#/components/responses/204Notified' default: $ref: '#/components/responses/DefaultError' tags: - notification listeners (client side) /listener/searchTimeSlotStateChangeEvent: post: operationId: listenToSearchTimeSlotStateChangeEvent summary: Client listener for entity SearchTimeSlotStateChangeEvent description: Example of a client listener for receiving the notification SearchTimeSlotStateChangeEvent requestBody: $ref: '#/components/requestBodies/SearchTimeSlotStateChangeEvent' responses: '204': $ref: '#/components/responses/204Notified' default: $ref: '#/components/responses/DefaultError' tags: - notification listeners (client side) components: schemas: Appointment: description: An Appointment is an arrangement to do something or meet someone at a particular time, at a place (for face to face appointment) or in a contact medium (for phone appointment). type: object properties: category: description: 'Business category : intervention for example or to be more precise after SalesIntervention, orderDeliveryIntervention,...' type: string creationDate: description: Appointment creation date type: string format: date-time description: description: Short free text describing the appointment type: string externalId: type: string externalIdentifier: type: array items: $ref: '#/components/schemas/ExternalIdentifier' lastUpdate: description: Date of last appointment update type: string format: date-time attachment: type: array items: $ref: '#/components/schemas/AttachmentRefOrValue' note: type: array items: $ref: '#/components/schemas/Note' relatedEntity: type: array items: $ref: '#/components/schemas/AppointmentRelatedEntityRefOrValue' status: $ref: '#/components/schemas/AppointmentStatusType' validFor: $ref: '#/components/schemas/TimePeriod' allOf: - $ref: '#/components/schemas/Entity' discriminator: propertyName: '@type' mapping: Appointment: '#/components/schemas/Appointment' required: - validFor Appointment_FVO: description: |- An Appointment is an arrangement to do something or meet someone at a particular time, at a place (for face to face appointment) or in a contact medium (for phone appointment). Skipped properties: id,href,status,creationDate,lastUpdate type: object properties: category: description: 'Business category : intervention for example or to be more precise after SalesIntervention, orderDeliveryIntervention,...' type: string description: description: Short free text describing the appointment type: string externalId: type: string externalIdentifier: type: array items: $ref: '#/components/schemas/ExternalIdentifier' attachment: type: array items: $ref: '#/components/schemas/AttachmentRefOrValue' note: type: array items: $ref: '#/components/schemas/Note' relatedEntity: type: array items: $ref: '#/components/schemas/AppointmentRelatedEntityRefOrValue' validFor: $ref: '#/components/schemas/TimePeriod' allOf: - $ref: '#/components/schemas/Entity' discriminator: propertyName: '@type' mapping: Appointment_FVO: '#/components/schemas/Appointment_FVO' required: - validFor AppointmentStatusType: description: Valid values for the lifecycle state of the appointment type: string enum: - initialized - confirmed - cancelled - completed - failed SearchTimeSlot: description: This task resource is used to retrieve available time slots. One of this available time slot is after used to create or reschedule an appointment type: object properties: appointmentCategory: description: defines the category of appointment time slots are searched for type: string externalIdentifier: type: array items: $ref: '#/components/schemas/ExternalIdentifier' requestDate: description: Date when the search time slot was requested type: string format: date-time requestPostedDate: description: Date when the request was posted type: string format: date-time searchResult: description: Result of the search time slot (success or fail for example) type: string state: $ref: '#/components/schemas/TaskStateType' stateChangeDate: description: The date and time the state changed. type: string format: date-time stateChangeMessage: description: Message for the state change described as a combination of a text and a code. type: array items: $ref: '#/components/schemas/Message' example: [] stateChangeHistory: type: array items: $ref: '#/components/schemas/StateChange' availableTimeSlot: type: array items: $ref: '#/components/schemas/TimeSlot' relatedEntity: type: array items: $ref: '#/components/schemas/SearchTimeSlotRelatedEntityRefOrValue' requestedTimeSlot: type: array items: $ref: '#/components/schemas/TimeSlot' allOf: - $ref: '#/components/schemas/Entity' discriminator: propertyName: '@type' mapping: SearchTimeSlot: '#/components/schemas/SearchTimeSlot' SearchTimeSlot_FVO: description: |- This task resource is used to retrieve available time slots. One of this available time slot is after used to create or reschedule an appointment Skipped properties: id,href,searchResult,availableTimeSlot,requestDate,state,stateChangeDate,stateChangeMessage,stateChangeHistory type: object properties: appointmentCategory: description: defines the category of appointment time slots are searched for type: string externalIdentifier: type: array items: $ref: '#/components/schemas/ExternalIdentifier' requestPostedDate: description: Date when the request was posted type: string format: date-time relatedEntity: type: array items: $ref: '#/components/schemas/SearchTimeSlotRelatedEntityRefOrValue' requestedTimeSlot: type: array items: $ref: '#/components/schemas/TimeSlot' allOf: - $ref: '#/components/schemas/Entity' discriminator: propertyName: '@type' mapping: SearchTimeSlot_FVO: '#/components/schemas/SearchTimeSlot_FVO' AppointmentCreateEvent: description: The notification data structure type: object properties: event: $ref: '#/components/schemas/AppointmentCreateEventPayload' allOf: - $ref: '#/components/schemas/Event' discriminator: propertyName: '@type' mapping: AppointmentCreateEvent: '#/components/schemas/AppointmentCreateEvent' AppointmentCreateEventPayload: description: The event data structure type: object properties: appointment: $ref: '#/components/schemas/Appointment' AppointmentAttributeValueChangeEvent: description: The notification data structure type: object properties: event: $ref: '#/components/schemas/AppointmentAttributeValueChangeEventPayload' allOf: - $ref: '#/components/schemas/Event' discriminator: propertyName: '@type' mapping: AppointmentAttributeValueChangeEvent: '#/components/schemas/AppointmentAttributeValueChangeEvent' AppointmentAttributeValueChangeEventPayload: description: The event data structure type: object properties: appointment: $ref: '#/components/schemas/Appointment' AppointmentStateChangeEvent: description: The notification data structure type: object properties: event: $ref: '#/components/schemas/AppointmentStateChangeEventPayload' allOf: - $ref: '#/components/schemas/Event' discriminator: propertyName: '@type' mapping: AppointmentStateChangeEvent: '#/components/schemas/AppointmentStateChangeEvent' AppointmentStateChangeEventPayload: description: The event data structure type: object properties: appointment: $ref: '#/components/schemas/Appointment' AppointmentDeleteEvent: description: The notification data structure type: object properties: event: $ref: '#/components/schemas/AppointmentDeleteEventPayload' allOf: - $ref: '#/components/schemas/Event' discriminator: propertyName: '@type' mapping: AppointmentDeleteEvent: '#/components/schemas/AppointmentDeleteEvent' AppointmentDeleteEventPayload: description: The event data structure type: object properties: appointment: $ref: '#/components/schemas/Appointment' SearchTimeSlotAttributeValueChangeEvent: description: The notification data structure type: object properties: event: $ref: '#/components/schemas/SearchTimeSlotAttributeValueChangeEventPayload' allOf: - $ref: '#/components/schemas/Event' discriminator: propertyName: '@type' mapping: SearchTimeSlotAttributeValueChangeEvent: '#/components/schemas/SearchTimeSlotAttributeValueChangeEvent' SearchTimeSlotAttributeValueChangeEventPayload: description: The event data structure type: object properties: searchTimeSlot: $ref: '#/components/schemas/SearchTimeSlot' SearchTimeSlotStateChangeEvent: description: The notification data structure type: object properties: event: $ref: '#/components/schemas/SearchTimeSlotStateChangeEventPayload' allOf: - $ref: '#/components/schemas/Event' discriminator: propertyName: '@type' mapping: SearchTimeSlotStateChangeEvent: '#/components/schemas/SearchTimeSlotStateChangeEvent' SearchTimeSlotStateChangeEventPayload: description: The event data structure type: object properties: searchTimeSlot: $ref: '#/components/schemas/SearchTimeSlot' AppointmentRelatedEntityRefOrValue: description: A reference to an entity, where the type of the entity is not known in advance. A related entity defines a entity described by reference or by value linked to a specific entity. The polymorphic attributes @type, @schemaLocation & @referredType are related to the Entity and not the RelatedEntityRefOrValue class itself. Related entities are differentiated by role (e.g., affectedProduct, troubleTicket, searchTimeSlot, availableTimeSlot, buyerServiceContract, ordererServiceContract, singleContract, productOrder). The role-to-entity mapping is documented but not enforced in the schema. type: object allOf: - $ref: '#/components/schemas/Extensible' - type: object required: - role - entity properties: role: description: Role played by the related entity type: string entity: $ref: '#/components/schemas/AppointmentEntityRefOrValue' AppointmentEntityRefOrValue: description: An entity ref or value (Appointment) type: object discriminator: propertyName: '@type' oneOf: - $ref: '#/components/schemas/Agreement' - $ref: '#/components/schemas/ProductRef' - $ref: '#/components/schemas/TroubleTicketRef' - $ref: '#/components/schemas/SearchTimeslotRef' - $ref: '#/components/schemas/AvailableTimeslotRef' - $ref: '#/components/schemas/ProductOrderRef' SearchTimeSlotRelatedEntityRefOrValue: description: A reference to an entity, where the type of the entity is not known in advance. A related entity defines a entity described by reference or by value linked to a specific entity. The polymorphic attributes @type, @schemaLocation & @referredType are related to the Entity and not the RelatedEntityRefOrValue class itself. Related entities are differentiated by role (e.g., affectedProduct, troubleTicket, buyerServiceContract, ordererServiceContract, optionalServices, affectedQualification, affectedQualificationItem, affectedProductOrder). The role-to-entity mapping is documented but not enforced in the schema. type: object allOf: - $ref: '#/components/schemas/Extensible' - type: object required: - role - entity properties: role: description: Role played by the related entity type: string entity: $ref: '#/components/schemas/SearchTimeSlotEntityRefOrValue' SearchTimeSlotEntityRefOrValue: description: An entity ref or value (SearchTimeSlot) type: object discriminator: propertyName: '@type' oneOf: - $ref: '#/components/schemas/ProductOffering' - $ref: '#/components/schemas/Agreement' - $ref: '#/components/schemas/ProductRef' - $ref: '#/components/schemas/TroubleTicketRef' - $ref: '#/components/schemas/QueryProductOfferingQualificationRef' - $ref: '#/components/schemas/QueryProductOfferingQualificationItemRef' - $ref: '#/components/schemas/ProductOrderRef' SearchTimeslotRef: description: SearchTimeslot reference. type: object allOf: - $ref: '#/components/schemas/EntityRef' AvailableTimeslotRef: description: AvailableTimeslot reference. type: object allOf: - $ref: '#/components/schemas/EntityRef' QueryProductOfferingQualificationRef: description: QueryProductOfferingQualification reference. type: object allOf: - $ref: '#/components/schemas/EntityRef' QueryProductOfferingQualificationItemRef: description: QueryProductOfferingQualificationItem reference. type: object allOf: - $ref: '#/components/schemas/EntityRef' ProductOrderRef: description: ProductOrder reference. type: object allOf: - $ref: '#/components/schemas/EntityRef' Extensible: description: Base Extensible schema for use in TMForum Open-APIs - When used for in a schema it means that the Entity described by the schema MUST be extended with the @type type: object properties: '@type': description: When sub-classing, this defines the sub-class Extensible name type: string example: '' '@baseType': description: When sub-classing, this defines the super-class type: string example: '' '@schemaLocation': description: A URI to a JSON-Schema file that defines additional attributes and relationships type: string example: '' discriminator: propertyName: '@type' required: - '@type' Entity: description: Base entity schema for use in TMForum Open-APIs. allOf: - $ref: '#/components/schemas/Extensible' - type: object properties: id: description: Unique identifier type: string example: 2d7ed5fd-9f62-4211-bc84-357f5f7b80f5 href: description: Hyperlink reference type: string format: uri example: https://api.example.org/resource/id ExternalIdentifier: description: An identification of an entity that is owned by or originates in a software system different from the current system, for example a ProductOrder handed off from a commerce platform into an order handling system. The structure identifies the system itself, the nature of the entity within the system (e.g. class name) and the unique ID of the entity within the system. It is anticipated that multiple external IDs can be held for a single entity, e.g. if the entity passed through multiple systems on the way to the current system. In this case the consumer is expected to sequence the IDs in the array in reverse order of provenance, i.e. most recent system first in the list. allOf: - $ref: '#/components/schemas/Extensible' - type: object properties: id: description: Unique identifier type: string example: 2d7ed5fd-9f62-4211-bc84-357f5f7b80f5 externalIdentifierType: description: Type of the identification, typically would be the type of the entity within the external system type: string example: ProductOrder owner: description: Name of the external system that owns the entity. type: string example: AcmeCommerce EntityRef: description: Entity reference schema to be use for all entityRef class. allOf: - $ref: '#/components/schemas/Extensible' - type: object required: - id properties: id: description: Identifier of the referred entity. type: string example: 2d7ed5fd-9f62-4211-bc84-357f5f7b80f5 href: description: Hyperlink reference type: string format: uri example: https://api.example.org/resource/id name: description: Name of the referred entity. type: string example: EntityName '@referredType': description: The actual type of the target instance when needed for disambiguation. type: string example: '' AttachmentRef: description: Attachment reference. type: object allOf: - $ref: '#/components/schemas/EntityRef' Quantity: description: An amount in a given unit type: object properties: amount: description: Numeric value in a given unit type: number format: float example: 20 default: 1 units: description: Unit type: string example: MBit/s TimePeriod: description: A period of time, either as a deadline (endDateTime only) a startDateTime only, or both type: object properties: startDateTime: description: Start of the time period, using IETC-RFC-3339 format. If you define a start, you must also define an end type: string format: date-time example: '2023-01-01T08:00:00+01:00' endDateTime: description: End of the time period, using IETC-RFC-3339 format type: string format: date-time example: '2025-12-24T19:30:00+01:00' Attachment: description: Complements the description of an element (for instance a product) through video, pictures... allOf: - $ref: '#/components/schemas/Entity' - type: object properties: attachmentType: description: Attachment type such as video, picture type: string example: video content: description: The actual contents of the attachment object, if embedded, encoded as base64 example: '' format: base64 type: string description: description: A narrative text describing the content of the attachment type: string example: Photograph of the Product mimeType: description: Attachment mime type such as extension file for video, picture and document type: string example: image/jpeg name: description: The name of the attachment type: string example: attachment.file url: description: Uniform Resource Locator, is a web page address (a subset of URI) type: string format: uri example: https://api.example.org/content/4aafacbd-11ff-4dc8-b445-305f2215715f size: description: The size of the attachment. $ref: '#/components/schemas/Quantity' validFor: description: The period of time for which the attachment is valid $ref: '#/components/schemas/TimePeriod' AttachmentRefOrValue: description: Attachment reference or value type: object discriminator: propertyName: '@type' oneOf: - $ref: '#/components/schemas/AttachmentRef' - $ref: '#/components/schemas/Attachment' Note: description: Extra information about a given entity allOf: - $ref: '#/components/schemas/Entity' - type: object required: - text properties: author: description: Author of the note type: string example: jarvis date: description: Date of the note type: string format: date-time example: '2023-01-01T08:00:00+01:00' text: description: Text of the note type: string example: Lorem ipsum dolor ContactMedium: description: Indicates the contact medium that could be used to contact the party. allOf: - $ref: '#/components/schemas/Extensible' - type: object properties: contactMediumIdentifier: description: Identifier for this contact medium. type: string example: '123' contactType: description: 'The type of contact, for example: phone number such as mobile or fixed line' type: string example: mobile preferred: description: If true, indicates that is the preferred contact medium type: boolean example: true validFor: $ref: '#/components/schemas/TimePeriod' discriminator: propertyName: '@type' mapping: PhoneContactMedium: '#/components/schemas/PhoneContactMedium' EmailContactMedium: '#/components/schemas/EmailContactMedium' PostalAddressContactMedium: '#/components/schemas/PostalAddressContactMedium' PhoneContactMedium: description: Describes a phone number that could be used to contact a party (an individual or an organization). allOf: - $ref: '#/components/schemas/ContactMedium' - type: object properties: phoneNumber: description: The phone number of the contact type: string example: +49 30 1234567 EmailContactMedium: description: Describes a email that could be used to contact a party (an individual or an organization). allOf: - $ref: '#/components/schemas/ContactMedium' - type: object properties: emailAddress: description: Full email address in standard format type: string example: info@example.net PostalAddressContactMedium: description: Describes a email that could be used to contact a party (an individual or an organization). allOf: - $ref: '#/components/schemas/ContactMedium' - type: object properties: city: description: Full city name type: string example: Berlin country: description: Country that the address is in (ISO-3166-1 ALPHA-2) type: string example: DE locality: description: Locality type: string example: '' postcode: description: Postcode type: string example: '10117' streetName: description: StreetName type: string example: Reinhardtstr. streetNr: description: StreetNr type: string example: '31' streetNrSuffix: description: StreetNrSuffix type: string example: a Characteristic: description: Describes a given characteristic of an object or entity through a name/value pair. allOf: - $ref: '#/components/schemas/Extensible' - type: object properties: id: description: Unique identifier of the characteristic type: string example: 2d7ed5fd-9f62-4211-bc84-357f5f7b80f5 name: description: Name of the characteristic type: string example: characteristic name valueType: description: Data type of the value of the characteristic type: string example: string discriminator: propertyName: '@type' mapping: Characteristic: '#/components/schemas/Characteristic' StringCharacteristic: '#/components/schemas/StringCharacteristic' StringArrayCharacteristic: '#/components/schemas/StringArrayCharacteristic' ObjectCharacteristic: '#/components/schemas/ObjectCharacteristic' ObjectArrayCharacteristic: '#/components/schemas/ObjectArrayCharacteristic' NumberCharacteristic: '#/components/schemas/NumberCharacteristic' NumberArrayCharacteristic: '#/components/schemas/NumberArrayCharacteristic' IntegerCharacteristic: '#/components/schemas/IntegerCharacteristic' IntegerArrayCharacteristic: '#/components/schemas/IntegerArrayCharacteristic' BooleanCharacteristic: '#/components/schemas/BooleanCharacteristic' BooleanArrayCharacteristic: '#/components/schemas/BooleanArrayCharacteristic' StringCharacteristic: description: A characteristic which value is a String. allOf: - $ref: '#/components/schemas/Characteristic' - type: object required: - value properties: value: description: Value of the characteristic type: string example: Lorem ipsum dolor StringArrayCharacteristic: description: A characteristic which value is a String. allOf: - $ref: '#/components/schemas/Characteristic' - type: object properties: value: description: Value of the characteristic type: array items: type: string example: [] ObjectCharacteristic: description: A characteristic which value is an Object. allOf: - $ref: '#/components/schemas/Characteristic' - type: object required: - value properties: value: description: Value of the characteristic type: object ObjectArrayCharacteristic: description: A characteristic which value is an Object. allOf: - $ref: '#/components/schemas/Characteristic' - type: object properties: value: description: Value of the characteristic type: array items: type: object example: [] NumberCharacteristic: description: A characteristic which value is a Number. allOf: - $ref: '#/components/schemas/Characteristic' - type: object required: - value properties: value: description: Value of the characteristic type: number example: 1 NumberArrayCharacteristic: description: A characteristic which value is a Number. allOf: - $ref: '#/components/schemas/Characteristic' - type: object properties: value: description: Value of the characteristic type: array items: type: number example: [] IntegerCharacteristic: description: A characteristic which value is an Integer. allOf: - $ref: '#/components/schemas/Characteristic' - type: object required: - value properties: value: description: Value of the characteristic type: integer example: 1 IntegerArrayCharacteristic: description: A characteristic which value is an Integer. allOf: - $ref: '#/components/schemas/Characteristic' - type: object properties: value: description: Value of the characteristic type: array items: type: integer example: [] BooleanCharacteristic: description: A characteristic which value is a Boolean. allOf: - $ref: '#/components/schemas/Characteristic' - type: object required: - value properties: value: description: Value of the characteristic type: boolean example: true BooleanArrayCharacteristic: description: A characteristic which value is a Boolean. allOf: - $ref: '#/components/schemas/Characteristic' - type: object properties: value: description: Value of the characteristic type: array items: type: boolean example: [] Party: description: Generic Party structure used to define commonalities between sub concepts of Individual and Organization. allOf: - $ref: '#/components/schemas/Entity' - type: object properties: contactMedium: description: List of means for contacting the party, e.g. mobile phone, email address type: array items: $ref: '#/components/schemas/ContactMedium' example: [] externalReference: description: List of identifiers of the Party in an external system, for example when party information is imported from a commerce system type: array items: $ref: '#/components/schemas/ExternalIdentifier' example: [] businessId: description: A business relevant identifier when different from the technical identifier documented with the .id property type: string example: '1234' partyCharacteristic: description: List of additional characteristics that a Party can take on. type: array items: $ref: '#/components/schemas/Characteristic' example: [] Individual: description: Individual represents a single human being (a man, woman or child). The individual can be a customer, an employee or any other person that the organization needs to store information about. allOf: - $ref: '#/components/schemas/Party' - type: object properties: familyName: description: Contains the non-chosen or inherited name. Also known as last name in the Western context type: string example: Muster salutation: description: Standard wording used to address an individual type: string example: Ms givenName: description: First name of the individual type: string example: Melanie title: description: Useful for titles (aristocratic, social,...) Pr, Dr, Sir, ... type: string example: Dr. Organization: description: Organization represents a group of people identified by shared interests or purpose. Examples include business, department and enterprise. Because of the complex nature of many businesses, both organizations and organization units are represented by the same data. allOf: - $ref: '#/components/schemas/Party' - type: object properties: name: description: Organization name (department name for example) type: string example: Acme Corp. PartyRef: description: Party reference. type: object allOf: - $ref: '#/components/schemas/EntityRef' PartyRoleRef: description: Party role reference. type: object allOf: - $ref: '#/components/schemas/EntityRef' AccountRef: description: Account reference. A account may be a party account or a financial account. allOf: - $ref: '#/components/schemas/EntityRef' - type: object properties: description: description: Detailed description of the account type: string example: lorem ipsum dolor AgreementRef: description: Agreement reference. An agreement represents a contract or arrangement, either written or verbal and sometimes enforceable by law, such as a service level agreement or a customer price agreement. An agreement involves a number of other business entities, such as products, services, and resources and/or their specifications. type: object allOf: - $ref: '#/components/schemas/EntityRef' PartyOrPartyRole: description: A Party or PartyRole or Ref type: object discriminator: propertyName: '@type' oneOf: - $ref: '#/components/schemas/Individual' - $ref: '#/components/schemas/Organization' - $ref: '#/components/schemas/PartyRef' - $ref: '#/components/schemas/PartyRoleRef' - $ref: '#/components/schemas/PartyRole' RelatedPartyOrPartyRole: description: RelatedParty reference. A related party defines party or party role or its reference, linked to a specific entity allOf: - $ref: '#/components/schemas/Extensible' - type: object required: - role - partyOrPartyRole properties: role: description: Role played by the related party or party role in the context of the specific entity it is linked to. Such as 'initiator', 'customer', 'salesAgent', 'user' type: string example: '' partyOrPartyRole: $ref: '#/components/schemas/PartyOrPartyRole' PartyRole: description: The part played by a party in a given context. allOf: - $ref: '#/components/schemas/Entity' - type: object required: - name - engagedParty properties: businessId: description: A business relevant identifier when different from the technical identifier documented with the .id property type: string example: '1234' name: description: A word, term, or phrase by which the PartyRole is known and distinguished from other PartyRoles. It's the name of the PartyRole unique entity. type: string example: PartyRoleName description: description: A description of the PartyRole. type: string example: Lorem ipsum dolor role: description: Role played by the engagedParty in this context. As role is defined by partyRoleSpecification, this role attribute can be used to precise the role defined by partyRoleSpecification, or it can be used to define the role in case there is no partyRoleSpecification. type: string example: '' engagedParty: $ref: '#/components/schemas/PartyRef' characteristic: description: Describes the characteristic of a party role. type: array items: $ref: '#/components/schemas/Characteristic' example: [] account: description: Account type: array items: $ref: '#/components/schemas/AccountRef' example: [] agreement: description: Agreement type: array items: $ref: '#/components/schemas/AgreementRef' example: [] contactMedium: description: Contact medium type: array items: $ref: '#/components/schemas/ContactMedium' example: [] relatedParty: description: Related party type: array items: $ref: '#/components/schemas/RelatedPartyOrPartyRole' example: [] status: description: Used to track the lifecycle status of the party role. type: string example: '' statusReason: description: A string providing an explanation on the value of the status lifecycle. For instance if the status is Rejected, statusReason will provide the reason for rejection. type: string example: '' validFor: $ref: '#/components/schemas/TimePeriod' Agreement: description: An agreement represents a contract or arrangement, either written or verbal and sometimes enforceable by law, such as a service level agreement or a customer price agreement. An agreement involves a number of other business entities, such as products, services, and resources and/or their specifications. allOf: - $ref: '#/components/schemas/Entity' - type: object required: - agreementType properties: name: description: A human-readable name for the agreement type: string example: contract no. 42 engagedParty: description: Engaged party type: array items: $ref: '#/components/schemas/PartyOrPartyRole' example: [] relatedParty: description: Related party type: array items: $ref: '#/components/schemas/RelatedPartyOrPartyRole' example: [] businessId: description: A business relevant identifier when different from the technical identifier documented with the .id property type: string example: '1234' agreementType: description: Type of the agreement (e.g. witaContract, ServiceContractCustomer, ServiceContractOrderer, SingleContract, PreAgreement, witaContract,...) type: string example: ServiceContractOrderer ProductRef: description: Product reference. type: object allOf: - $ref: '#/components/schemas/EntityRef' TroubleTicketRef: description: TroubleTicket reference. type: object allOf: - $ref: '#/components/schemas/EntityRef' ErrorMessage: description: Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx) allOf: - $ref: '#/components/schemas/Extensible' - type: object required: - code - reason properties: code: description: Application relevant detail, defined in the API or a common list. type: string example: '0995' reason: description: Explanation of the reason for the error which can be shown to a client user. type: string example: human error message: description: More details and corrective actions related to the error which can be shown to a client user. type: string example: Datenstruktur unzulässig. status: description: HTTP Error code extension type: string example: not found referenceError: description: URI of documentation describing the error. type: string format: uri example: https://api.example.org/error/id example: '@type': ErrorMessage code: '0995' reason: human error message: Datenstruktur unzulässig. status: not found referenceError: https://api.example.org/error/id TaskStateType: description: |- Possible values for the state of a task are: * `acknowledged`: The acknowledged state is used if a task resource has been received and has passed message and basic business validations. * `rejected`: The task has been rejected during validation or processing. * `inProgress`: The in-progress state is used while the task is being processed. * `done`: The task has been completed and a result is available. type: string enum: - acknowledged - rejected - inProgress - done Message: description: A message described as a combination of a text and a code with additional info where required. type: object properties: code: description: Predefined code corresponding to the message type: string example: '00' text: description: Predefined text describing the message corresponding to the code type: string example: Lorem ipsum dolor additionalInformation: description: additional textual information for the message type: string example: Lorem ipsum dolor messageSource: description: Predefined text describing the message corresponding to the code (e.g. Related) type: string example: Related StateChange: description: Holds the state notification message and associated date the state changed, populated by the server allOf: - $ref: '#/components/schemas/Extensible' - type: object required: - stateChangeDate - state properties: stateChangeDate: description: The date and time the state changed. type: string format: date-time example: '2023-01-01T08:00:00+01:00' stateChangeMessage: description: Message for the state change described as a combination of a text and a code. type: array items: $ref: '#/components/schemas/Message' example: [] state: description: The state of the API resource type: string example: '' TimeSlot: allOf: - $ref: '#/components/schemas/Extensible' - type: object required: - validFor properties: id: description: Unique identifier of the TimeSlot type: string example: 2d7ed5fd-9f62-4211-bc84-357f5f7b80f5 href: description: Reference of the TimeSlot type: string example: https://api.example.org/timeslot/id relatedParty: description: RelatedParty reference. A related party defines party or party role linked to a specific entity. $ref: '#/components/schemas/RelatedPartyOrPartyRole' validFor: description: Start date and end date of the timeSlot $ref: '#/components/schemas/TimePeriod' TargetProductSchema: description: The reference object to the schema and type of target product which is described by product specification type: object properties: '@schemaLocation': description: This field provides a link to the schema describing the target product type: string example: https://schemas.example.com/example/schema '@type': description: Class type of the target product type: string example: '' required: - '@schemaLocation' - '@type' ProductSpecificationRef: description: 'Product specification reference: A ProductSpecification is a detailed description of a tangible or intangible object made available externally in the form of a ProductOffering to customers or other parties playing a party role.' allOf: - $ref: '#/components/schemas/EntityRef' - type: object properties: version: description: Version of the product specification type: string example: '1.0' targetProductSchema: $ref: '#/components/schemas/TargetProductSchema' ProductOffering: description: Represents entities that are orderable from the provider of the catalog, this resource includes pricing information. allOf: - $ref: '#/components/schemas/Entity' - type: object properties: description: description: Description of the productOffering type: string example: Lorem ipsum dolor version: description: ProductOffering version type: string example: '1.0' lifecycleStatus: description: Used to indicate the current lifecycle status type: string example: created name: description: Name of the productOffering type: string example: product offering name productSpecification: description: A ProductSpecification is a detailed description of a tangible or intangible object made available externally in the form of a ProductOffering to customers or other parties playing a party role. $ref: '#/components/schemas/ProductSpecificationRef' Event: description: event with common attributes. allOf: - $ref: '#/components/schemas/Extensible' - type: object properties: eventId: description: The identifier of the notification. type: string example: 2d7ed5fd-9f62-4211-bc84-357f5f7b80f5 eventTime: description: Time of the event occurrence. type: string format: date-time example: '2023-01-01T08:00:00+01:00' eventType: description: The type of the notification. type: string example: '' description: description: An explanatory of the event. type: string example: Lorem ipsum dolor timeOccurred: description: The time the event occurred. type: string format: date-time example: '2023-01-01T08:00:00+01:00' source: description: Source Entity described by EntityRef $ref: '#/components/schemas/EntityRef' reportingSystem: description: Reporting System described by EntityRef $ref: '#/components/schemas/EntityRef' required: - eventId - eventTime - eventType - event examples: EntstoerungVorSearchTimeSlotRequest: description: POST SearchTimeSlot Example - Entstoerung vor Beauftragung (Use Case 1) value: $schema: '##SCHEMA_PATH##' '@type': SearchTimeSlot_FVO appointmentCategory: beforeFaultTicket requestPostedDate: '2024-02-01T10:30:00+01:00' relatedEntity: - '@type': SearchTimeSlotRelatedEntityRefOrValue role: buyerServiceContract entity: '@type': Agreement name: buyerServiceContract engagedParty: - '@type': Organization businessId: '500011' businessId: '500012' agreementType: buyerServiceContract - '@type': SearchTimeSlotRelatedEntityRefOrValue role: ordererServiceContract entity: '@type': Agreement name: ordererServiceContract engagedParty: - '@type': Organization businessId: '500014' businessId: '500013' agreementType: ordererServiceContract - '@type': SearchTimeSlotRelatedEntityRefOrValue role: affectedProduct entity: '@type': ProductRef id: 922ebf01-e930-47a0-842e-059d1f188a15 '@referredType': Product - '@type': SearchTimeSlotRelatedEntityRefOrValue role: singleContract entity: '@type': Agreement name: singleContract businessId: '555001' agreementType: singleContract - '@type': SearchTimeSlotRelatedEntityRefOrValue role: optionalServices entity: '@type': ProductOffering name: Ganzheitliche Entstoerung requestedTimeSlot: - '@type': TimeSlot validFor: startDateTime: '2024-02-02T08:00:00+01:00' endDateTime: '2024-02-02T12:00:00+01:00' EntstoerungNachSearchTimeSlotRequest: description: POST SearchTimeSlot Example - Entstoerung nach Beauftragung (Use Case 2) value: $schema: '##SCHEMA_PATH##' '@type': SearchTimeSlot_FVO appointmentCategory: duringFaultTicket requestPostedDate: '2024-02-01T10:30:00+01:00' relatedEntity: - '@type': SearchTimeSlotRelatedEntityRefOrValue role: buyerServiceContract entity: '@type': Agreement name: buyerServiceContract engagedParty: - '@type': Organization businessId: '500011' businessId: '500012' agreementType: buyerServiceContract - '@type': SearchTimeSlotRelatedEntityRefOrValue role: ordererServiceContract entity: '@type': Agreement name: ordererServiceContract engagedParty: - '@type': Organization businessId: '500014' businessId: '500013' agreementType: ordererServiceContract - '@type': SearchTimeSlotRelatedEntityRefOrValue role: troubleTicket entity: '@type': TroubleTicketRef id: 922ebf01-e930-47a0-842e-059d1f188a15 '@referredType': TroubleTicket - '@type': SearchTimeSlotRelatedEntityRefOrValue role: optionalServices entity: '@type': ProductOffering name: Ganzheitliche Entstoerung requestedTimeSlot: - '@type': TimeSlot validFor: startDateTime: '2024-02-02T08:00:00+01:00' endDateTime: '2024-02-02T12:00:00+01:00' BereitstellungVorSearchTimeSlotRequest: description: POST SearchTimeSlot Example - Bereitstellung vor Beauftragung (Use Case 3) value: $schema: '##SCHEMA_PATH##' '@type': SearchTimeSlot_FVO appointmentCategory: beforeProductOrder requestPostedDate: '2024-02-01T10:30:00+01:00' relatedEntity: - '@type': SearchTimeSlotRelatedEntityRefOrValue role: buyerServiceContract entity: '@type': Agreement name: buyerServiceContract engagedParty: - '@type': Organization businessId: '500011' businessId: '500012' agreementType: buyerServiceContract - '@type': SearchTimeSlotRelatedEntityRefOrValue role: ordererServiceContract entity: '@type': Agreement name: ordererServiceContract engagedParty: - '@type': Organization businessId: '500014' businessId: '500013' agreementType: ordererServiceContract - '@type': SearchTimeSlotRelatedEntityRefOrValue role: affectedQualification entity: '@type': QueryProductOfferingQualificationRef id: 922ebf01-e930-47a0-842e-059d1f188a15 '@referredType': QueryProductOfferingQualification - '@type': SearchTimeSlotRelatedEntityRefOrValue role: affectedQualificationItem entity: '@type': QueryProductOfferingQualificationItemRef id: '1' '@referredType': QueryProductOfferingQualificationItem - '@type': SearchTimeSlotRelatedEntityRefOrValue role: singleContract entity: '@type': Agreement name: singleContract businessId: '555001' agreementType: singleContract - '@type': SearchTimeSlotRelatedEntityRefOrValue role: optionalServices entity: '@type': ProductOffering name: Ganzheitliche Bereitstellung requestedTimeSlot: - '@type': TimeSlot validFor: startDateTime: '2024-02-02T08:00:00+01:00' endDateTime: '2024-02-02T12:00:00+01:00' BereitstellungNachSearchTimeSlotRequest: description: POST SearchTimeSlot Example - Bereitstellung nach Beauftragung (Use Case 4) value: $schema: '##SCHEMA_PATH##' '@type': SearchTimeSlot_FVO appointmentCategory: duringProductOrder requestPostedDate: '2024-02-01T10:30:00+01:00' relatedEntity: - '@type': SearchTimeSlotRelatedEntityRefOrValue role: buyerServiceContract entity: '@type': Agreement name: buyerServiceContract engagedParty: - '@type': Organization businessId: '500011' businessId: '500012' agreementType: buyerServiceContract - '@type': SearchTimeSlotRelatedEntityRefOrValue role: ordererServiceContract entity: '@type': Agreement name: ordererServiceContract engagedParty: - '@type': Organization businessId: '500014' businessId: '500013' agreementType: ordererServiceContract - '@type': SearchTimeSlotRelatedEntityRefOrValue role: affectedProductOrder entity: '@type': ProductOrderRef id: 922ebf01-e930-47a0-842e-059d1f188a15 '@referredType': ProductOrder - '@type': SearchTimeSlotRelatedEntityRefOrValue role: optionalServices entity: '@type': ProductOffering name: Ganzheitliche Bereitstellung requestedTimeSlot: - '@type': TimeSlot validFor: startDateTime: '2024-02-02T08:00:00+01:00' endDateTime: '2024-02-02T12:00:00+01:00' EntstoerungVorSearchTimeSlotCreatedAcknowledged: description: 201 Created (acknowledged) - Use Case 1 value: $schema: '##SCHEMA_PATH##' '@type': SearchTimeSlot id: 158ecded-6aca-4f83-a54e-f35cc53be128 href: https://api.example.com/searchTimeSlot/158ecded-6aca-4f83-a54e-f35cc53be128 appointmentCategory: beforeFaultTicket requestDate: '2024-02-01T10:30:30+01:00' requestPostedDate: '2024-02-01T10:30:00+01:00' state: acknowledged stateChangeDate: '2024-02-01T10:30:15+01:00' relatedEntity: - '@type': SearchTimeSlotRelatedEntityRefOrValue role: buyerServiceContract entity: '@type': Agreement name: buyerServiceContract engagedParty: - '@type': Organization businessId: '500011' businessId: '500012' agreementType: buyerServiceContract - '@type': SearchTimeSlotRelatedEntityRefOrValue role: ordererServiceContract entity: '@type': Agreement name: ordererServiceContract engagedParty: - '@type': Organization businessId: '500014' businessId: '500013' agreementType: ordererServiceContract - '@type': SearchTimeSlotRelatedEntityRefOrValue role: affectedProduct entity: '@type': ProductRef id: 922ebf01-e930-47a0-842e-059d1f188a15 '@referredType': Product - '@type': SearchTimeSlotRelatedEntityRefOrValue role: singleContract entity: '@type': Agreement name: singleContract businessId: '555001' agreementType: singleContract - '@type': SearchTimeSlotRelatedEntityRefOrValue role: optionalServices entity: '@type': ProductOffering name: Ganzheitliche Entstoerung requestedTimeSlot: - '@type': TimeSlot validFor: startDateTime: '2024-02-02T08:00:00+01:00' endDateTime: '2024-02-02T12:00:00+01:00' EntstoerungNachSearchTimeSlotCreatedAcknowledged: description: 201 Created (acknowledged) - Use Case 2 value: $schema: '##SCHEMA_PATH##' '@type': SearchTimeSlot id: 158ecded-6aca-4f83-a54e-f35cc53be128 href: https://api.example.com/searchTimeSlot/158ecded-6aca-4f83-a54e-f35cc53be128 appointmentCategory: duringFaultTicket requestDate: '2024-02-01T10:30:30+01:00' requestPostedDate: '2024-02-01T10:30:00+01:00' state: acknowledged stateChangeDate: '2024-02-01T10:30:15+01:00' relatedEntity: - '@type': SearchTimeSlotRelatedEntityRefOrValue role: buyerServiceContract entity: '@type': Agreement name: buyerServiceContract engagedParty: - '@type': Organization businessId: '500011' businessId: '500012' agreementType: buyerServiceContract - '@type': SearchTimeSlotRelatedEntityRefOrValue role: ordererServiceContract entity: '@type': Agreement name: ordererServiceContract engagedParty: - '@type': Organization businessId: '500014' businessId: '500013' agreementType: ordererServiceContract - '@type': SearchTimeSlotRelatedEntityRefOrValue role: troubleTicket entity: '@type': TroubleTicketRef id: 922ebf01-e930-47a0-842e-059d1f188a15 '@referredType': TroubleTicket - '@type': SearchTimeSlotRelatedEntityRefOrValue role: optionalServices entity: '@type': ProductOffering name: Ganzheitliche Entstoerung requestedTimeSlot: - '@type': TimeSlot validFor: startDateTime: '2024-02-02T08:00:00+01:00' endDateTime: '2024-02-02T12:00:00+01:00' BereitstellungVorSearchTimeSlotCreatedAcknowledged: description: 201 Created (acknowledged) - Use Case 3 value: $schema: '##SCHEMA_PATH##' '@type': SearchTimeSlot id: 158ecded-6aca-4f83-a54e-f35cc53be128 href: https://api.example.com/searchTimeSlot/158ecded-6aca-4f83-a54e-f35cc53be128 appointmentCategory: beforeProductOrder requestDate: '2024-02-01T10:30:30+01:00' requestPostedDate: '2024-02-01T10:30:00+01:00' state: acknowledged stateChangeDate: '2024-02-01T10:30:15+01:00' relatedEntity: - '@type': SearchTimeSlotRelatedEntityRefOrValue role: buyerServiceContract entity: '@type': Agreement name: buyerServiceContract engagedParty: - '@type': Organization businessId: '500011' businessId: '500012' agreementType: buyerServiceContract - '@type': SearchTimeSlotRelatedEntityRefOrValue role: ordererServiceContract entity: '@type': Agreement name: ordererServiceContract engagedParty: - '@type': Organization businessId: '500014' businessId: '500013' agreementType: ordererServiceContract - '@type': SearchTimeSlotRelatedEntityRefOrValue role: affectedQualification entity: '@type': QueryProductOfferingQualificationRef id: 922ebf01-e930-47a0-842e-059d1f188a15 '@referredType': QueryProductOfferingQualification - '@type': SearchTimeSlotRelatedEntityRefOrValue role: affectedQualificationItem entity: '@type': QueryProductOfferingQualificationItemRef id: '1' '@referredType': QueryProductOfferingQualificationItem - '@type': SearchTimeSlotRelatedEntityRefOrValue role: singleContract entity: '@type': Agreement name: singleContract businessId: '555001' agreementType: singleContract - '@type': SearchTimeSlotRelatedEntityRefOrValue role: optionalServices entity: '@type': ProductOffering name: Ganzheitliche Bereitstellung requestedTimeSlot: - '@type': TimeSlot validFor: startDateTime: '2024-02-02T08:00:00+01:00' endDateTime: '2024-02-02T12:00:00+01:00' BereitstellungNachSearchTimeSlotCreatedAcknowledged: description: 201 Created (acknowledged) - Use Case 4 value: $schema: '##SCHEMA_PATH##' '@type': SearchTimeSlot id: 158ecded-6aca-4f83-a54e-f35cc53be128 href: https://api.example.com/searchTimeSlot/158ecded-6aca-4f83-a54e-f35cc53be128 appointmentCategory: duringProductOrder requestDate: '2024-02-01T10:30:30+01:00' requestPostedDate: '2024-02-01T10:30:00+01:00' state: acknowledged stateChangeDate: '2024-02-01T10:30:15+01:00' relatedEntity: - '@type': SearchTimeSlotRelatedEntityRefOrValue role: buyerServiceContract entity: '@type': Agreement name: buyerServiceContract engagedParty: - '@type': Organization businessId: '500011' businessId: '500012' agreementType: buyerServiceContract - '@type': SearchTimeSlotRelatedEntityRefOrValue role: ordererServiceContract entity: '@type': Agreement name: ordererServiceContract engagedParty: - '@type': Organization businessId: '500014' businessId: '500013' agreementType: ordererServiceContract - '@type': SearchTimeSlotRelatedEntityRefOrValue role: affectedProductOrder entity: '@type': ProductOrderRef id: 922ebf01-e930-47a0-842e-059d1f188a15 '@referredType': ProductOrder - '@type': SearchTimeSlotRelatedEntityRefOrValue role: optionalServices entity: '@type': ProductOffering name: Ganzheitliche Bereitstellung requestedTimeSlot: - '@type': TimeSlot validFor: startDateTime: '2024-02-02T08:00:00+01:00' endDateTime: '2024-02-02T12:00:00+01:00' EntstoerungVorAppointmentRequest: description: POST Appointment Example - Entstoerung vor Beauftragung (Use Case 1) value: $schema: '##SCHEMA_PATH##' '@type': Appointment_FVO category: beforeFaultTicket relatedEntity: - '@type': AppointmentRelatedEntityRefOrValue role: buyerServiceContract entity: '@type': Agreement name: buyerServiceContract engagedParty: - '@type': Organization businessId: '500011' businessId: '500012' agreementType: buyerServiceContract - '@type': AppointmentRelatedEntityRefOrValue role: ordererServiceContract entity: '@type': Agreement name: ordererServiceContract engagedParty: - '@type': Organization businessId: '500014' businessId: '500013' agreementType: ordererServiceContract - '@type': AppointmentRelatedEntityRefOrValue role: affectedProduct entity: '@type': ProductRef id: 922ebf01-e930-47a0-842e-059d1f188a15 '@referredType': Product - '@type': AppointmentRelatedEntityRefOrValue role: singleContract entity: '@type': Agreement name: singleContract businessId: '555001' agreementType: singleContract - '@type': AppointmentRelatedEntityRefOrValue role: searchTimeSlot entity: '@type': SearchTimeslotRef id: 158ecded-6aca-4f83-a54e-f35cc53be128 '@referredType': SearchTimeslot - '@type': AppointmentRelatedEntityRefOrValue role: availableTimeSlot entity: '@type': AvailableTimeslotRef id: 321e0c9d-1112-41ac-9251-45fe542f92 '@referredType': AvailableTimeslot validFor: startDateTime: '2024-02-02T14:00:00+01:00' endDateTime: '2024-02-02T15:00:00+01:00' EntstoerungNachAppointmentRequest: description: POST Appointment Example - Entstoerung nach Beauftragung (Use Case 2) value: $schema: '##SCHEMA_PATH##' '@type': Appointment_FVO category: duringFaultTicket relatedEntity: - '@type': AppointmentRelatedEntityRefOrValue role: buyerServiceContract entity: '@type': Agreement name: buyerServiceContract engagedParty: - '@type': Organization businessId: '500011' businessId: '500012' agreementType: buyerServiceContract - '@type': AppointmentRelatedEntityRefOrValue role: ordererServiceContract entity: '@type': Agreement name: ordererServiceContract engagedParty: - '@type': Organization businessId: '500014' businessId: '500013' agreementType: ordererServiceContract - '@type': AppointmentRelatedEntityRefOrValue role: troubleTicket entity: '@type': TroubleTicketRef id: 922ebf01-e930-47a0-842e-059d1f188a15 '@referredType': TroubleTicket - '@type': AppointmentRelatedEntityRefOrValue role: searchTimeSlot entity: '@type': SearchTimeslotRef id: 158ecded-6aca-4f83-a54e-f35cc53be128 '@referredType': SearchTimeslot - '@type': AppointmentRelatedEntityRefOrValue role: availableTimeSlot entity: '@type': AvailableTimeslotRef id: 321e0c9d-1112-41ac-9251-45fe542f92 '@referredType': AvailableTimeslot validFor: startDateTime: '2024-02-02T14:00:00+01:00' endDateTime: '2024-02-02T15:00:00+01:00' BereitstellungVorAppointmentRequest: description: POST Appointment Example - Bereitstellung vor Beauftragung (Use Case 3) value: $schema: '##SCHEMA_PATH##' '@type': Appointment_FVO category: beforeProductOrder relatedEntity: - '@type': AppointmentRelatedEntityRefOrValue role: buyerServiceContract entity: '@type': Agreement name: buyerServiceContract engagedParty: - '@type': Organization businessId: '500011' businessId: '500012' agreementType: buyerServiceContract - '@type': AppointmentRelatedEntityRefOrValue role: ordererServiceContract entity: '@type': Agreement name: ordererServiceContract engagedParty: - '@type': Organization businessId: '500014' businessId: '500013' agreementType: ordererServiceContract - '@type': AppointmentRelatedEntityRefOrValue role: singleContract entity: '@type': Agreement name: singleContract businessId: '555001' agreementType: singleContract - '@type': AppointmentRelatedEntityRefOrValue role: searchTimeSlot entity: '@type': SearchTimeslotRef id: 158ecded-6aca-4f83-a54e-f35cc53be128 '@referredType': SearchTimeslot - '@type': AppointmentRelatedEntityRefOrValue role: availableTimeSlot entity: '@type': AvailableTimeslotRef id: 321e0c9d-1112-41ac-9251-45fe542f92 '@referredType': AvailableTimeslot validFor: startDateTime: '2024-02-02T14:00:00+01:00' endDateTime: '2024-02-02T15:00:00+01:00' BereitstellungNachAppointmentRequest: description: POST Appointment Example - Bereitstellung nach Beauftragung (Use Case 4) value: $schema: '##SCHEMA_PATH##' '@type': Appointment_FVO category: duringProductOrder relatedEntity: - '@type': AppointmentRelatedEntityRefOrValue role: buyerServiceContract entity: '@type': Agreement name: buyerServiceContract engagedParty: - '@type': Organization businessId: '500011' businessId: '500012' agreementType: buyerServiceContract - '@type': AppointmentRelatedEntityRefOrValue role: ordererServiceContract entity: '@type': Agreement name: ordererServiceContract engagedParty: - '@type': Organization businessId: '500014' businessId: '500013' agreementType: ordererServiceContract - '@type': AppointmentRelatedEntityRefOrValue role: productOrder entity: '@type': ProductOrderRef id: 922ebf01-e930-47a0-842e-059d1f188a15 '@referredType': ProductOrder - '@type': AppointmentRelatedEntityRefOrValue role: searchTimeSlot entity: '@type': SearchTimeslotRef id: 158ecded-6aca-4f83-a54e-f35cc53be128 '@referredType': SearchTimeslot - '@type': AppointmentRelatedEntityRefOrValue role: availableTimeSlot entity: '@type': AvailableTimeslotRef id: 321e0c9d-1112-41ac-9251-45fe542f92 '@referredType': AvailableTimeslot validFor: startDateTime: '2024-02-02T14:00:00+01:00' endDateTime: '2024-02-02T15:00:00+01:00' EntstoerungVorAppointmentCreatedInitialized: description: 201 Created (initialized) - Use Case 1 value: $schema: '##SCHEMA_PATH##' '@type': Appointment id: 6c792dbc-abad-464d-843b-42cd7444edeb href: https://api.example.com/appointment/6c792dbc-abad-464d-843b-42cd7444edeb category: beforeFaultTicket creationDate: '2024-02-01T10:59:00+01:00' lastUpdate: '2024-02-01T10:59:00+01:00' relatedEntity: - '@type': AppointmentRelatedEntityRefOrValue role: buyerServiceContract entity: '@type': Agreement name: buyerServiceContract engagedParty: - '@type': Organization businessId: '500011' businessId: '500012' agreementType: buyerServiceContract - '@type': AppointmentRelatedEntityRefOrValue role: ordererServiceContract entity: '@type': Agreement name: ordererServiceContract engagedParty: - '@type': Organization businessId: '500014' businessId: '500013' agreementType: ordererServiceContract - '@type': AppointmentRelatedEntityRefOrValue role: affectedProduct entity: '@type': ProductRef id: 922ebf01-e930-47a0-842e-059d1f188a15 '@referredType': Product - '@type': AppointmentRelatedEntityRefOrValue role: singleContract entity: '@type': Agreement name: singleContract businessId: '555001' agreementType: singleContract - '@type': AppointmentRelatedEntityRefOrValue role: searchTimeSlot entity: '@type': SearchTimeslotRef id: 158ecded-6aca-4f83-a54e-f35cc53be128 '@referredType': SearchTimeslot - '@type': AppointmentRelatedEntityRefOrValue role: availableTimeSlot entity: '@type': AvailableTimeslotRef id: 321e0c9d-1112-41ac-9251-45fe542f92 '@referredType': AvailableTimeslot status: initialized validFor: startDateTime: '2024-02-02T14:00:00+01:00' endDateTime: '2024-02-02T15:00:00+01:00' EntstoerungNachAppointmentCreatedInitialized: description: 201 Created (initialized) - Use Case 2 value: $schema: '##SCHEMA_PATH##' '@type': Appointment id: 6c792dbc-abad-464d-843b-42cd7444edeb href: https://api.example.com/appointment/6c792dbc-abad-464d-843b-42cd7444edeb category: duringFaultTicket creationDate: '2024-02-01T10:59:00+01:00' lastUpdate: '2024-02-01T10:59:00+01:00' relatedEntity: - '@type': AppointmentRelatedEntityRefOrValue role: buyerServiceContract entity: '@type': Agreement name: buyerServiceContract engagedParty: - '@type': Organization businessId: '500011' businessId: '500012' agreementType: buyerServiceContract - '@type': AppointmentRelatedEntityRefOrValue role: ordererServiceContract entity: '@type': Agreement name: ordererServiceContract engagedParty: - '@type': Organization businessId: '500014' businessId: '500013' agreementType: ordererServiceContract - '@type': AppointmentRelatedEntityRefOrValue role: troubleTicket entity: '@type': TroubleTicketRef id: 922ebf01-e930-47a0-842e-059d1f188a15 '@referredType': TroubleTicket - '@type': AppointmentRelatedEntityRefOrValue role: searchTimeSlot entity: '@type': SearchTimeslotRef id: 158ecded-6aca-4f83-a54e-f35cc53be128 '@referredType': SearchTimeslot - '@type': AppointmentRelatedEntityRefOrValue role: availableTimeSlot entity: '@type': AvailableTimeslotRef id: 321e0c9d-1112-41ac-9251-45fe542f92 '@referredType': AvailableTimeslot status: initialized validFor: startDateTime: '2024-02-02T14:00:00+01:00' endDateTime: '2024-02-02T15:00:00+01:00' BereitstellungVorAppointmentCreatedInitialized: description: 201 Created (initialized) - Use Case 3 value: $schema: '##SCHEMA_PATH##' '@type': Appointment id: 6c792dbc-abad-464d-843b-42cd7444edeb href: https://api.example.com/appointment/6c792dbc-abad-464d-843b-42cd7444edeb category: beforeProductOrder creationDate: '2024-02-01T10:59:00+01:00' lastUpdate: '2024-02-01T10:59:00+01:00' relatedEntity: - '@type': AppointmentRelatedEntityRefOrValue role: buyerServiceContract entity: '@type': Agreement name: buyerServiceContract engagedParty: - '@type': Organization businessId: '500011' businessId: '500012' agreementType: buyerServiceContract - '@type': AppointmentRelatedEntityRefOrValue role: ordererServiceContract entity: '@type': Agreement name: ordererServiceContract engagedParty: - '@type': Organization businessId: '500014' businessId: '500013' agreementType: ordererServiceContract - '@type': AppointmentRelatedEntityRefOrValue role: singleContract entity: '@type': Agreement name: singleContract businessId: '555001' agreementType: singleContract - '@type': AppointmentRelatedEntityRefOrValue role: troubleTicket entity: '@type': TroubleTicketRef id: 922ebf01-e930-47a0-842e-059d1f188a15 '@referredType': TroubleTicket - '@type': AppointmentRelatedEntityRefOrValue role: searchTimeSlot entity: '@type': SearchTimeslotRef id: 158ecded-6aca-4f83-a54e-f35cc53be128 '@referredType': SearchTimeslot - '@type': AppointmentRelatedEntityRefOrValue role: availableTimeSlot entity: '@type': AvailableTimeslotRef id: 321e0c9d-1112-41ac-9251-45fe542f92 '@referredType': AvailableTimeslot status: initialized validFor: startDateTime: '2024-02-02T14:00:00+01:00' endDateTime: '2024-02-02T15:00:00+01:00' BereitstellungNachAppointmentCreatedInitialized: description: 201 Created (initialized) - Use Case 4 value: $schema: '##SCHEMA_PATH##' '@type': Appointment id: 6c792dbc-abad-464d-843b-42cd7444edeb href: https://api.example.com/appointment/6c792dbc-abad-464d-843b-42cd7444edeb category: duringProductOrder creationDate: '2024-02-01T10:59:00+01:00' lastUpdate: '2024-02-01T10:59:00+01:00' relatedEntity: - '@type': AppointmentRelatedEntityRefOrValue role: buyerServiceContract entity: '@type': Agreement name: buyerServiceContract engagedParty: - '@type': Organization businessId: '500011' businessId: '500012' agreementType: buyerServiceContract - '@type': AppointmentRelatedEntityRefOrValue role: ordererServiceContract entity: '@type': Agreement name: ordererServiceContract engagedParty: - '@type': Organization businessId: '500014' businessId: '500013' agreementType: ordererServiceContract - '@type': AppointmentRelatedEntityRefOrValue role: productOrder entity: '@type': ProductOrderRef id: 922ebf01-e930-47a0-842e-059d1f188a15 '@referredType': ProductOrder - '@type': AppointmentRelatedEntityRefOrValue role: searchTimeSlot entity: '@type': SearchTimeslotRef id: 158ecded-6aca-4f83-a54e-f35cc53be128 '@referredType': SearchTimeslot - '@type': AppointmentRelatedEntityRefOrValue role: availableTimeSlot entity: '@type': AvailableTimeslotRef id: 321e0c9d-1112-41ac-9251-45fe542f92 '@referredType': AvailableTimeslot status: initialized validFor: startDateTime: '2024-02-02T14:00:00+01:00' endDateTime: '2024-02-02T15:00:00+01:00' EntstoerungVorSearchTimeSlotStateChangeInProgressEvent: description: SearchTimeSlotStateChangeEvent (inProgress) - Use Case 1 value: $schema: '##SCHEMA_PATH##' '@type': SearchTimeSlotStateChangeEvent eventId: entstoerung-vor-3-searchtimeslot-state-change-in-progress eventTime: '2024-02-01T10:31:00+01:00' eventType: SearchTimeSlotStateChangeEvent event: searchTimeSlot: '@type': SearchTimeSlot id: 158ecded-6aca-4f83-a54e-f35cc53be128 href: https://api.example.com/searchTimeSlot/158ecded-6aca-4f83-a54e-f35cc53be128 appointmentCategory: beforeFaultTicket requestDate: '2024-02-01T10:30:30+01:00' requestPostedDate: '2024-02-01T10:30:00+01:00' state: inProgress stateChangeDate: '2024-02-01T10:31:00+01:00' relatedEntity: - '@type': SearchTimeSlotRelatedEntityRefOrValue role: buyerServiceContract entity: '@type': Agreement name: buyerServiceContract engagedParty: - '@type': Organization businessId: '500011' businessId: '500012' agreementType: buyerServiceContract - '@type': SearchTimeSlotRelatedEntityRefOrValue role: ordererServiceContract entity: '@type': Agreement name: ordererServiceContract engagedParty: - '@type': Organization businessId: '500014' businessId: '500013' agreementType: ordererServiceContract - '@type': SearchTimeSlotRelatedEntityRefOrValue role: affectedProduct entity: '@type': ProductRef id: 922ebf01-e930-47a0-842e-059d1f188a15 '@referredType': Product - '@type': SearchTimeSlotRelatedEntityRefOrValue role: singleContract entity: '@type': Agreement name: singleContract businessId: '555001' agreementType: singleContract - '@type': SearchTimeSlotRelatedEntityRefOrValue role: optionalServices entity: '@type': ProductOffering name: Ganzheitliche Entstoerung requestedTimeSlot: - '@type': TimeSlot validFor: startDateTime: '2024-02-02T08:00:00+01:00' endDateTime: '2024-02-02T12:00:00+01:00' EntstoerungVorSearchTimeSlotStateChangeDoneEvent: description: SearchTimeSlotStateChangeEvent (done) - Use Case 1 value: $schema: '##SCHEMA_PATH##' '@type': SearchTimeSlotStateChangeEvent eventId: entstoerung-vor-5-searchtimeslot-state-change-done eventTime: '2024-02-01T10:32:00+01:00' eventType: SearchTimeSlotStateChangeEvent event: searchTimeSlot: '@type': SearchTimeSlot id: 158ecded-6aca-4f83-a54e-f35cc53be128 href: https://api.example.com/searchTimeSlot/158ecded-6aca-4f83-a54e-f35cc53be128 appointmentCategory: beforeFaultTicket requestDate: '2024-02-01T10:30:30+01:00' requestPostedDate: '2024-02-01T10:30:00+01:00' state: done stateChangeDate: '2024-02-01T10:32:00+01:00' availableTimeSlot: - '@type': TimeSlot id: e2cd000f-4731-4036-b481-d70d7617c70e validFor: startDateTime: '2024-02-02T14:00:00+01:00' endDateTime: '2024-02-02T15:00:00+01:00' - '@type': TimeSlot id: 321e0c9d-1112-41ac-9251-45fe542f92 validFor: startDateTime: '2024-02-03T08:00:00+01:00' endDateTime: '2024-02-03T12:00:00+01:00' relatedEntity: - '@type': SearchTimeSlotRelatedEntityRefOrValue role: buyerServiceContract entity: '@type': Agreement name: buyerServiceContract engagedParty: - '@type': Organization businessId: '500011' businessId: '500012' agreementType: buyerServiceContract - '@type': SearchTimeSlotRelatedEntityRefOrValue role: ordererServiceContract entity: '@type': Agreement name: ordererServiceContract engagedParty: - '@type': Organization businessId: '500014' businessId: '500013' agreementType: ordererServiceContract - '@type': SearchTimeSlotRelatedEntityRefOrValue role: affectedProduct entity: '@type': ProductRef id: 922ebf01-e930-47a0-842e-059d1f188a15 '@referredType': Product - '@type': SearchTimeSlotRelatedEntityRefOrValue role: singleContract entity: '@type': Agreement name: singleContract businessId: '555001' agreementType: singleContract - '@type': SearchTimeSlotRelatedEntityRefOrValue role: optionalServices entity: '@type': ProductOffering name: Ganzheitliche Entstoerung requestedTimeSlot: - '@type': TimeSlot validFor: startDateTime: '2024-02-02T08:00:00+01:00' endDateTime: '2024-02-02T12:00:00+01:00' EntstoerungNachSearchTimeSlotStateChangeInProgressEvent: description: SearchTimeSlotStateChangeEvent (inProgress) - Use Case 2 value: $schema: '##SCHEMA_PATH##' '@type': SearchTimeSlotStateChangeEvent eventId: entstoerung-nach-3-searchtimeslot-state-change-in-progress eventTime: '2024-02-01T10:31:00+01:00' eventType: SearchTimeSlotStateChangeEvent event: searchTimeSlot: '@type': SearchTimeSlot id: 158ecded-6aca-4f83-a54e-f35cc53be128 href: https://api.example.com/searchTimeSlot/158ecded-6aca-4f83-a54e-f35cc53be128 appointmentCategory: duringFaultTicket requestDate: '2024-02-01T10:30:30+01:00' requestPostedDate: '2024-02-01T10:30:00+01:00' state: inProgress stateChangeDate: '2024-02-01T10:31:00+01:00' relatedEntity: - '@type': SearchTimeSlotRelatedEntityRefOrValue role: buyerServiceContract entity: '@type': Agreement name: buyerServiceContract engagedParty: - '@type': Organization businessId: '500011' businessId: '500012' agreementType: buyerServiceContract - '@type': SearchTimeSlotRelatedEntityRefOrValue role: ordererServiceContract entity: '@type': Agreement name: ordererServiceContract engagedParty: - '@type': Organization businessId: '500014' businessId: '500013' agreementType: ordererServiceContract - '@type': SearchTimeSlotRelatedEntityRefOrValue role: troubleTicket entity: '@type': TroubleTicketRef id: 922ebf01-e930-47a0-842e-059d1f188a15 '@referredType': TroubleTicket - '@type': SearchTimeSlotRelatedEntityRefOrValue role: optionalServices entity: '@type': ProductOffering name: Ganzheitliche Entstoerung requestedTimeSlot: - '@type': TimeSlot validFor: startDateTime: '2024-02-02T08:00:00+01:00' endDateTime: '2024-02-02T12:00:00+01:00' EntstoerungNachSearchTimeSlotStateChangeDoneEvent: description: SearchTimeSlotStateChangeEvent (done) - Use Case 2 value: $schema: '##SCHEMA_PATH##' '@type': SearchTimeSlotStateChangeEvent eventId: entstoerung-nach-5-searchtimeslot-state-change-done eventTime: '2024-02-01T10:32:00+01:00' eventType: SearchTimeSlotStateChangeEvent event: searchTimeSlot: '@type': SearchTimeSlot id: 158ecded-6aca-4f83-a54e-f35cc53be128 href: https://api.example.com/searchTimeSlot/158ecded-6aca-4f83-a54e-f35cc53be128 appointmentCategory: duringFaultTicket requestDate: '2024-02-01T10:30:30+01:00' requestPostedDate: '2024-02-01T10:30:00+01:00' state: done stateChangeDate: '2024-02-01T10:32:00+01:00' availableTimeSlot: - '@type': TimeSlot id: e2cd000f-4731-4036-b481-d70d7617c70e validFor: startDateTime: '2024-02-02T14:00:00+01:00' endDateTime: '2024-02-02T15:00:00+01:00' - '@type': TimeSlot id: 321e0c9d-1112-41ac-9251-45fe542f92 validFor: startDateTime: '2024-02-03T08:00:00+01:00' endDateTime: '2024-02-03T12:00:00+01:00' relatedEntity: - '@type': SearchTimeSlotRelatedEntityRefOrValue role: buyerServiceContract entity: '@type': Agreement name: buyerServiceContract engagedParty: - '@type': Organization businessId: '500011' businessId: '500012' agreementType: buyerServiceContract - '@type': SearchTimeSlotRelatedEntityRefOrValue role: ordererServiceContract entity: '@type': Agreement name: ordererServiceContract engagedParty: - '@type': Organization businessId: '500014' businessId: '500013' agreementType: ordererServiceContract - '@type': SearchTimeSlotRelatedEntityRefOrValue role: troubleTicket entity: '@type': TroubleTicketRef id: 922ebf01-e930-47a0-842e-059d1f188a15 '@referredType': TroubleTicket - '@type': SearchTimeSlotRelatedEntityRefOrValue role: optionalServices entity: '@type': ProductOffering name: Ganzheitliche Entstoerung requestedTimeSlot: - '@type': TimeSlot validFor: startDateTime: '2024-02-02T08:00:00+01:00' endDateTime: '2024-02-02T12:00:00+01:00' BereitstellungVorSearchTimeSlotStateChangeInProgressEvent: description: SearchTimeSlotStateChangeEvent (inProgress) - Use Case 3 value: $schema: '##SCHEMA_PATH##' '@type': SearchTimeSlotStateChangeEvent eventId: bereitstellung-vor-3-searchtimeslot-state-change-in-progress eventTime: '2024-02-01T10:31:00+01:00' eventType: SearchTimeSlotStateChangeEvent event: searchTimeSlot: '@type': SearchTimeSlot id: 158ecded-6aca-4f83-a54e-f35cc53be128 href: https://api.example.com/searchTimeSlot/158ecded-6aca-4f83-a54e-f35cc53be128 appointmentCategory: beforeProductOrder requestDate: '2024-02-01T10:30:30+01:00' requestPostedDate: '2024-02-01T10:30:00+01:00' state: inProgress stateChangeDate: '2024-02-01T10:31:00+01:00' relatedEntity: - '@type': SearchTimeSlotRelatedEntityRefOrValue role: buyerServiceContract entity: '@type': Agreement name: buyerServiceContract engagedParty: - '@type': Organization businessId: '500011' businessId: '500012' agreementType: buyerServiceContract - '@type': SearchTimeSlotRelatedEntityRefOrValue role: ordererServiceContract entity: '@type': Agreement name: ordererServiceContract engagedParty: - '@type': Organization businessId: '500014' businessId: '500013' agreementType: ordererServiceContract - '@type': SearchTimeSlotRelatedEntityRefOrValue role: affectedQualification entity: '@type': QueryProductOfferingQualificationRef id: 922ebf01-e930-47a0-842e-059d1f188a15 '@referredType': QueryProductOfferingQualification - '@type': SearchTimeSlotRelatedEntityRefOrValue role: affectedQualificationItem entity: '@type': QueryProductOfferingQualificationItemRef id: '1' '@referredType': QueryProductOfferingQualificationItem - '@type': SearchTimeSlotRelatedEntityRefOrValue role: singleContract entity: '@type': Agreement name: singleContract businessId: '555001' agreementType: singleContract - '@type': SearchTimeSlotRelatedEntityRefOrValue role: optionalServices entity: '@type': ProductOffering name: Ganzheitliche Bereitstellung requestedTimeSlot: - '@type': TimeSlot validFor: startDateTime: '2024-02-02T08:00:00+01:00' endDateTime: '2024-02-02T12:00:00+01:00' BereitstellungVorSearchTimeSlotStateChangeDoneEvent: description: SearchTimeSlotStateChangeEvent (done) - Use Case 3 value: $schema: '##SCHEMA_PATH##' '@type': SearchTimeSlotStateChangeEvent eventId: bereitstellung-vor-5-searchtimeslot-state-change-done eventTime: '2024-02-01T10:32:00+01:00' eventType: SearchTimeSlotStateChangeEvent event: searchTimeSlot: '@type': SearchTimeSlot id: 158ecded-6aca-4f83-a54e-f35cc53be128 href: https://api.example.com/searchTimeSlot/158ecded-6aca-4f83-a54e-f35cc53be128 appointmentCategory: beforeProductOrder requestDate: '2024-02-01T10:30:30+01:00' requestPostedDate: '2024-02-01T10:30:00+01:00' state: done stateChangeDate: '2024-02-01T10:32:00+01:00' availableTimeSlot: - '@type': TimeSlot id: e2cd000f-4731-4036-b481-d70d7617c70e validFor: startDateTime: '2024-02-02T14:00:00+01:00' endDateTime: '2024-02-02T15:00:00+01:00' - '@type': TimeSlot id: 321e0c9d-1112-41ac-9251-45fe542f92 validFor: startDateTime: '2024-02-03T08:00:00+01:00' endDateTime: '2024-02-03T12:00:00+01:00' relatedEntity: - '@type': SearchTimeSlotRelatedEntityRefOrValue role: buyerServiceContract entity: '@type': Agreement name: buyerServiceContract engagedParty: - '@type': Organization businessId: '500011' businessId: '500012' agreementType: buyerServiceContract - '@type': SearchTimeSlotRelatedEntityRefOrValue role: ordererServiceContract entity: '@type': Agreement name: ordererServiceContract engagedParty: - '@type': Organization businessId: '500014' businessId: '500013' agreementType: ordererServiceContract - '@type': SearchTimeSlotRelatedEntityRefOrValue role: affectedQualification entity: '@type': QueryProductOfferingQualificationRef id: 922ebf01-e930-47a0-842e-059d1f188a15 '@referredType': QueryProductOfferingQualification - '@type': SearchTimeSlotRelatedEntityRefOrValue role: affectedQualificationItem entity: '@type': QueryProductOfferingQualificationItemRef id: '1' '@referredType': QueryProductOfferingQualificationItem - '@type': SearchTimeSlotRelatedEntityRefOrValue role: singleContract entity: '@type': Agreement name: singleContract businessId: '555001' agreementType: singleContract - '@type': SearchTimeSlotRelatedEntityRefOrValue role: optionalServices entity: '@type': ProductOffering name: Ganzheitliche Bereitstellung requestedTimeSlot: - '@type': TimeSlot validFor: startDateTime: '2024-02-02T08:00:00+01:00' endDateTime: '2024-02-02T12:00:00+01:00' BereitstellungNachSearchTimeSlotStateChangeInProgressEvent: description: SearchTimeSlotStateChangeEvent (inProgress) - Use Case 4 value: $schema: '##SCHEMA_PATH##' '@type': SearchTimeSlotStateChangeEvent eventId: bereitstellung-nach-3-searchtimeslot-state-change-in-progress eventTime: '2024-02-01T10:31:00+01:00' eventType: SearchTimeSlotStateChangeEvent event: searchTimeSlot: '@type': SearchTimeSlot id: 158ecded-6aca-4f83-a54e-f35cc53be128 href: https://api.example.com/searchTimeSlot/158ecded-6aca-4f83-a54e-f35cc53be128 appointmentCategory: duringProductOrder requestDate: '2024-02-01T10:30:30+01:00' requestPostedDate: '2024-02-01T10:30:00+01:00' state: inProgress stateChangeDate: '2024-02-01T10:31:00+01:00' relatedEntity: - '@type': SearchTimeSlotRelatedEntityRefOrValue role: buyerServiceContract entity: '@type': Agreement name: buyerServiceContract engagedParty: - '@type': Organization businessId: '500011' businessId: '500012' agreementType: buyerServiceContract - '@type': SearchTimeSlotRelatedEntityRefOrValue role: ordererServiceContract entity: '@type': Agreement name: ordererServiceContract engagedParty: - '@type': Organization businessId: '500014' businessId: '500013' agreementType: ordererServiceContract - '@type': SearchTimeSlotRelatedEntityRefOrValue role: affectedProductOrder entity: '@type': ProductOrderRef id: 922ebf01-e930-47a0-842e-059d1f188a15 '@referredType': ProductOrder - '@type': SearchTimeSlotRelatedEntityRefOrValue role: optionalServices entity: '@type': ProductOffering name: Ganzheitliche Bereitstellung requestedTimeSlot: - '@type': TimeSlot validFor: startDateTime: '2024-02-02T08:00:00+01:00' endDateTime: '2024-02-02T12:00:00+01:00' BereitstellungNachSearchTimeSlotStateChangeDoneEvent: description: SearchTimeSlotStateChangeEvent (done) - Use Case 4 value: $schema: '##SCHEMA_PATH##' '@type': SearchTimeSlotStateChangeEvent eventId: bereitstellung-nach-5-searchtimeslot-state-change-done eventTime: '2024-02-01T10:32:00+01:00' eventType: SearchTimeSlotStateChangeEvent event: searchTimeSlot: '@type': SearchTimeSlot id: 158ecded-6aca-4f83-a54e-f35cc53be128 href: https://api.example.com/searchTimeSlot/158ecded-6aca-4f83-a54e-f35cc53be128 appointmentCategory: duringProductOrder requestDate: '2024-02-01T10:30:30+01:00' requestPostedDate: '2024-02-01T10:30:00+01:00' state: done stateChangeDate: '2024-02-01T10:32:00+01:00' availableTimeSlot: - '@type': TimeSlot id: e2cd000f-4731-4036-b481-d70d7617c70e validFor: startDateTime: '2024-02-02T14:00:00+01:00' endDateTime: '2024-02-02T15:00:00+01:00' - '@type': TimeSlot id: 321e0c9d-1112-41ac-9251-45fe542f92 validFor: startDateTime: '2024-02-03T08:00:00+01:00' endDateTime: '2024-02-03T12:00:00+01:00' relatedEntity: - '@type': SearchTimeSlotRelatedEntityRefOrValue role: buyerServiceContract entity: '@type': Agreement name: buyerServiceContract engagedParty: - '@type': Organization businessId: '500011' businessId: '500012' agreementType: buyerServiceContract - '@type': SearchTimeSlotRelatedEntityRefOrValue role: ordererServiceContract entity: '@type': Agreement name: ordererServiceContract engagedParty: - '@type': Organization businessId: '500014' businessId: '500013' agreementType: ordererServiceContract - '@type': SearchTimeSlotRelatedEntityRefOrValue role: affectedProductOrder entity: '@type': ProductOrderRef id: 922ebf01-e930-47a0-842e-059d1f188a15 '@referredType': ProductOrder - '@type': SearchTimeSlotRelatedEntityRefOrValue role: optionalServices entity: '@type': ProductOffering name: Ganzheitliche Bereitstellung requestedTimeSlot: - '@type': TimeSlot validFor: startDateTime: '2024-02-02T08:00:00+01:00' endDateTime: '2024-02-02T12:00:00+01:00' EntstoerungVorSearchTimeSlotAttributeValueChangeEvent: description: SearchTimeSlotAttributeValueChangeEvent - Use Case 1 value: $schema: '##SCHEMA_PATH##' '@type': SearchTimeSlotAttributeValueChangeEvent eventId: entstoerung-vor-4-searchtimeslot-attribute-value-change eventTime: '2024-02-01T10:31:30+01:00' eventType: SearchTimeSlotAttributeValueChangeEvent event: searchTimeSlot: '@type': SearchTimeSlot id: 158ecded-6aca-4f83-a54e-f35cc53be128 href: https://api.example.com/searchTimeSlot/158ecded-6aca-4f83-a54e-f35cc53be128 appointmentCategory: beforeFaultTicket requestDate: '2024-02-01T10:30:30+01:00' requestPostedDate: '2024-02-01T10:30:00+01:00' state: inProgress stateChangeDate: '2024-02-01T10:31:30+01:00' availableTimeSlot: - '@type': TimeSlot id: e2cd000f-4731-4036-b481-d70d7617c70e validFor: startDateTime: '2024-02-02T14:00:00+01:00' endDateTime: '2024-02-02T15:00:00+01:00' - '@type': TimeSlot id: 321e0c9d-1112-41ac-9251-45fe542f92 validFor: startDateTime: '2024-02-03T08:00:00+01:00' endDateTime: '2024-02-03T12:00:00+01:00' relatedEntity: - '@type': SearchTimeSlotRelatedEntityRefOrValue role: buyerServiceContract entity: '@type': Agreement name: buyerServiceContract engagedParty: - '@type': Organization businessId: '500011' businessId: '500012' agreementType: buyerServiceContract - '@type': SearchTimeSlotRelatedEntityRefOrValue role: ordererServiceContract entity: '@type': Agreement name: ordererServiceContract engagedParty: - '@type': Organization businessId: '500014' businessId: '500013' agreementType: ordererServiceContract - '@type': SearchTimeSlotRelatedEntityRefOrValue role: affectedProduct entity: '@type': ProductRef id: 922ebf01-e930-47a0-842e-059d1f188a15 '@referredType': Product - '@type': SearchTimeSlotRelatedEntityRefOrValue role: singleContract entity: '@type': Agreement name: singleContract businessId: '555001' agreementType: singleContract - '@type': SearchTimeSlotRelatedEntityRefOrValue role: optionalServices entity: '@type': ProductOffering name: Ganzheitliche Entstoerung requestedTimeSlot: - '@type': TimeSlot validFor: startDateTime: '2024-02-02T08:00:00+01:00' endDateTime: '2024-02-02T12:00:00+01:00' EntstoerungNachSearchTimeSlotAttributeValueChangeEvent: description: SearchTimeSlotAttributeValueChangeEvent - Use Case 2 value: $schema: '##SCHEMA_PATH##' '@type': SearchTimeSlotAttributeValueChangeEvent eventId: entstoerung-nach-4-searchtimeslot-attribute-value-change eventTime: '2024-02-01T10:31:30+01:00' eventType: SearchTimeSlotAttributeValueChangeEvent event: searchTimeSlot: '@type': SearchTimeSlot id: 158ecded-6aca-4f83-a54e-f35cc53be128 href: https://api.example.com/searchTimeSlot/158ecded-6aca-4f83-a54e-f35cc53be128 appointmentCategory: duringFaultTicket requestDate: '2024-02-01T10:30:30+01:00' requestPostedDate: '2024-02-01T10:30:00+01:00' state: inProgress stateChangeDate: '2024-02-01T10:31:30+01:00' availableTimeSlot: - '@type': TimeSlot id: e2cd000f-4731-4036-b481-d70d7617c70e validFor: startDateTime: '2024-02-02T14:00:00+01:00' endDateTime: '2024-02-02T15:00:00+01:00' - '@type': TimeSlot id: 321e0c9d-1112-41ac-9251-45fe542f92 validFor: startDateTime: '2024-02-03T08:00:00+01:00' endDateTime: '2024-02-03T12:00:00+01:00' relatedEntity: - '@type': SearchTimeSlotRelatedEntityRefOrValue role: buyerServiceContract entity: '@type': Agreement name: buyerServiceContract engagedParty: - '@type': Organization businessId: '500011' businessId: '500012' agreementType: buyerServiceContract - '@type': SearchTimeSlotRelatedEntityRefOrValue role: ordererServiceContract entity: '@type': Agreement name: ordererServiceContract engagedParty: - '@type': Organization businessId: '500014' businessId: '500013' agreementType: ordererServiceContract - '@type': SearchTimeSlotRelatedEntityRefOrValue role: troubleTicket entity: '@type': TroubleTicketRef id: 922ebf01-e930-47a0-842e-059d1f188a15 '@referredType': TroubleTicket - '@type': SearchTimeSlotRelatedEntityRefOrValue role: optionalServices entity: '@type': ProductOffering name: Ganzheitliche Entstoerung requestedTimeSlot: - '@type': TimeSlot validFor: startDateTime: '2024-02-02T08:00:00+01:00' endDateTime: '2024-02-02T12:00:00+01:00' BereitstellungVorSearchTimeSlotAttributeValueChangeEvent: description: SearchTimeSlotAttributeValueChangeEvent - Use Case 3 value: $schema: '##SCHEMA_PATH##' '@type': SearchTimeSlotAttributeValueChangeEvent eventId: bereitstellung-vor-4-searchtimeslot-attribute-value-change eventTime: '2024-02-01T10:31:30+01:00' eventType: SearchTimeSlotAttributeValueChangeEvent event: searchTimeSlot: '@type': SearchTimeSlot id: 158ecded-6aca-4f83-a54e-f35cc53be128 href: https://api.example.com/searchTimeSlot/158ecded-6aca-4f83-a54e-f35cc53be128 appointmentCategory: beforeProductOrder requestDate: '2024-02-01T10:30:30+01:00' requestPostedDate: '2024-02-01T10:30:00+01:00' state: inProgress stateChangeDate: '2024-02-01T10:31:30+01:00' availableTimeSlot: - '@type': TimeSlot id: e2cd000f-4731-4036-b481-d70d7617c70e validFor: startDateTime: '2024-02-02T14:00:00+01:00' endDateTime: '2024-02-02T15:00:00+01:00' - '@type': TimeSlot id: 321e0c9d-1112-41ac-9251-45fe542f92 validFor: startDateTime: '2024-02-03T08:00:00+01:00' endDateTime: '2024-02-03T12:00:00+01:00' relatedEntity: - '@type': SearchTimeSlotRelatedEntityRefOrValue role: buyerServiceContract entity: '@type': Agreement name: buyerServiceContract engagedParty: - '@type': Organization businessId: '500011' businessId: '500012' agreementType: buyerServiceContract - '@type': SearchTimeSlotRelatedEntityRefOrValue role: ordererServiceContract entity: '@type': Agreement name: ordererServiceContract engagedParty: - '@type': Organization businessId: '500014' businessId: '500013' agreementType: ordererServiceContract - '@type': SearchTimeSlotRelatedEntityRefOrValue role: affectedQualification entity: '@type': QueryProductOfferingQualificationRef id: 922ebf01-e930-47a0-842e-059d1f188a15 '@referredType': QueryProductOfferingQualification - '@type': SearchTimeSlotRelatedEntityRefOrValue role: affectedQualificationItem entity: '@type': QueryProductOfferingQualificationItemRef id: '1' '@referredType': QueryProductOfferingQualificationItem - '@type': SearchTimeSlotRelatedEntityRefOrValue role: singleContract entity: '@type': Agreement name: singleContract businessId: '555001' agreementType: singleContract - '@type': SearchTimeSlotRelatedEntityRefOrValue role: optionalServices entity: '@type': ProductOffering name: Ganzheitliche Bereitstellung requestedTimeSlot: - '@type': TimeSlot validFor: startDateTime: '2024-02-02T08:00:00+01:00' endDateTime: '2024-02-02T12:00:00+01:00' BereitstellungNachSearchTimeSlotAttributeValueChangeEvent: description: SearchTimeSlotAttributeValueChangeEvent - Use Case 4 value: $schema: '##SCHEMA_PATH##' '@type': SearchTimeSlotAttributeValueChangeEvent eventId: bereitstellung-nach-4-searchtimeslot-attribute-value-change eventTime: '2024-02-01T10:31:30+01:00' eventType: SearchTimeSlotAttributeValueChangeEvent event: searchTimeSlot: '@type': SearchTimeSlot id: 158ecded-6aca-4f83-a54e-f35cc53be128 href: https://api.example.com/searchTimeSlot/158ecded-6aca-4f83-a54e-f35cc53be128 appointmentCategory: duringProductOrder requestDate: '2024-02-01T10:30:30+01:00' requestPostedDate: '2024-02-01T10:30:00+01:00' state: inProgress stateChangeDate: '2024-02-01T10:31:30+01:00' availableTimeSlot: - '@type': TimeSlot id: e2cd000f-4731-4036-b481-d70d7617c70e validFor: startDateTime: '2024-02-02T14:00:00+01:00' endDateTime: '2024-02-02T15:00:00+01:00' - '@type': TimeSlot id: 321e0c9d-1112-41ac-9251-45fe542f92 validFor: startDateTime: '2024-02-03T08:00:00+01:00' endDateTime: '2024-02-03T12:00:00+01:00' relatedEntity: - '@type': SearchTimeSlotRelatedEntityRefOrValue role: buyerServiceContract entity: '@type': Agreement name: buyerServiceContract engagedParty: - '@type': Organization businessId: '500011' businessId: '500012' agreementType: buyerServiceContract - '@type': SearchTimeSlotRelatedEntityRefOrValue role: ordererServiceContract entity: '@type': Agreement name: ordererServiceContract engagedParty: - '@type': Organization businessId: '500014' businessId: '500013' agreementType: ordererServiceContract - '@type': SearchTimeSlotRelatedEntityRefOrValue role: affectedProductOrder entity: '@type': ProductOrderRef id: 922ebf01-e930-47a0-842e-059d1f188a15 '@referredType': ProductOrder - '@type': SearchTimeSlotRelatedEntityRefOrValue role: optionalServices entity: '@type': ProductOffering name: Ganzheitliche Bereitstellung requestedTimeSlot: - '@type': TimeSlot validFor: startDateTime: '2024-02-02T08:00:00+01:00' endDateTime: '2024-02-02T12:00:00+01:00' EntstoerungVorAppointmentStateChangeConfirmedEvent: description: AppointmentStateChangeEvent (confirmed) - Use Case 1 value: $schema: '##SCHEMA_PATH##' '@type': AppointmentStateChangeEvent eventId: entstoerung-vor-8-appointment-state-change-confirmed eventTime: '2024-02-01T11:00:00+01:00' eventType: AppointmentStateChangeEvent event: appointment: '@type': Appointment id: 6c792dbc-abad-464d-843b-42cd7444edeb href: https://api.example.com/appointment/6c792dbc-abad-464d-843b-42cd7444edeb category: beforeFaultTicket creationDate: '2024-02-01T10:59:00+01:00' lastUpdate: '2024-02-01T11:00:00+01:00' relatedEntity: - '@type': AppointmentRelatedEntityRefOrValue role: buyerServiceContract entity: '@type': Agreement name: buyerServiceContract engagedParty: - '@type': Organization businessId: '500011' businessId: '500012' agreementType: buyerServiceContract - '@type': AppointmentRelatedEntityRefOrValue role: ordererServiceContract entity: '@type': Agreement name: ordererServiceContract engagedParty: - '@type': Organization businessId: '500014' businessId: '500013' agreementType: ordererServiceContract - '@type': AppointmentRelatedEntityRefOrValue role: affectedProduct entity: '@type': ProductRef id: 922ebf01-e930-47a0-842e-059d1f188a15 '@referredType': Product - '@type': AppointmentRelatedEntityRefOrValue role: singleContract entity: '@type': Agreement name: singleContract businessId: '555001' agreementType: singleContract - '@type': AppointmentRelatedEntityRefOrValue role: searchTimeSlot entity: '@type': SearchTimeslotRef id: 158ecded-6aca-4f83-a54e-f35cc53be128 '@referredType': SearchTimeslot - '@type': AppointmentRelatedEntityRefOrValue role: availableTimeSlot entity: '@type': AvailableTimeslotRef id: 321e0c9d-1112-41ac-9251-45fe542f92 '@referredType': AvailableTimeslot status: confirmed validFor: startDateTime: '2024-02-02T14:00:00+01:00' endDateTime: '2024-02-02T15:00:00+01:00' EntstoerungNachAppointmentStateChangeConfirmedEvent: description: AppointmentStateChangeEvent (confirmed) - Use Case 2 value: $schema: '##SCHEMA_PATH##' '@type': AppointmentStateChangeEvent eventId: entstoerung-nach-8-appointment-state-change-confirmed eventTime: '2024-02-01T11:00:00+01:00' eventType: AppointmentStateChangeEvent event: appointment: '@type': Appointment id: 6c792dbc-abad-464d-843b-42cd7444edeb href: https://api.example.com/appointment/6c792dbc-abad-464d-843b-42cd7444edeb category: duringFaultTicket creationDate: '2024-02-01T10:59:00+01:00' lastUpdate: '2024-02-01T11:00:00+01:00' relatedEntity: - '@type': AppointmentRelatedEntityRefOrValue role: buyerServiceContract entity: '@type': Agreement name: buyerServiceContract engagedParty: - '@type': Organization businessId: '500011' businessId: '500012' agreementType: buyerServiceContract - '@type': AppointmentRelatedEntityRefOrValue role: ordererServiceContract entity: '@type': Agreement name: ordererServiceContract engagedParty: - '@type': Organization businessId: '500014' businessId: '500013' agreementType: ordererServiceContract - '@type': AppointmentRelatedEntityRefOrValue role: troubleTicket entity: '@type': TroubleTicketRef id: 922ebf01-e930-47a0-842e-059d1f188a15 '@referredType': TroubleTicket - '@type': AppointmentRelatedEntityRefOrValue role: searchTimeSlot entity: '@type': SearchTimeslotRef id: 158ecded-6aca-4f83-a54e-f35cc53be128 '@referredType': SearchTimeslot - '@type': AppointmentRelatedEntityRefOrValue role: availableTimeSlot entity: '@type': AvailableTimeslotRef id: 321e0c9d-1112-41ac-9251-45fe542f92 '@referredType': AvailableTimeslot status: confirmed validFor: startDateTime: '2024-02-02T14:00:00+01:00' endDateTime: '2024-02-02T15:00:00+01:00' BereitstellungVorAppointmentStateChangeConfirmedEvent: description: AppointmentStateChangeEvent (confirmed) - Use Case 3 value: $schema: '##SCHEMA_PATH##' '@type': AppointmentStateChangeEvent eventId: bereitstellung-vor-8-appointment-state-change-confirmed eventTime: '2024-02-01T11:00:00+01:00' eventType: AppointmentStateChangeEvent event: appointment: '@type': Appointment id: 6c792dbc-abad-464d-843b-42cd7444edeb href: https://api.example.com/appointment/6c792dbc-abad-464d-843b-42cd7444edeb category: beforeProductOrder creationDate: '2024-02-01T10:59:00+01:00' lastUpdate: '2024-02-01T11:00:00+01:00' relatedEntity: - '@type': AppointmentRelatedEntityRefOrValue role: buyerServiceContract entity: '@type': Agreement name: buyerServiceContract engagedParty: - '@type': Organization businessId: '500011' businessId: '500012' agreementType: buyerServiceContract - '@type': AppointmentRelatedEntityRefOrValue role: ordererServiceContract entity: '@type': Agreement name: ordererServiceContract engagedParty: - '@type': Organization businessId: '500014' businessId: '500013' agreementType: ordererServiceContract - '@type': AppointmentRelatedEntityRefOrValue role: singleContract entity: '@type': Agreement name: singleContract businessId: '555001' agreementType: singleContract - '@type': AppointmentRelatedEntityRefOrValue role: troubleTicket entity: '@type': TroubleTicketRef id: 922ebf01-e930-47a0-842e-059d1f188a15 '@referredType': TroubleTicket - '@type': AppointmentRelatedEntityRefOrValue role: searchTimeSlot entity: '@type': SearchTimeslotRef id: 158ecded-6aca-4f83-a54e-f35cc53be128 '@referredType': SearchTimeslot - '@type': AppointmentRelatedEntityRefOrValue role: availableTimeSlot entity: '@type': AvailableTimeslotRef id: 321e0c9d-1112-41ac-9251-45fe542f92 '@referredType': AvailableTimeslot status: confirmed validFor: startDateTime: '2024-02-02T14:00:00+01:00' endDateTime: '2024-02-02T15:00:00+01:00' BereitstellungNachAppointmentStateChangeConfirmedEvent: description: AppointmentStateChangeEvent (confirmed) - Use Case 4 value: $schema: '##SCHEMA_PATH##' '@type': AppointmentStateChangeEvent eventId: bereitstellung-nach-8-appointment-state-change-confirmed eventTime: '2024-02-01T11:00:00+01:00' eventType: AppointmentStateChangeEvent event: appointment: '@type': Appointment id: 6c792dbc-abad-464d-843b-42cd7444edeb href: https://api.example.com/appointment/6c792dbc-abad-464d-843b-42cd7444edeb category: duringProductOrder creationDate: '2024-02-01T10:59:00+01:00' lastUpdate: '2024-02-01T11:00:00+01:00' relatedEntity: - '@type': AppointmentRelatedEntityRefOrValue role: buyerServiceContract entity: '@type': Agreement name: buyerServiceContract engagedParty: - '@type': Organization businessId: '500011' businessId: '500012' agreementType: buyerServiceContract - '@type': AppointmentRelatedEntityRefOrValue role: ordererServiceContract entity: '@type': Agreement name: ordererServiceContract engagedParty: - '@type': Organization businessId: '500014' businessId: '500013' agreementType: ordererServiceContract - '@type': AppointmentRelatedEntityRefOrValue role: productOrder entity: '@type': ProductOrderRef id: 922ebf01-e930-47a0-842e-059d1f188a15 '@referredType': ProductOrder - '@type': AppointmentRelatedEntityRefOrValue role: searchTimeSlot entity: '@type': SearchTimeslotRef id: 158ecded-6aca-4f83-a54e-f35cc53be128 '@referredType': SearchTimeslot - '@type': AppointmentRelatedEntityRefOrValue role: availableTimeSlot entity: '@type': AvailableTimeslotRef id: 321e0c9d-1112-41ac-9251-45fe542f92 '@referredType': AvailableTimeslot status: confirmed validFor: startDateTime: '2024-02-02T14:00:00+01:00' endDateTime: '2024-02-02T15:00:00+01:00' requestBodies: Appointment_FVO: description: The Appointment to be created content: application/json: schema: $ref: '#/components/schemas/Appointment_FVO' examples: EntstoerungVorAppointmentRequest: $ref: '#/components/examples/EntstoerungVorAppointmentRequest' EntstoerungNachAppointmentRequest: $ref: '#/components/examples/EntstoerungNachAppointmentRequest' BereitstellungVorAppointmentRequest: $ref: '#/components/examples/BereitstellungVorAppointmentRequest' BereitstellungNachAppointmentRequest: $ref: '#/components/examples/BereitstellungNachAppointmentRequest' required: true SearchTimeSlot_FVO: description: The SearchTimeSlot to be created content: application/json: schema: $ref: '#/components/schemas/SearchTimeSlot_FVO' examples: EntstoerungVorSearchTimeSlotRequest: $ref: '#/components/examples/EntstoerungVorSearchTimeSlotRequest' EntstoerungNachSearchTimeSlotRequest: $ref: '#/components/examples/EntstoerungNachSearchTimeSlotRequest' BereitstellungVorSearchTimeSlotRequest: $ref: '#/components/examples/BereitstellungVorSearchTimeSlotRequest' BereitstellungNachSearchTimeSlotRequest: $ref: '#/components/examples/BereitstellungNachSearchTimeSlotRequest' required: true AppointmentStateChangeEvent: description: Appointment stateChange Event payload content: application/json: schema: $ref: '#/components/schemas/AppointmentStateChangeEvent' examples: EntstoerungVorAppointmentStateChangeConfirmed: $ref: '#/components/examples/EntstoerungVorAppointmentStateChangeConfirmedEvent' EntstoerungNachAppointmentStateChangeConfirmed: $ref: '#/components/examples/EntstoerungNachAppointmentStateChangeConfirmedEvent' BereitstellungVorAppointmentStateChangeConfirmed: $ref: '#/components/examples/BereitstellungVorAppointmentStateChangeConfirmedEvent' BereitstellungNachAppointmentStateChangeConfirmed: $ref: '#/components/examples/BereitstellungNachAppointmentStateChangeConfirmedEvent' required: true AppointmentCreateEvent: description: Appointment Create Event payload content: application/json: schema: $ref: '#/components/schemas/AppointmentCreateEvent' required: true AppointmentAttributeValueChangeEvent: description: Appointment attributeValueChange Event payload content: application/json: schema: $ref: '#/components/schemas/AppointmentAttributeValueChangeEvent' required: true AppointmentDeleteEvent: description: Appointment delete Event payload content: application/json: schema: $ref: '#/components/schemas/AppointmentDeleteEvent' required: true SearchTimeSlotStateChangeEvent: description: SearchTimeSlot stateChange Event payload content: application/json: schema: $ref: '#/components/schemas/SearchTimeSlotStateChangeEvent' examples: EntstoerungVorSearchTimeSlotStateChangeInProgress: $ref: '#/components/examples/EntstoerungVorSearchTimeSlotStateChangeInProgressEvent' EntstoerungVorSearchTimeSlotStateChangeDone: $ref: '#/components/examples/EntstoerungVorSearchTimeSlotStateChangeDoneEvent' EntstoerungNachSearchTimeSlotStateChangeInProgress: $ref: '#/components/examples/EntstoerungNachSearchTimeSlotStateChangeInProgressEvent' EntstoerungNachSearchTimeSlotStateChangeDone: $ref: '#/components/examples/EntstoerungNachSearchTimeSlotStateChangeDoneEvent' BereitstellungVorSearchTimeSlotStateChangeInProgress: $ref: '#/components/examples/BereitstellungVorSearchTimeSlotStateChangeInProgressEvent' BereitstellungVorSearchTimeSlotStateChangeDone: $ref: '#/components/examples/BereitstellungVorSearchTimeSlotStateChangeDoneEvent' BereitstellungNachSearchTimeSlotStateChangeInProgress: $ref: '#/components/examples/BereitstellungNachSearchTimeSlotStateChangeInProgressEvent' BereitstellungNachSearchTimeSlotStateChangeDone: $ref: '#/components/examples/BereitstellungNachSearchTimeSlotStateChangeDoneEvent' required: true SearchTimeSlotAttributeValueChangeEvent: description: Appointment attributeValueChange Event payload content: application/json: schema: $ref: '#/components/schemas/SearchTimeSlotAttributeValueChangeEvent' examples: EntstoerungVorSearchTimeSlotAttributeValueChange: $ref: '#/components/examples/EntstoerungVorSearchTimeSlotAttributeValueChangeEvent' EntstoerungNachSearchTimeSlotAttributeValueChange: $ref: '#/components/examples/EntstoerungNachSearchTimeSlotAttributeValueChangeEvent' BereitstellungVorSearchTimeSlotAttributeValueChange: $ref: '#/components/examples/BereitstellungVorSearchTimeSlotAttributeValueChangeEvent' BereitstellungNachSearchTimeSlotAttributeValueChange: $ref: '#/components/examples/BereitstellungNachSearchTimeSlotAttributeValueChangeEvent' required: true responses: '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' '405': description: Method Not allowed content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' '409': description: Conflict content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' '501': description: Not Implemented content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' '503': description: Service Unavailable content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' 200AppointmentArray: description: Success headers: X-Total-Count: $ref: '#/components/headers/X-Total-Count' X-Result-Count: $ref: '#/components/headers/X-Result-Count' content: application/json: schema: type: array items: $ref: '#/components/schemas/Appointment' 201Appointment: description: Created content: application/json: schema: $ref: '#/components/schemas/Appointment' examples: EntstoerungVorCreated: $ref: '#/components/examples/EntstoerungVorAppointmentCreatedInitialized' EntstoerungNachCreated: $ref: '#/components/examples/EntstoerungNachAppointmentCreatedInitialized' BereitstellungVorCreated: $ref: '#/components/examples/BereitstellungVorAppointmentCreatedInitialized' BereitstellungNachCreated: $ref: '#/components/examples/BereitstellungNachAppointmentCreatedInitialized' 200Appointment_Get: description: Success content: application/json: schema: $ref: '#/components/schemas/Appointment' 200SearchTimeSlotArray: description: Success headers: X-Total-Count: $ref: '#/components/headers/X-Total-Count' X-Result-Count: $ref: '#/components/headers/X-Result-Count' content: application/json: schema: type: array items: $ref: '#/components/schemas/SearchTimeSlot' 201SearchTimeSlot: description: Created content: application/json: schema: $ref: '#/components/schemas/SearchTimeSlot' examples: EntstoerungVorCreated: $ref: '#/components/examples/EntstoerungVorSearchTimeSlotCreatedAcknowledged' EntstoerungNachCreated: $ref: '#/components/examples/EntstoerungNachSearchTimeSlotCreatedAcknowledged' BereitstellungVorCreated: $ref: '#/components/examples/BereitstellungVorSearchTimeSlotCreatedAcknowledged' BereitstellungNachCreated: $ref: '#/components/examples/BereitstellungNachSearchTimeSlotCreatedAcknowledged' 200SearchTimeSlot_Get: description: Success content: application/json: schema: $ref: '#/components/schemas/SearchTimeSlot' DefaultError: description: Error content: application/json: schema: $ref: '#/components/schemas/ErrorMessage' 204Notified: description: Notified securitySchemes: OAuth2ClientCredentials: type: oauth2 description: See https://oauth.net/2/grant-types/client-credentials/ flows: clientCredentials: tokenUrl: https://auth.example.org/oauth2/token/ scopes: read: read objects write: write objects parameters: Fields: name: fields in: query description: Comma-separated properties to be provided in response schema: type: string Offset: name: offset in: query description: Requested index for start of resources to be provided in response schema: type: integer Limit: name: limit in: query description: Requested number of resources to be provided in response schema: type: integer Id: name: id required: true schema: type: string in: path description: Identifier of the API Resource headers: X-Total-Count: description: Total number of items matching criteria schema: type: integer X-Result-Count: description: Actual number of items returned in the response body schema: type: integer