eb78af25a371e977564939935ab56483b616b302
[externalapi/nbi.git] / docs / offeredapis / serviceOrder / apiServiceOrder.plantuml
1 /' This work is licensed under a Creative Commons Attribution 4.0 International License.
2    http://creativecommons.org/licenses/by/4.0
3    Copyright 2018 Orange'/
4
5 @startuml
6
7 enum ActionType {
8    add
9    modify
10    delete
11    noChange
12 }
13 enum StateType {
14    acknowledged
15    rejected
16    pending
17    held
18    inProgress
19    cancelled
20    completed
21    failed
22    partial
23 }
24 enum RelationshipType {
25    reliesOn
26 }
27
28 class ErrorRepresentation {
29    code:int
30    reason:string
31    message:string
32    status:string
33    referenceError:string
34    @type:string
35    @schemaLocation:string
36 }
37
38 class ServiceRelationship
39    ServiceRelationship --> "1-1" RelationshipType : type
40    ServiceRelationship --> "1-1" Service : service
41
42 class ServiceRef {
43    id:string
44    href:string
45 }
46
47 class ServiceCharacteristic {
48    name:string
49    valueType:string
50 }
51    ServiceCharacteristic --> "0-1" Value : value
52
53 class RelatedParty {
54    id:string
55    href:string
56    role:string
57    name:string
58    @referredType:string
59 }
60
61 class ServiceSpecificationRef {
62    id:string
63    href:string
64    name:string
65    version:string
66    @type:string
67    @schemaLocation:string
68    @baseType:string
69 }
70    ServiceSpecificationRef --> "0-1" TargetServiceSchema : targetServiceSchema
71
72 class Service {
73    id:string
74    href:string
75    name:string
76    serviceState:string
77    @type:string
78    @schemaLocation:string
79 }
80    Service --> "0-*" ServiceCharacteristic : serviceCharacteristic
81    Service --> "0-*" ServiceRelationship : serviceRelationship
82    Service --> "0-*" RelatedParty : relatedParty
83    Service --> "0-1" ServiceSpecificationRef : serviceSpecification
84
85 class OrderItemRelationship {
86    id:string
87 }
88    OrderItemRelationship --> "1-1" RelationshipType : type
89
90 class ServiceOrderItem {
91    id:string
92    @type:string
93    @schemaLocation:string
94    @baseType:string
95 }
96    ServiceOrderItem --> "0-1" ActionType : action
97    ServiceOrderItem --> "0-1" StateType : state
98    ServiceOrderItem --> "0-*" OrderItemRelationship : orderItemRelationship
99    ServiceOrderItem --> "1-1" Service : service
100
101 class ServiceOrder {
102    id:string
103    href:string
104    externalId:string
105    priority:string
106    description:string
107    category:string
108    orderDate:dateTime
109    completionDateTime:dateTime
110    requestedStartDate:dateTime
111    requestedCompletionDate:dateTime
112    expectedCompletionDate:dateTime
113    startDate:dateTime
114    @baseType:string
115    @type:string
116    @schemaLocation:string
117 }
118    ServiceOrder --> "0-1" StateType : state
119    ServiceOrder --> "0-*" RelatedParty : relatedParty
120    ServiceOrder --> "0-*" OrderRelationship : orderRelationship
121    ServiceOrder --> "0-*" ServiceOrderItem : orderItem
122
123 class OrderRelationship {
124    type:string
125    id:string
126    href:string
127    @referredType:string
128 }
129
130 class TargetServiceSchema {
131    @type:string
132    @schemaLocation:string
133 }
134
135 class Value {
136    @type:string
137    @schemaLocation:string
138    serviceCharacteristicValue:string
139 }
140
141 class CreateServiceOrderItem {
142    id:string
143    @type:string
144    @schemaLocation:string
145    @baseType:string
146 }
147    CreateServiceOrderItem --> "0-1" ActionType : action
148    CreateServiceOrderItem --> "0-*" OrderItemRelationship : orderItemRelationship
149    CreateServiceOrderItem --> "1-1" Service : service
150
151 class CreateServiceOrder {
152    externalId:string
153    priority:string
154    description:string
155    category:string
156    requestedStartDate:dateTime
157    requestedCompletionDate:dateTime
158    @baseType:string
159    @type:string
160    @schemaLocation:string
161 }
162    CreateServiceOrder --> "0-*" RelatedParty : relatedParty
163    CreateServiceOrder --> "0-*" OrderRelationship : orderRelationship
164    CreateServiceOrder --> "0-*" CreateServiceOrderItem : orderItem
165
166 class Hub {
167    id:string
168    query:string
169    callback:string
170 }
171
172 @enduml