User Guide FIT Trouble Ticket API
AG-FIT 621
Release 1.0.0 (Build 910) 2026-03-27 released
Release notes
Please see the version history for the list of changes in the last versions.
Description
The Trouble Ticket API provides a standardized client interface to Trouble Ticket Management Systems for creating, tracking and managing trouble tickets as a result of an issue or problem identified by a customer or another system. Examples of Trouble Ticket API originators (clients) include CRM applications, network management or fault management systems, or other Trouble Ticket management systems (e.g. B2B). The API supports the ability to send requests to create a new trouble ticket specifying the nature and severity of the trouble or issue as well as all necessary related information. The API also includes mechanisms to search for and update existing trouble tickets. Notifications are defined to provide information when a trouble ticket has been updated, including status changes. A basic set of states of a trouble ticket has been specified (as an example) to handle trouble ticket lifecycle management.
Resources
-A trouble ticket represents a record, or an issue raised by requestor that need to be solved, used for reporting and managing the resolution of problems, incidents or request -Main trouble ticket attributes are its description, severity, type, related dates (creation, expected resolution, resolution), state and related information (change message and change date), related parties (originator, owner, reviser, etc.), related entities (product, product order, customer bill) and notes
Operations
-Retrieval of a trouble ticket or a collection of trouble ticket depending on filter criteria -Partial update of a trouble ticket -Creation of a trouble ticket
Notification of events on trouble ticket
-Trouble ticket state change
-Trouble ticket attribute value change
-Trouble ticket created
-Trouble ticket Information required
Trouble Ticket API performs the following operations on trouble ticket specification
-Retrieval of a trouble ticket specification or a collection of trouble ticket specification depending on filter criteria -Partial update of a trouble ticket specification -Creation of a trouble ticket specification -Notification of events on trouble ticket specification: -Trouble ticket specification state change -Trouble ticket specification attribute value change -Trouble ticket specification delete (typically restricted to admin role) -Trouble ticket specification created
TMF API Reference
TMF API Reference : TMF - 621 Trouble Ticket
FIT Adaptations
TroubleTicket: - PATCH & DELETE are not used for FIT - Added Milestone / JeopardyAlert adapted to FIT requirements
TroubleTicketSpecification: POST, PATCH & DELETE are not used for FIT
Added Task resources: CancelTroubleTicket & InflightChangeTroubleTicket
TroubleTicket strongly-typed extension @FaultTicket: AgreementRefOrValue, TimeSlot, Appointment, faultDescriptionMessage, resolutionDisputeReason, expressFaultResolution, interimMessageRequested, endUserContactAllowed
Sources
The source API definition can be found at fit-tmf621.yaml
Documentation for API Endpoints
All URIs are relative to https://api.example.org/tmf-api/troubleTicketManagement/v5
| Method | HTTP request | Description |
|---|---|---|
| createCancelTroubleTicket | POST /cancelTroubleTicket | Creates a CancelTroubleTicket |
| listCancelTroubleTicket | GET /cancelTroubleTicket | List or find CancelTroubleTicket objects |
| retrieveCancelTroubleTicket | GET /cancelTroubleTicket/{id} | Retrieves a CancelTroubleTicket by ID |
| createInflightChangeTroubleTicket | POST /inflightChangeTroubleTicket | Creates a InflightChangeTroubleTicket |
| listInflightChangeTroubleTicket | GET /inflightChangeTroubleTicket | List or find InflightChangeTroubleTicket objects |
| retrieveInflightChangeTroubleTicket | GET /inflightChangeTroubleTicket/{id} | Retrieves a InflightChangeTroubleTicket by ID |
| listenToCancelTroubleTicketStateChangeEvent | POST /listener/cancelTroubleTicketStateChangeEvent | Client listener for entity CancelTroubleTicketStateChangeEvent |
| listenToInflightChangeTroubleTicketStateChangeEvent | POST /listener/inflightChangeTroubleTicketStateChangeEvent | Client listener for entity InflightChangeTroubleTicketStateChangeEvent |
| listenToTroubleTicketJeopardyAlertEvent | POST /listener/troubleTicketJeopardyAlertEvent | Client listener for entity TroubleTicketJeopardyAlertEvent |
| listenToTroubleTicketMilestoneEvent | POST /listener/troubleTicketMilestoneEvent | Client listener for entity TroubleTicketMilestoneEvent |
| troubleTicketAttributeValueChangeEvent | POST /listener/troubleTicketAttributeValueChangeEvent | Client listener for entity TroubleTicketAttributeValueChangeEvent |
| troubleTicketCreateEvent | POST /listener/troubleTicketCreateEvent | Client listener for entity TroubleTicketCreateEvent |
| troubleTicketInformationRequiredEvent | POST /listener/troubleTicketInformationRequiredEvent | Client listener for entity TroubleTicketInformationRequiredEvent |
| troubleTicketResolvedEvent | POST /listener/troubleTicketResolvedEvent | Client listener for entity TroubleTicketResolvedEvent |
| troubleTicketSpecificationAttributeValueChangeEvent | POST /listener/troubleTicketSpecificationAttributeValueChangeEvent | Client listener for entity TroubleTicketSpecificationCreateEvent |
| troubleTicketSpecificationCreateEvent | POST /listener/troubleTicketSpecificationCreateEvent | Client listener for entity TroubleTicketSpecificationCreateEvent |
| troubleTicketSpecificationDeleteEvent | POST /listener/troubleTicketSpecificationDeleteEvent | Client listener for entity TroubleTicketSpecificationCreateEvent |
| troubleTicketSpecificationStatusChangeEvent | POST /listener/troubleTicketSpecificationStatusChangeEvent | Client listener for entity TroubleTicketSpecificationCreateEvent |
| troubleTicketStatusChangeEvent | POST /listener/troubleTicketStatusChangeEvent | Client listener for entity TroubleTicketStatusChangeEvent |
| createTroubleTicket | POST /troubleTicket | Creates a TroubleTicket |
| listTroubleTicket | GET /troubleTicket | List or find TroubleTicket objects |
| retrieveTroubleTicket | GET /troubleTicket/{id} | Retrieves a TroubleTicket by ID |
| listTroubleTicketSpecification | GET /troubleTicketSpecification | List or find TroubleTicketSpecification objects |
| retrieveTroubleTicketSpecification | GET /troubleTicketSpecification/{id} | Retrieves a TroubleTicketSpecification by ID |
Documentation for Authorization
OAuth2ClientCredentials
- Type: OAuth
-
Flow: clientCredentials
-
Token URL: https://auth.example.org/oauth2/token/
- Scopes:
- read: read objects
- write: write objects
This API can be secured using OAuth 2.0. OAuth separates the authentication provider from the resource. The authorization server issues access tokens which are used to access the protected resource. This allows consumption of the API without sharing credentials with the API provider. OAuth 2.0 is implemented in various ways using flows. The most common flow for machine-to-machine interfaces is the Client Credentials flow. This is the flow used for this API. Below is a sequence diagram illustrating the Client Credentials flow.
See also Api Authentifizierung
Sample use cases
Sample use cases can be found at Entstörauftrag
Managed Entity Resource Models
Trouble Ticket
A trouble ticket represents a record, or an issue raised by requestor that needs to be solved, used for reporting and managing the resolution of problems, incidents or request.
Lifecycle
TroubleTicketStatusType
Data type: enum of string
Possible values for the status of the trouble ticket
- acknowledged: The acknowledged status is where an trouble ticket has been received and has passed message level validation (e. g. schema, conformance profile). The trouble ticket is stored and addressable.
- rejected: The rejected status is where Invalid information is provided or the request fails to meet business rules
- pending: The pending status is used when an trouble ticket is currently in a waiting stage for an action/activity to be completed before it can progress further. In situations where Buyer action is required, an “information required” notification will be issued on transition into this status.
- held: The held status is (optional) used when an trouble ticket cannot be progressed due to an issue. Upon resolution of the issue, the trouble ticket will continue to progress
- inProgress: The in progress status is where an trouble ticket has passed the Feasibility check successfully and troubleshooting has started.
- cancelled: The cancelled status is where an trouble ticket has been successfully cancelled.
- closed: The post-provisioning activities such as billing account update have been finalized. The trouble ticket is closed.TODO
- resolved: The resolved status is used when the problem is resolved from the seller's point of view
- failed: The problem is not resolved and the trouble ticket has failed.
Resource model
Field description
Complex types used can be viewed by following the linked type.
FaultTicket
Data type: TroubleTicket
| Name | Type | Description | Example |
|---|---|---|---|
| @type (1) | string | When sub-classing, this defines the sub-class Extensible name | |
| orderPostedDate (1) | DateTime | Date when the order was posted by the requester | 2023-01-01T08:00:00+01:00 |
| ticketType (1) | string | ||
| externalIdentifier (1) | ExternalIdentifier [n..m] | ||
| agreement (1) | AgreementRefOrValue [n..m] | A reference to an agreement defined in the context of the product order | null |
| @baseType | string | When sub-classing, this defines the super-class | |
| @schemaLocation | string | A URI to a JSON-Schema file that defines additional attributes and relationships | |
| id | string | Unique identifier | 2d7ed5fd-9f62-4211-bc84-357f5f7b80f5 |
| href | URI | Hyperlink reference | https://api.example.org/resource/id |
| name | string | Name of the trouble ticket, typically a short description provided by the user that create the ticket | null |
| description | string | ||
| severity | string | The severity of the issue. Indicate the implication of the issue on the expected functionality e.g. of a system, application, service etc.. Severity values can be for example : Critical, Major, Minor | null |
| attachment | AttachmentRefOrValue [n..m] | File(s) attached to the trouble ticket. e.g. picture of broken device, scaning of a bill or charge | null |
| channel | ChannelRef | ||
| creationDate | DateTime | The date on which the trouble ticket was created | null |
| requestedResolutionDate | DateTime | The resolution date requested by the user | null |
| expectedResolutionDate | DateTime | The expected resolution date determined by the trouble ticket system | null |
| resolutionDate | DateTime | The date and time the trouble ticket was resolved | null |
| lastUpdate | DateTime | The date and time that the trouble ticket was last updated | null |
| note | Note [n..m] | The note(s) that are associated to the ticket. | null |
| priority | string | The priority of the trouble ticket and how quickly the issue should be resolved. Example: Critical, High, Medium, Low. The value is set by the ticket management system considering the severity, ticket type etc... | null |
| relatedEntity | RelatedEntityRefOrValue [n..m] | An entity that is related to the ticket such as a bill, a product, etc. The entity against which the ticket is associated. | null |
| relatedParty | RelatedPartyOrPartyRole [n..m] | The related party(ies) that are associated to the ticket. | null |
| status | TroubleTicketStatusType | ||
| statusChangeDate | DateTime | The date and time the status changed. | null |
| statusChangeMessage | Message [n..m] | Message for the status change described as a combination of a text and a code. | null |
| statusChangeHistory | StatusChange [n..m] | The status change history that are associated to the ticket. Populated by the server | null |
| troubleTicketRelationship | TroubleTicketRelationship [n..m] | A list of trouble ticket relationships (TroubleTicketRelationship [*]). Represents a relationship between trouble tickets | null |
| troubleTicketCharacteristic | Characteristic [n..m] | List of characteristics of the trouble ticket | null |
| troubleTicketJeopardyAlert | TroubleTicketJeopardyAlert [n..m] | List of TroubleTicketJeopardyAlerts. A TroubleTicketJeopardyAlert represents a predicted exception during a trouble ticket processing that would brings risk to resolve successfully the trouble ticket. | null |
| troubleTicketMilestone | TroubleTicketMilestone [n..m] | List of TroubleTicketMilestones. A TroubleTicketMilestone represents an action or event marking a significant change or stage in processing of a trouble ticket. | null |
| troubleTicketSpecification | TroubleTicketSpecificationRef | ||
| ticketIsChargingRelevant | boolean | Boolean amended by the provider defining if the processing of the TroubleTicket is charging relevant | false |
| accessLineId | string | Technical identifier for a physical connection | DEU.DTAG.FTYLIQ7PFT |
| endUserContactAllowed | boolean | Defines if direct contact with end user is allowed | null |
| endUserAppointmentIsNecessary | boolean | Defines if an appointment with the endUser is necessary | null |
| expressFaultResolution | ExpressFaultResolutionType | ||
| faultQuestionnaire | QuestionAnswer [0..99] | An array of questions and answers | null |
| interimMessagesRequested | boolean | Defines if interim messages are requested to be provided | null |
| networkTerminationLocation | string | Describes the location of the network termination in the building | Flur |
| resolutionDisputeReason | string | Indicates the reason why the resolution of the trouble ticket is disputed | null |
| requestedTimeSlot | TimeSlot | ||
| appointment | AppointmentRefOrValue | ||
| categoryId | string | Identifier of the trouble ticket category | null |
| billingItem | array | Array/List of billing items | null |
JSON representation sample
We provide below the JSON representation of an example of a 'FaultTicket' resource object
{
"$schema" : "https://bitbucket.org/fit-api/fit-api/raw/tmf621_v1.0.0/tmf621/ctk/json-schema/fit-tmf621.schema.json",
"@type" : "FaultTicket_FVO",
"description" : "Internetverbindung fällt mehrmals pro Tag aus",
"orderPostedDate" : "2024-02-08T08:00:00+01:00",
"ticketType" : "fault",
"requestedResolutionDate" : "2024-03-08T00:00:00+01:00",
"externalIdentifier" : [ {
"@type" : "ExternalIdentifier",
"id" : "1000222",
"externalIdentifierType" : "troubleTicketExternalId",
"owner" : "DEU.VFD"
} ],
"relatedEntity" : [ {
"@type" : "RelatedEntityRefOrValue",
"role" : "affectedProduct",
"entity" : {
"@type" : "EntityRef",
"id" : "922ebf01-e930-47a0-842e-059d1f188a15",
"@referredType" : "Product"
}
}, {
"@type" : "RelatedEntityRefOrValue",
"role" : "optionalServices",
"entity" : {
"@type" : "ProductOffering",
"name" : "Ganzheitliche Entstörung"
}
}, {
"@type" : "RelatedEntityRefOrValue",
"role" : "diagnosis",
"entity" : {
"@type" : "EntityRef",
"id" : "873ebg01-a930-47a0-842e-059d1f188b23",
"@referredType" : "ProductTest"
}
} ],
"relatedParty" : [ {
"@type" : "RelatedPartyOrPartyRole",
"role" : "orderManagementBuyerContact",
"partyOrPartyRole" : {
"@type" : "Individual",
"contactMedium" : [ {
"@type" : "PhoneContactMedium",
"contactType" : "fixed",
"phoneNumber" : "+49221456789"
}, {
"@type" : "PhoneContactMedium",
"contactType" : "mobile",
"phoneNumber" : "+4917754545454"
}, {
"@type" : "EmailContactMedium",
"contactType" : "email",
"emailAddress" : "j.kirk@example.net"
} ],
"familyName" : "Kirk",
"salutation" : "Herr",
"givenName" : "James T.",
"title" : "Captain"
}
}, {
"@type" : "RelatedPartyOrPartyRole",
"role" : "installationContact",
"partyOrPartyRole" : {
"@type" : "Individual",
"contactMedium" : [ {
"@type" : "PhoneContactMedium",
"contactType" : "fixed",
"phoneNumber" : "+49221456790"
}, {
"@type" : "PhoneContactMedium",
"contactType" : "mobile",
"phoneNumber" : "+4917754545455"
}, {
"@type" : "EmailContactMedium",
"contactType" : "email",
"emailAddress" : "m.scott@example.net"
} ],
"familyName" : "Scott",
"salutation" : "Herr",
"givenName" : "Montgomery",
"title" : "Lt. Cmdr."
}
} ],
"accessLineId" : "DEU.DTAG.FTYLIQ7PFT",
"agreement" : [ {
"@type" : "Agreement",
"name" : "buyerServiceContract",
"engagedParty" : [ {
"@type" : "Organization",
"businessId" : "500011"
} ],
"businessId" : "500012",
"agreementType" : "buyerServiceContract"
}, {
"@type" : "Agreement",
"name" : "ordererServiceContract",
"engagedParty" : [ {
"@type" : "Organization",
"businessId" : "500014"
} ],
"businessId" : "500013",
"agreementType" : "ordererServiceContract"
}, {
"@type" : "Agreement",
"name" : "singleContract",
"businessId" : "555001",
"agreementType" : "singleContract"
} ],
"endUserContactAllowed" : true,
"expressFaultResolution" : "oneTime",
"faultQuestionnaire" : [ {
"questionId" : "DSL01",
"answerId" : "DSL01-03"
}, {
"questionId" : "DSL04",
"answerId" : "DSL04-02"
} ],
"interimMessagesRequested" : true,
"networkTerminationLocation" : "Flur",
"requestedTimeSlot" : {
"@type" : "TimeSlot",
"validFor" : {
"startDateTime" : "2024-03-08T12:00:00+01:00",
"endDateTime" : "2024-03-08T16:00:00+01:00"
}
},
"categoryId" : "SABB"
}
Task Resource Models
Lifecycle
TaskStateType
Data type: enum of string
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 InProgress state is used while the task is being processed.
- done: The task has been completed and a result is available.
Cancel Trouble Ticket task resource
Resource model
Field description
CancelTroubleTicket
Data type: TaskEntity
Request to cancel an existing trouble ticket
| Name | Type | Description | Example |
|---|---|---|---|
| @type (1) | string | When sub-classing, this defines the sub-class Extensible name | |
| state (1) | TaskStateType | ||
| requestDate (1) | DateTime | Date when the task resource was created | 2023-01-01T08:00:00+01:00 |
| requestPostedDate (1) | DateTime | Date when the request was posted | 2023-01-01T08:00:00+01:00 |
| entity (1) | EntityRef | ||
| @baseType | string | When sub-classing, this defines the super-class | |
| @schemaLocation | string | A URI to a JSON-Schema file that defines additional attributes and relationships | |
| id | string | Unique identifier | 2d7ed5fd-9f62-4211-bc84-357f5f7b80f5 |
| href | URI | Hyperlink reference | https://api.example.org/resource/id |
| troubleTicket | TroubleTicketRef | Explicit reference to the related TroubleTicket | null |
| stateChangeDate | DateTime | The date and time the state changed. | 2023-01-01T08:00:00+01:00 |
| stateChangeMessage | Message [n..m] | Message for the state change described as a combination of a text and a code. | [] |
| stateChangeHistory | StateChange [n..m] | The state change history that is associated to the Entity. Populated by the server | [] |
| externalIdentifier | ExternalIdentifier [n..m] | A reference to an externally defined object in the context of the managed entity | [] |
JSON representation sample
{
"$schema" : "https://bitbucket.org/fit-api/fit-api/raw/tmf621_v1.0.0/tmf621/ctk/json-schema/fit-tmf621.schema.json",
"@type" : "CancelTroubleTicket_FVO",
"requestPostedDate" : "2022-05-11T10:30:00+02:00",
"entity" : {
"@type" : "TroubleTicketRef",
"id" : "ac925eed-111b-4558-82e3-c48153c8c95c",
"href" : "https://api.example.org/tmf-api/troubleTicketManagement/v5/troubleTicket/ac925eed-111b-4558-82e3-c48153c8c95c"
}
}
Inflight Change Trouble Ticket task resource
Resource model
Field description
InflightChangeTroubleTicket
Data type: TaskEntity
Request to change an existing trouble ticket in-flight
| Name | Type | Description | Example |
|---|---|---|---|
| @type (1) | string | When sub-classing, this defines the sub-class Extensible name | |
| state (1) | TaskStateType | ||
| requestDate (1) | DateTime | Date when the task resource was created | 2023-01-01T08:00:00+01:00 |
| requestPostedDate (1) | DateTime | Date when the request was posted | 2023-01-01T08:00:00+01:00 |
| entity (1) | EntityRef | ||
| category (1) | array | Type of action to be performed with the task resource | null |
| @baseType | string | When sub-classing, this defines the super-class | |
| @schemaLocation | string | A URI to a JSON-Schema file that defines additional attributes and relationships | |
| id | string | Unique identifier | 2d7ed5fd-9f62-4211-bc84-357f5f7b80f5 |
| href | URI | Hyperlink reference | https://api.example.org/resource/id |
| troubleTicket | TroubleTicketRef | Explicit reference to the related TroubleTicket | null |
| appointment | AppointmentRefOrValue | ||
| buyerMessage | InflightChangeTroubleTicket_allOf_buyerMessage | ||
| externalIdentifier | ExternalIdentifier [n..m] | A reference to an externally defined object in the context of the managed entity | [] |
| note | Note [n..m] | Note | [] |
| stateChangeDate | DateTime | The date and time the state changed. | 2023-01-01T08:00:00+01:00 |
| stateChangeHistory | StateChange [n..m] | The state change history that is associated to the Entity. Populated by the server | [] |
| stateChangeMessage | Message [n..m] | Message for the state change described as a combination of a text and a code. | [] |
| requestedResolutionDate | DateTime | The resolution date requested by the user | null |
| requestedTimeSlot | TimeSlot |
JSON representation samples
Category reschedule
{
"$schema" : "https://bitbucket.org/fit-api/fit-api/raw/tmf621_v1.0.0/tmf621/ctk/json-schema/fit-tmf621.schema.json",
"@type" : "InflightChangeTroubleTicket_FVO",
"requestPostedDate" : "2024-02-09T17:30:00+01:00",
"entity" : {
"@type" : "TroubleTicketRef",
"id" : "ac925eed-111b-4558-82e3-c48153c8c95c",
"href" : "https://api.example.org/tmf-api/troubleTicketManagement/v5/troubleTicket/ac925eed-111b-4558-82e3-c48153c8c95c"
},
"category" : [ "reschedule" ],
"requestedResolutionDate" : "2024-03-09T00:00:00+01:00",
"requestedTimeSlot" : {
"@type" : "TimeSlot",
"validFor" : {
"startDateTime" : "2024-03-09T12:00:00+01:00",
"endDateTime" : "2024-03-09T16:00:00+01:00"
}
}
}
{
"$schema" : "https://bitbucket.org/fit-api/fit-api/raw/tmf621_v1.0.0/tmf621/ctk/json-schema/fit-tmf621.schema.json",
"@type" : "InflightChangeTroubleTicket_FVO",
"requestPostedDate" : "2024-10-24T10:32:00+02:00",
"entity" : {
"@type" : "TroubleTicketRef",
"id" : "ac925eed-111b-4558-82e3-c48153c8c95c",
"href" : "https://api.example.org/tmf-api/troubleTicketManagement/v5/troubleTicket/ac925eed-111b-4558-82e3-c48153c8c95c"
},
"buyerMessage" : {
"code" : "7040",
"text" : "Ergänzende Information zum Auftrag."
},
"category" : [ "add" ],
"note" : [ {
"@type" : "TroubleTicketRemark",
"text" : "Note from Buyer to Seller"
} ]
}
Notification Resource Models
Following notifications are defined for this API:
Notifications related to Trouble Ticket:
- TroubleTicketCreateEvent
- TroubleTicketStatusChangeEvent
- TroubleTicketAttributeValueChangeEvent
- TroubleTicketInformationRequiredEvent
- TroubleTicketJeopardyAlertEvent
- TroubleTicketMilestoneEvent
Notifications related to CancelTroubleTicket:
Notifications related to InflightChangeTroubleTicket:
Trouble Ticket Create Event
TroubleTicketCreateEvent
Data type: Event
| Name | Type | Description | Example |
|---|---|---|---|
| @type (1) | string | When sub-classing, this defines the sub-class Extensible name | |
| eventId (1) | string | The identifier of the notification. | 2d7ed5fd-9f62-4211-bc84-357f5f7b80f5 |
| eventTime (1) | DateTime | Time of the event occurrence. | 2023-01-01T08:00:00+01:00 |
| eventType (1) | string | The type of the notification. | |
| @baseType | string | When sub-classing, this defines the super-class | |
| @schemaLocation | string | A URI to a JSON-Schema file that defines additional attributes and relationships | |
| description | string | An explanatory of the event. | Lorem ipsum dolor |
| timeOccurred | DateTime | The time the event occurred. | 2023-01-01T08:00:00+01:00 |
| source | EntityRef | Source Entity described by EntityRef | null |
| reportingSystem | EntityRef | Reporting System described by EntityRef | null |
| event | TroubleTicketCreateEventPayload |
Trouble Ticket Status Change Event
TroubleTicketStatusChangeEvent
Data type: Event
| Name | Type | Description | Example |
|---|---|---|---|
| @type (1) | string | When sub-classing, this defines the sub-class Extensible name | |
| eventId (1) | string | The identifier of the notification. | 2d7ed5fd-9f62-4211-bc84-357f5f7b80f5 |
| eventTime (1) | DateTime | Time of the event occurrence. | 2023-01-01T08:00:00+01:00 |
| eventType (1) | string | The type of the notification. | |
| @baseType | string | When sub-classing, this defines the super-class | |
| @schemaLocation | string | A URI to a JSON-Schema file that defines additional attributes and relationships | |
| description | string | An explanatory of the event. | Lorem ipsum dolor |
| timeOccurred | DateTime | The time the event occurred. | 2023-01-01T08:00:00+01:00 |
| source | EntityRef | Source Entity described by EntityRef | null |
| reportingSystem | EntityRef | Reporting System described by EntityRef | null |
| event | TroubleTicketStatusChangeEventPayload |
JSON representation sample
Trouble Ticket Attribute Value Change Event
TroubleTicketAttributeValueChangeEvent
Data type: AttributeValueChangeEvent
| Name | Type | Description | Example |
|---|---|---|---|
| @type (1) | string | When sub-classing, this defines the sub-class Extensible name | |
| eventId (1) | string | The identifier of the notification. | 2d7ed5fd-9f62-4211-bc84-357f5f7b80f5 |
| eventTime (1) | DateTime | Time of the event occurrence. | 2023-01-01T08:00:00+01:00 |
| eventType (1) | string | The type of the notification. | |
| @baseType | string | When sub-classing, this defines the super-class | |
| @schemaLocation | string | A URI to a JSON-Schema file that defines additional attributes and relationships | |
| description | string | An explanatory of the event. | Lorem ipsum dolor |
| timeOccurred | DateTime | The time the event occurred. | 2023-01-01T08:00:00+01:00 |
| source | EntityRef | Source Entity described by EntityRef | null |
| reportingSystem | EntityRef | Reporting System described by EntityRef | null |
| fieldPath | FieldPath [n..m] | Field path | [] |
| event | TroubleTicketAttributeValueChangeEventPayload |
JSON representation sample
Trouble Ticket Information Required Event
TroubleTicketInformationRequiredEvent
Data type: Event
| Name | Type | Description | Example |
|---|---|---|---|
| @type (1) | string | When sub-classing, this defines the sub-class Extensible name | |
| eventId (1) | string | The identifier of the notification. | 2d7ed5fd-9f62-4211-bc84-357f5f7b80f5 |
| eventTime (1) | DateTime | Time of the event occurrence. | 2023-01-01T08:00:00+01:00 |
| eventType (1) | string | The type of the notification. | |
| @baseType | string | When sub-classing, this defines the super-class | |
| @schemaLocation | string | A URI to a JSON-Schema file that defines additional attributes and relationships | |
| description | string | An explanatory of the event. | Lorem ipsum dolor |
| timeOccurred | DateTime | The time the event occurred. | 2023-01-01T08:00:00+01:00 |
| source | EntityRef | Source Entity described by EntityRef | null |
| reportingSystem | EntityRef | Reporting System described by EntityRef | null |
| fieldPath | FieldPath [n..m] | TODO | null |
| event | TroubleTicketInformationRequiredEventPayload |
JSON representation sample
Requested completion date JSON example
Trouble Ticket Jeopardy Alert Event
TroubleTicketJeopardyAlertEvent
Data type: Event
TroubleTicketJeopardyAlertEvent generic structure
| Name | Type | Description | Example |
|---|---|---|---|
| @type (1) | string | When sub-classing, this defines the sub-class Extensible name | |
| eventId (1) | string | The identifier of the notification. | 2d7ed5fd-9f62-4211-bc84-357f5f7b80f5 |
| eventTime (1) | DateTime | Time of the event occurrence. | 2023-01-01T08:00:00+01:00 |
| eventType (1) | string | The type of the notification. | |
| @baseType | string | When sub-classing, this defines the super-class | |
| @schemaLocation | string | A URI to a JSON-Schema file that defines additional attributes and relationships | |
| description | string | An explanatory of the event. | Lorem ipsum dolor |
| timeOccurred | DateTime | The time the event occurred. | 2023-01-01T08:00:00+01:00 |
| source | EntityRef | Source Entity described by EntityRef | null |
| reportingSystem | EntityRef | Reporting System described by EntityRef | null |
| event | TroubleTicketJeopardyAlertEventPayload |
Trouble Ticket Milestone Event
TroubleTicketMilestoneEvent
Data type: Event
TroubleTicketMilestoneEvent generic structure
| Name | Type | Description | Example |
|---|---|---|---|
| @type (1) | string | When sub-classing, this defines the sub-class Extensible name | |
| eventId (1) | string | The identifier of the notification. | 2d7ed5fd-9f62-4211-bc84-357f5f7b80f5 |
| eventTime (1) | DateTime | Time of the event occurrence. | 2023-01-01T08:00:00+01:00 |
| eventType (1) | string | The type of the notification. | |
| @baseType | string | When sub-classing, this defines the super-class | |
| @schemaLocation | string | A URI to a JSON-Schema file that defines additional attributes and relationships | |
| description | string | An explanatory of the event. | Lorem ipsum dolor |
| timeOccurred | DateTime | The time the event occurred. | 2023-01-01T08:00:00+01:00 |
| source | EntityRef | Source Entity described by EntityRef | null |
| reportingSystem | EntityRef | Reporting System described by EntityRef | null |
| event | TroubleTicketMilestoneEventPayload |
JSON representation sample
Cancel Trouble Ticket State Change Event
CancelTroubleTicketStateChangeEvent
Data type: Event
| Name | Type | Description | Example |
|---|---|---|---|
| @type (1) | string | When sub-classing, this defines the sub-class Extensible name | |
| eventId (1) | string | The identifier of the notification. | 2d7ed5fd-9f62-4211-bc84-357f5f7b80f5 |
| eventTime (1) | DateTime | Time of the event occurrence. | 2023-01-01T08:00:00+01:00 |
| eventType (1) | string | The type of the notification. | |
| @baseType | string | When sub-classing, this defines the super-class | |
| @schemaLocation | string | A URI to a JSON-Schema file that defines additional attributes and relationships | |
| description | string | An explanatory of the event. | Lorem ipsum dolor |
| timeOccurred | DateTime | The time the event occurred. | 2023-01-01T08:00:00+01:00 |
| source | EntityRef | Source Entity described by EntityRef | null |
| reportingSystem | EntityRef | Reporting System described by EntityRef | null |
| event | CancelTroubleTicketStateChangeEventPayload |
JSON representation sample
Inflight Change Trouble Ticket State Change Event
InflightChangeTroubleTicketStateChangeEvent
Data type: Event
| Name | Type | Description | Example |
|---|---|---|---|
| @type (1) | string | When sub-classing, this defines the sub-class Extensible name | |
| eventId (1) | string | The identifier of the notification. | 2d7ed5fd-9f62-4211-bc84-357f5f7b80f5 |
| eventTime (1) | DateTime | Time of the event occurrence. | 2023-01-01T08:00:00+01:00 |
| eventType (1) | string | The type of the notification. | |
| @baseType | string | When sub-classing, this defines the super-class | |
| @schemaLocation | string | A URI to a JSON-Schema file that defines additional attributes and relationships | |
| description | string | An explanatory of the event. | Lorem ipsum dolor |
| timeOccurred | DateTime | The time the event occurred. | 2023-01-01T08:00:00+01:00 |
| source | EntityRef | Source Entity described by EntityRef | null |
| reportingSystem | EntityRef | Reporting System described by EntityRef | null |
| event | InflightChangeTroubleTicketStateChangeEventPayload |
JSON representation sample for reschedule Trouble Ticket
Validation using Conformance Profile
A Conformance Profile is supplied in the form of a JSON Schema (see fit-tmf621.schema.json).
The following rules are checked:
- Mandatory attribute,
- Mandatory attribute if the optional parent attribute is present,
- Mandatory/Non-mandatory attribute, depending on further conditions
Where a resource is an input into an API (e.g. POST), Mandatory means that the attribute value must be supplied by the API consumer in the input and must not be blank or null
Where a resource is an output from an API (e.g. GET, POST), Mandatory means that the attribute value must be supplied by the API provider in the output and must not be blank or null.