summaryrefslogtreecommitdiffstats
path: root/docs/offeredapis/serviceOrder/apiServiceOrder.plantuml
blob: eb78af25a371e977564939935ab56483b616b302 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
/' This work is licensed under a Creative Commons Attribution 4.0 International License.
   http://creativecommons.org/licenses/by/4.0
   Copyright 2018 Orange'/

@startuml

enum ActionType {
   add
   modify
   delete
   noChange
}
enum StateType {
   acknowledged
   rejected
   pending
   held
   inProgress
   cancelled
   completed
   failed
   partial
}
enum RelationshipType {
   reliesOn
}

class ErrorRepresentation {
   code:int
   reason:string
   message:string
   status:string
   referenceError:string
   @type:string
   @schemaLocation:string
}

class ServiceRelationship
   ServiceRelationship --> "1-1" RelationshipType : type
   ServiceRelationship --> "1-1" Service : service

class ServiceRef {
   id:string
   href:string
}

class ServiceCharacteristic {
   name:string
   valueType:string
}
   ServiceCharacteristic --> "0-1" Value : value

class RelatedParty {
   id:string
   href:string
   role:string
   name:string
   @referredType:string
}

class ServiceSpecificationRef {
   id:string
   href:string
   name:string
   version:string
   @type:string
   @schemaLocation:string
   @baseType:string
}
   ServiceSpecificationRef --> "0-1" TargetServiceSchema : targetServiceSchema

class Service {
   id:string
   href:string
   name:string
   serviceState:string
   @type:string
   @schemaLocation:string
}
   Service --> "0-*" ServiceCharacteristic : serviceCharacteristic
   Service --> "0-*" ServiceRelationship : serviceRelationship
   Service --> "0-*" RelatedParty : relatedParty
   Service --> "0-1" ServiceSpecificationRef : serviceSpecification

class OrderItemRelationship {
   id:string
}
   OrderItemRelationship --> "1-1" RelationshipType : type

class ServiceOrderItem {
   id:string
   @type:string
   @schemaLocation:string
   @baseType:string
}
   ServiceOrderItem --> "0-1" ActionType : action
   ServiceOrderItem --> "0-1" StateType : state
   ServiceOrderItem --> "0-*" OrderItemRelationship : orderItemRelationship
   ServiceOrderItem --> "1-1" Service : service

class ServiceOrder {
   id:string
   href:string
   externalId:string
   priority:string
   description:string
   category:string
   orderDate:dateTime
   completionDateTime:dateTime
   requestedStartDate:dateTime
   requestedCompletionDate:dateTime
   expectedCompletionDate:dateTime
   startDate:dateTime
   @baseType:string
   @type:string
   @schemaLocation:string
}
   ServiceOrder --> "0-1" StateType : state
   ServiceOrder --> "0-*" RelatedParty : relatedParty
   ServiceOrder --> "0-*" OrderRelationship : orderRelationship
   ServiceOrder --> "0-*" ServiceOrderItem : orderItem

class OrderRelationship {
   type:string
   id:string
   href:string
   @referredType:string
}

class TargetServiceSchema {
   @type:string
   @schemaLocation:string
}

class Value {
   @type:string
   @schemaLocation:string
   serviceCharacteristicValue:string
}

class CreateServiceOrderItem {
   id:string
   @type:string
   @schemaLocation:string
   @baseType:string
}
   CreateServiceOrderItem --> "0-1" ActionType : action
   CreateServiceOrderItem --> "0-*" OrderItemRelationship : orderItemRelationship
   CreateServiceOrderItem --> "1-1" Service : service

class CreateServiceOrder {
   externalId:string
   priority:string
   description:string
   category:string
   requestedStartDate:dateTime
   requestedCompletionDate:dateTime
   @baseType:string
   @type:string
   @schemaLocation:string
}
   CreateServiceOrder --> "0-*" RelatedParty : relatedParty
   CreateServiceOrder --> "0-*" OrderRelationship : orderRelationship
   CreateServiceOrder --> "0-*" CreateServiceOrderItem : orderItem

class Hub {
   id:string
   query:string
   callback:string
}

@enduml