Improve license scan result
[externalapi/nbi.git] / docs / offeredapis / api_serviceOrder / api.plantuml
1 #
2 #     Copyright (c) 2018 Orange
3 #
4 #     Licensed under the Apache License, Version 2.0 (the "License");
5 #     you may not use this file except in compliance with the License.
6 #     You may obtain a copy of the License at
7 #
8 #         http://www.apache.org/licenses/LICENSE-2.0
9 #
10 #     Unless required by applicable law or agreed to in writing, software
11 #     distributed under the License is distributed on an "AS IS" BASIS,
12 #     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 #     See the License for the specific language governing permissions and
14 #     limitations under the License.
15 #
16
17 @startuml
18
19 enum ActionType {
20    add
21    modify
22    delete
23    noChange
24 }
25 enum StateType {
26    acknowledged
27    rejected
28    pending
29    held
30    inProgress
31    cancelled
32    completed
33    failed
34    partial
35 }
36 enum RelationshipType {
37    reliesOn
38 }
39 enum EventType {
40    ServiceOrderCreationNotification
41    ServiceOrderStateChangeNotification
42    ServiceOrderItemStateChangeNotification
43 }
44 enum SeverityMessage {
45    information
46    error
47 }
48
49 class Error {
50    code:int
51    reason:string
52    message:string
53    status:string
54    referenceError:string
55 }
56
57 class ServiceRelationship
58    ServiceRelationship --> "1-1" RelationshipType : type
59    ServiceRelationship --> "1-1" Service : service
60
61 class ServiceRef {
62    id:string
63    href:string
64 }
65
66 class ServiceCharacteristic {
67    name:string
68    valueType:string
69 }
70    ServiceCharacteristic --> "0-1" Value : value
71
72 class RelatedParty {
73    id:string
74    href:string
75    role:string
76    name:string
77    @referredType:string
78 }
79
80 class ServiceSpecificationRef {
81    id:string
82    href:string
83    name:string
84    version:string
85    @type:string
86    @schemaLocation:string
87    @baseType:string
88 }
89    ServiceSpecificationRef --> "0-1" TargetServiceSchema : targetServiceSchema
90
91 class Service {
92    id:string
93    href:string
94    name:string
95    serviceState:string
96    @type:string
97    @schemaLocation:string
98 }
99    Service --> "0-*" ServiceCharacteristic : serviceCharacteristic
100    Service --> "0-*" ServiceRelationship : serviceRelationship
101    Service --> "0-*" RelatedParty : relatedParty
102    Service --> "0-1" ServiceSpecificationRef : serviceSpecification
103
104 class OrderItemRelationship {
105    id:string
106 }
107    OrderItemRelationship --> "1-1" RelationshipType : type
108
109 class ServiceOrderItem {
110    id:string
111    percentProgress:string
112    @type:string
113    @schemaLocation:string
114    @baseType:string
115 }
116    ServiceOrderItem --> "0-1" ActionType : action
117    ServiceOrderItem --> "0-1" StateType : state
118    ServiceOrderItem --> "0-*" OrderItemRelationship : orderItemRelationship
119    ServiceOrderItem --> "1-1" Service : service
120    ServiceOrderItem --> "0-*" OrderMessage : orderItemMessage
121
122 class ServiceOrder {
123    id:string
124    href:string
125    externalId:string
126    priority:string
127    description:string
128    category:string
129    orderDate:dateTime
130    completionDateTime:dateTime
131    requestedStartDate:dateTime
132    requestedCompletionDate:dateTime
133    expectedCompletionDate:dateTime
134    startDate:dateTime
135    @baseType:string
136    @type:string
137    @schemaLocation:string
138 }
139    ServiceOrder --> "0-1" StateType : state
140    ServiceOrder --> "0-*" RelatedParty : relatedParty
141    ServiceOrder --> "0-*" OrderRelationship : orderRelationship
142    ServiceOrder --> "0-*" ServiceOrderItem : orderItem
143    ServiceOrder --> "0-*" OrderMessage : orderMessage
144
145 class OrderRelationship {
146    type:string
147    id:string
148    href:string
149    @referredType:string
150 }
151
152 class TargetServiceSchema {
153    @type:string
154    @schemaLocation:string
155 }
156
157 class Value {
158    serviceCharacteristicValue:string
159 }
160
161 class CreateServiceOrderItem {
162    id:string
163 }
164    CreateServiceOrderItem --> "0-1" ActionType : action
165    CreateServiceOrderItem --> "0-*" OrderItemRelationship : orderItemRelationship
166    CreateServiceOrderItem --> "1-1" Service : service
167
168 class CreateServiceOrder {
169    externalId:string
170    priority:string
171    description:string
172    category:string
173    requestedStartDate:dateTime
174    requestedCompletionDate:dateTime
175 }
176    CreateServiceOrder --> "0-*" RelatedParty : relatedParty
177    CreateServiceOrder --> "0-*" OrderRelationship : orderRelationship
178    CreateServiceOrder --> "0-*" CreateServiceOrderItem : orderItem
179
180 class ServiceOrderSummary {
181    id:string
182    href:string
183    externalId:string
184    orderDate:dateTime
185    completionDateTime:dateTime
186 }
187    ServiceOrderSummary --> "0-1" StateType : state
188
189 class Notification {
190    eventId:string
191    eventDate:dateTime
192 }
193    Notification --> "1-1" EventType : eventType
194    Notification --> "1-1" ServiceOrderSummaryWithItem : event
195
196 class ServiceOrderItemSummary {
197    id:string
198 }
199    ServiceOrderItemSummary --> "0-1" ActionType : action
200    ServiceOrderItemSummary --> "0-1" StateType : state
201    ServiceOrderItemSummary --> "1-1" Service : service
202
203 class ServiceOrderSummaryWithItem {
204    id:string
205    href:string
206    externalId:string
207    orderDate:dateTime
208    completionDateTime:dateTime
209 }
210    ServiceOrderSummaryWithItem --> "0-1" StateType : state
211    ServiceOrderSummaryWithItem --> "0-*" ServiceOrderItemSummary : orderItem
212
213 class OrderMessage {
214    code:string
215    field:string
216    messageInformation:string
217    correctionRequired:boolean
218 }
219    OrderMessage --> "1-1" SeverityMessage : severity
220
221 @enduml