Beskrivning
En CaseManagement är en tjänst som hanterar ärenden mot ByggR och Ecos2 (fas 1) samt läser historik från E-arkiv (fas 2).
Behov
Idag när en medborgare använder en e-tjänst för bygglovsärenden eller miljökontorärenden så skickas en PDF-fil innehållandes all information från E-tjänsten till handläggarna som manuellt får mata in dessa uppgifter i ByggR eller Ecos2. Detta tar mycket tid från handläggarna. Tid som kan användas till mer värdeskapande aktiviteter. Detta är dessutom ett repetitivt och inte särskilt utvecklande arbete för individen.Denna hantering vill vi automatisera genom att E-tjänsten istället anropar vårt CaseManagement-API som skapar ett ärende maskinellt i ByggR eller Ecos2. Ett ärende som skapas i e-tjänster består alltid av två olika ärenden. Ett i Open ePlatform(OeP) och ett annat i antingen ByggR eller Ecos2. Ärendet i OeP har varit kundens perspektiv på ärendet. Detta ärende har inte uppdaterats i takt med att ärendet handläggs i antingen ByggR eller Ecos2. Idag kan inte intressenterna i ett ärende (t.ex. den sökande) hitta information om sitt ärende på webben. Idag behöver intressenten kontakta en handläggare för information om sitt ärende. Detta är krångligt, ineffektivt och inte särskilt användarvänligt för våra kunder, samtidigt som det är en belastning för handläggarna.Detta vill vi lösa genom att CaseManagement föder OeP med information om de underliggande ärendena. Då kommer intressenterna kunna komma åt sina ärenden på webben.Livscykelstatus
Under utveckling
Lösningsbeskrivning
Gliffy |
---|
imageAttachmentId | att88113155 |
---|
macroId | 9964760a-a025-4804-a896-4e790a78cba0 |
---|
baseUrl | https://sundsvall.atlassian.net/wiki |
---|
name | caseMan-API |
---|
diagramAttachmentId | att88080400 |
---|
containerId | 47317017 |
---|
timestamp | 1644496395387 |
---|
|
CaseManagement(CM) kommer lagra en koppling mellan ärendet i OeP och underliggande handläggningssystem. Denna lagring kommer ske i samband med att ärendet skapas från e-tjänsten. Detta kommer möjliggöra att CM kommer kunna hämta upp ärendet från underliggande system när OeP ber om information.
Anropsflöden
POST /cases
“Underliggande system” syftar på antingen ByggR eller Ecos2 för närvarande. Anropet “Skapa ärende” kan bestå av ett flertal anrop för att skapa ett komplett ärende.
Image RemovedDatamodeller
Cases
Denna datamodell är en visuell överblick över Java-klasserna. Detta motsvarar ett komplett ärende. Detta är inget som lagras idag.
Gliffy |
---|
imageAttachmentId | att357138446 |
---|
macroId | b4c422c2-aedf-49d8-8da1-e7ce845bf7cf |
---|
baseUrl | https://sundsvall.atlassian.net/wiki |
---|
name | CaseManagement datamodell |
---|
diagramAttachmentId | att357531655 |
---|
containerId | 47317017 |
---|
timestamp | 1619174516603 |
---|
|
CaseMapping
Detta är databastabellen vi använder för att lagra kopplingen mellan OeP-ärendet och ärendet i det underliggande systemet.
Image RemovedcaseId - ID på ärendet i det underliggande systemet
externalCaseId - ID på OeP-ärendet
system - Det underliggande systemet (BYGGR, ECOS)
timestamp - tidsstämpel på när raden senast ändrades
Hantering av personuppgifter
Vi tar in ett personId , Ecos2 och vårt egna ärendehanteringssystem CaseData. CaseManagement fungerar som en ärendeförmedlare mellan ett externt system (idag främst Open ePlatform) och de underliggande systemen. CaseManagement tar emot ärenden i ett generiskt format och formaterar om ärendet så att det passar just det specifika system som det ska registreras i. CaseManagement håller även koll på kopplingen mellan det externa ärendet och det underliggande systemet och på så vis möjliggörs hämtning av status från det underliggande systemet, uppdateringar av ärendet med nya bilagor o.s.v.
Livscykelstatus
Produktion
Lösningsbeskrivning
Gliffy |
---|
displayName | caseMan-API Copy |
---|
name | caseMan-API Copy |
---|
pagePin | 1 |
---|
|
Hantering av personuppgifter
Vi tar in fältet “personId” och hämtar sedan det tillhörande personnumret från CitizenMapping för att kunna anropa Ecos2 och ByggR med personnummer. Vi kan inte påverka det faktum att dessa system kräver detta som indata. Ecos2 och ByggR ligger på det interna nätet på Sundsvalls kommun.
API specifikation
Expand |
---|
title | API-nyckel för sandbox-miljö. Klicka på
"Authorize" nedan och ange denna nyckel för att testa API:et.eyJ4NXQiOiJOVGRtWmpNNFpEazNOalkwWXpjNU1tWm1PRGd3TVRFM01XWXdOREU1TVdSbFpEZzROemM0WkE9PSIsImtpZCI6ImdhdGV3YXlfY2VydGlmaWNhdGVfYWxpYXMiLCJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJhZG1pbkBjYXJib24uc3VwZXIiLCJhcHBsaWNhdGlvbiI6eyJvd25lciI6ImFkbWluIiwidGllclF1b3RhVHlwZSI6bnVsbCwidGllciI6IjEwUGVyTWluIiwibmFtZSI6IkNvbmZsdWVuY2UtQ2FzZU1hbmFnZW1lbnQiLCJpZCI6NTIsInV1aWQiOiI0NjZiNTYwNi0zMjhiLTRmZmUtOWY0OS0zZjdjOTI3MWJkYmIifSwiaXNzIjoiaHR0cHM6XC9cL2FwaS1pbS10ZXN0LnN1bmRzdmFsbC5zZTo0NDNcL29hdXRoMlwvdG9rZW4iLCJ0aWVySW5mbyI6eyJVbmxpbWl0ZWQiOnsidGllclF1b3RhVHlwZSI6InJlcXVlc3RDb3VudCIsImdyYXBoUUxNYXhDb21wbGV4aXR5IjowLCJncmFwaFFMTWF4RGVwdGgiOjAsInN0b3BPblF1b3RhUmVhY2giOnRydWUsInNwaWtlQXJyZXN0TGltaXQiOjAsInNwaWtlQXJyZXN0VW5pdCI6bnVsbH19LCJrZXl0eXBlIjoiU0FOREJPWCIsInBlcm1pdHRlZFJlZmVyZXIiOiIiLCJzdWJzY3JpYmVkQVBJcyI6W3sic3Vic2NyaWJlclRlbmFudERvbWFpbiI6ImNhcmJvbi5zdXBlciIsIm5hbWUiOiJDYXNlTWFuYWdlbWVudCIsImNvbnRleHQiOiJcL2Nhc2VtYW5hZ2VtZW50XC8zLjIiLCJwdWJsaXNoZXIiOiJhZG1pbiIsInZlcnNpb24iOiIzLjIiLCJzdWJzY3JpcHRpb25UaWVyIjoiVW5saW1pdGVkIn1dLCJwZXJtaXR0ZWRJUCI6IiIsImlhdCI6MTY0NjI5NDcwOSwianRpIjoiZGM1MTkzNWMtOTk5OC00MjAzLThmM2QtYjNjNjlkNDA0ZjQwIn0=.TOgb3v6Ld8QSPnwCXbdhDHo6cvhj9fQj-Lwu-WIhcfTZzOHAJBKsGfKp27rrfFHnoJvY_k9DUo_mTlJw-e3RmJDIu3Fd9ZgBcs0yU8A0scDrUEZ0PN3HERGVJNYxTz7KJKDuVWbLznnb5cAMURMSS6gir3StG7kzhS7S8SLdprhZuuEJRr3TQWc6dwN90Nk_AoksxxoprlaL-0zMyqMq6CB62y83X59EEbTjENDR-_2V3ZWOERqOalnRNDW5VLRVUtXuFZhSDT4zFgYvAFef-ucek95WRaIgVJglBBtKYa3NnOr03Zwh_4NZp8OqWfZF82XT8fNTTQxy2EnWQ8t8gQ== |
Swagger ui |
openapi: 3.0.2
info:
title: CaseManagement
description: >-
A service that manage cases against ByggR (building permit cases) and Ecos2
(environmental office cases).
contact:
name: Sundsvalls kommun - Team Dynasty
email: teamdynasty@sundsvall.se
version: '3.3'
paths:
/api-docs:
get:
tags:
- API
summary: OpenAPI-definition
parameters: []
responses:
'200':
description: ok
x-auth-type: None
/cases:
post:
tags:
- Cases
description: >-
Creates a case in ByggR or Ecos2 based on caseType. Also persists a
connection between externalCaseId and the created case.
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Case'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CaseResourceResponse'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/Information'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Information'
/cases/case-mappings:
get:
tags:
- CaseMappings
description: >-
Returns the connection between externalCaseId and the case in the
underlying system.
parameters:
- name: external-case-id
in: query
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CaseMapping'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/Information'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/Information'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Information'
/cases/{external-case-id}/attachments:
post:
tags:
- Attachments
description: Add attachments to existing case.
parameters:
- name: external-case-id
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Attachment'
responses:
'204':
description: No content - Successful request.
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/Information'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/Information'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Information'
'501':
description: Not Implemented
content:
application/json:
schema:
$ref: '#/components/schemas/Information'
/cases/{external-case-id}/status:
get:
tags:
- Status
description: >-
Returns the latest status for the case in the underlying system
connected to the specified externalCaseId.
parameters:
- name: external-case-id
in: path
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CaseStatus'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/Information'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/Information'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Information'
/organization/{organizationNumber}/cases/status:
get:
tags:
- Status
description: >-
Returns the latest status for each of the cases where the specified
organization has the role "applicant".
parameters:
- name: organizationNumber
in: path
required: true
schema:
description: Organisationsnummer bestående av 10 eller 12 siffror.
type: string
example: 19901010-1234
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CaseStatus'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/Information'
'404':
description: Not found
content:
application/json:
schema:
$ref: '#/components/schemas/Information'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Information'
security:
- ApiKeyAuth: []
components:
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: apikey
schemas:
Address:
required:
- addressCategories
type: object
properties:
addressCategories:
description: >-
En adress kan ha en eller flera adresskategorier. Det kan exempelvis
vara samma adress som ska användas för post och fakturor.
minItems: 1
type: array
items:
$ref: '#/components/schemas/AddressCategory'
street:
type: string
example: Testvägen
houseNumber:
type: string
example: '18'
postalCode:
type: string
example: 123 45
city:
type: string
example: Sundsvall
country:
type: string
example: Sverige
careOf:
description: c/o
type: string
example: Test Testorsson
attention:
type: string
example: Test Testorsson
propertyDesignation:
description: Fastighetsbeteckning
type: string
example: SUNDSVALL LJUSTA 7:2
appartmentNumber:
type: string
example: LGH 1001
location:
$ref: '#/components/schemas/Coordinates'
isZoningPlanArea:
description: Ligger inom detaljplanerat område
type: boolean
invoiceMarking:
description: >-
Märkning av faktura (anges endast i samband med addressCategory
INVOICE_ADDRESS)
type: string
AddressCategory:
description: >-
Kategorisering av adresser.
<li>POSTAL_ADDRESS(Postadress)</li><li>INVOICE_ADDRESS(Fakturaadress)</li><li>VISITING_ADDRESS(Besöksadress)</li>
enum:
- INVOICE_ADDRESS
- POSTAL_ADDRESS
- VISITING_ADDRESS
type: string
Attachment:
required:
- category
- name
- extension
- file
type: object
properties:
category:
allOf:
- $ref: '#/components/schemas/AttachmentCategory'
- nullable: false
name:
pattern: \S
type: string
example: Namn på dokumentet
nullable: false
note:
type: string
example: En anteckning.
extension:
pattern: \S
type: string
example: .pdf
nullable: false
mimeType:
type: string
example: application/pdf
file:
format: byte
description: Base64-encoded file (plain text)
pattern: \S
type: string
example: dGVzdA==
nullable: false
AttachmentCategory:
description: Kategorisering av bilagor.
enum:
- ADRESS
- ANKVU
- ANM
- ANMALAN_LIVSMEDELSANLAGGNING
- ANMÄ
- ANNO
- ANS
- ANSF
- ANSFÖ
- ANSM
- ANSR
- ANSS
- ANSSL
- ANSUP
- ANSUPA
- ANV
- ARBI
- ARIT
- ARK
- AVPLAN
- BANK
- BEGLST
- BEGSTART
- BEHA
- BEK
- BEKMOTANS
- BEMÖ
- BERBSA
- BESKA
- BESLUT
- BIL
- BLST
- BRAB
- BRAD
- BRAU
- BROS
- BRS
- BULL
- DEB
- DEL
- DELK
- DELSLU
- DELSTA
- DETALJ
- DHBHUR
- DOM
- DPH
- ELD
- ENEDEK
- ENER
- EPOS
- EXRIT
- FAKTU
- FAKTUS
- FAP
- FAPL
- FAS
- FAS2
- FASSIT
- FASSIT2
- FAST
- FOTO
- FOTOMON
- FPSS
- FS
- FS2
- FSF
- FUM
- FÄRG
- FÖLJ
- FÖLJREVRIT
- FÖRB
- FÖRG2
- FÖRGARBO
- FÖRK
- FÖRR
- GBLAD
- GEO
- GODFÄ
- GRA
- GRAM
- GRAN
- GRUNDP
- GRUNDR
- HBB
- HISSINT
- HUR
- INFOSS
- INTFAK
- INTSLUT
- INTY
- KA
- KART
- KLA
- KM
- KOMP
- KOND
- KONR
- KONT
- KP
- KPLAN
- KPR
- KPV
- KR
- KVAL
- LUFT
- LUTE
- MAIL
- MAPL
- MAST
- MATINV
- MEDDEL
- MINN
- MIRP
- MOTBKR
- MUR
- MÅTT
- NYKA
- OMPLÄ
- OVK
- PERSPEKTIV
- PFS2
- PFSI2
- PFSS2
- PLA
- PLA2
- PLAN
- PLANK
- PLASIT
- PLFA
- PLFA2
- PLFASE
- PLFASESI
- PLFASI
- PLSE
- PLSE2
- PM
- PMINN
- POIT
- PRES
- PRESENTA
- PROARB
- PROSS
- PROT
- PROTAU
- PROTKS
- PROTPLU
- PROTS
- PROTSBN
- PSI2
- PSS
- PSS2
- PÅMINNTB
- RAP
- RAPP
- REL
- REMISS
- REMS
- REMUA
- REVRIT
- RIT
- RITNING
- RIVA
- RIVP
- RUE
- RÄTT
- SAK
- SAKNAS
- SAKUT
- SBES
- SBN
- SCB
- SEK
- SEK2
- SEKSIT
- SEKT
- SESI2
- SIN
- SITU
- SKP
- SKR
- SKY
- SKYL
- SLUT
- STAB
- STIM
- STOMR
- SVAR
- SVAR2år
- SÅF
- TAPL
- TEBY
- TEKN
- TEKRAP
- TEVS
- TILL
- TILLVR
- TJ
- TJÄ
- TOMTPLBE
- TSR
- UBGARBO
- UKA
- UKON
- UKP
- UKR
- UND
- UNDER
- UNDUT
- UPLA
- UPPM
- URÖR
- UTBEU
- UTSK
- UTSKP
- UTSKS
- UVEN
- VAH
- VENT
- VS
- VVSH
- ÄRB
- ÅTG
- ÖVER
type: string
Case:
required:
- externalCaseId
- caseType
- stakeholders
- attachments
type: object
properties:
id:
format: int64
type: integer
readOnly: true
externalCaseId:
description: ÄrendeId från Open-E
pattern: \S
type: string
example: '1'
nullable: false
caseType:
allOf:
- $ref: '#/components/schemas/CaseType'
- nullable: false
description:
description: Beskriv kort vad du vill bygga
type: string
example: En fritextbeskrivning av case.
caseTitleAddition:
description: >-
Additions to the case title. Right now only applicable to cases of
CaseType: NYBYGGNAD_ANSOKAN_OM_BYGGLOV.
type: string
example: Eldstad/rökkanal, Skylt
stakeholders:
minItems: 1
type: array
items:
$ref: '#/components/schemas/Stakeholder'
attachments:
minItems: 1
type: array
items:
$ref: '#/components/schemas/Attachment'
oneOf:
- $ref: '#/components/schemas/PlanningPermissionCase'
- $ref: '#/components/schemas/EnvironmentalCase'
CaseMapping:
required:
- system
type: object
properties:
externalCaseId:
type: string
caseId:
type: string
system:
allOf:
- $ref: '#/components/schemas/SystemType'
- nullable: false
timestamp:
format: date-time
type: string
readOnly: true
CaseResourceResponse:
type: object
properties:
caseId:
type: string
CaseStatus:
type: object
properties:
system:
$ref: '#/components/schemas/SystemType'
externalCaseId:
type: string
caseId:
type: string
status:
description: Status på ärendet
type: string
example: Pågående
timestamp:
format: date-time
type: string
CaseType:
description: Sätts till den enum som hör ihop med den anropande e-tjänsten.
enum:
- ANMALAN_ATTEFALL
- LIVSMEDELSVERKSAMHET_ANMALAN_OM_REGISTRERING
- NYBYGGNAD_ANSOKAN_OM_BYGGLOV
type: string
example: NYBYGGNAD_ANSOKAN_OM_BYGGLOV
Coordinates:
type: object
properties:
latitude:
format: double
description: Decimal Degrees (DD)
type: number
example: 62.390205
longitude:
format: double
description: Decimal Degrees (DD)
type: number
example: 17.306616
EnvironmentalCase:
description: Miljökontorärende (Ecos2)
required:
- startDate
- externalCaseId
- caseType
- stakeholders
- attachments
- facilities
type: object
properties:
startDate:
format: date
description: Startdatum på verksamheten.
type: string
example: {}
nullable: false
endDate:
format: date
description: Slutdatum på verksamheten vid det fall den är tidsbegränsad.
type: string
example: {}
id:
format: int64
type: integer
readOnly: true
externalCaseId:
description: ÄrendeId från Open-E
pattern: \S
type: string
example: '1'
nullable: false
caseType:
allOf:
- $ref: '#/components/schemas/CaseType'
- nullable: false
description:
description: Beskriv kort vad du vill bygga
type: string
example: En fritextbeskrivning av case.
caseTitleAddition:
description: >-
Additions to the case title. Right now only applicable to cases of
CaseType: NYBYGGNAD_ANSOKAN_OM_BYGGLOV.
type: string
example: Eldstad/rökkanal, Skylt
stakeholders:
minItems: 1
type: array
items:
$ref: '#/components/schemas/Stakeholder'
attachments:
minItems: 1
type: array
items:
$ref: '#/components/schemas/Attachment'
facilities:
maxItems: 1
minItems: 1
type: array
items:
$ref: '#/components/schemas/EnvironmentalFacility'
EnvironmentalFacility:
required:
- facilityCollectionName
type: object
properties:
description:
type: string
example: En fritextbeskrivning av facility.
address:
$ref: '#/components/schemas/Address'
facilityCollectionName:
description: Skyltnamn
pattern: \S
type: string
example: Sundsvalls testfabrik
nullable: false
Facility:
type: object
properties:
description:
type: string
example: En fritextbeskrivning av facility.
address:
$ref: '#/components/schemas/Address'
oneOf:
- $ref: '#/components/schemas/PlanningPermissionFacility'
- $ref: '#/components/schemas/EnvironmentalFacility'
FacilityType:
description: >-
Typ av
byggnad.<br><br>Typer:<li>ONE_FAMILY_HOUSE(enbostadshus)</li><li>APARTMENT_BLOCK(flerbostadshus)</li><li>WEEKEND_COTTAGE(fritidshus)</li><li>OFFICE_BUILDING(kontorsbyggnad)</li><li>INDUSTRIAL_BUILDING(industribyggnad)</li><li>GARAGE(garage)</li><li>CARPORT(carport)</li><li>STOREHOUSE(förråd)</li><li>GREENHOUSE(växthus)</li><li>GUEST_HOUSE(gäststuga)</li><li>WAREHOUSE(lagerbyggnad)</li><li>WORKSHOP_BUILDING(Verkstadsbyggnad)</li><li>RESTAURANT(Restaurang)</li><li>SCHOOL(Skola)</li><li>PRESCHOOL(Förskola)</li><li>PARKING(Parkering,
Cykelparkering)</li><li>DEPOT(Upplag)</li><li>MARINA(Småbåtshamn)</li><li>WALL(Mur)</li><li>PALING(Plank)</li><li>RECYCLING_STATION(Återvinningsstation)</li><li>OTHER(övrigt)</li>
enum:
- ANCILLARY_BUILDING
- ANCILLARY_HOUSING_BUILDING
- APARTMENT_BLOCK
- CARPORT
- DEPOT
- DORMER
- EXTENSION
- FURNISHING_OF_ADDITIONAL_DWELLING
- GARAGE
- GREENHOUSE
- GUEST_HOUSE
- INDUSTRIAL_BUILDING
- MARINA
- OFFICE_BUILDING
- ONE_FAMILY_HOUSE
- OTHER
- PALING
- PARKING
- PRESCHOOL
- RECYCLING_STATION
- RESTAURANT
- SCHOOL
- STOREHOUSE
- WALL
- WAREHOUSE
- WEEKEND_COTTAGE
- WORKSHOP_BUILDING
type: string
Information:
type: object
properties:
type:
type: string
status:
format: int32
type: integer
title:
type: string
detail:
type: string
instance:
type: string
Organization:
required:
- type
- roles
- organizationName
- organizationNumber
type: object
properties:
type:
allOf:
- $ref: '#/components/schemas/StakeholderType'
- nullable: false
roles:
description: En intressent kan ha en eller flera roller.
type: array
items:
$ref: '#/components/schemas/StakeholderRole'
nullable: false
organizationName:
pattern: \S
type: string
example: Sundsvalls testfabrik
nullable: false
organizationNumber:
description: Organisationsnummer bestående av 10 eller 12 siffror.
pattern: \S
type: string
example: 19901010-1234
nullable: false
phoneNumber:
type: string
example: '060121212'
emailAddress:
type: string
example: test.testorsson@test.se
cellphoneNumber:
type: string
example: '0701231212'
addresses:
description: >-
En intressent kan ha en eller flera adresser. T.ex. en adress av
typen POSTAL_ADDRESS och en annan av typen INVOICE_ADDRESS.
type: array
items:
$ref: '#/components/schemas/Address'
authorizedSignatory:
description: Firmatecknare
type: string
example: Test Testorsson
Person:
required:
- type
- roles
- firstName
- lastName
type: object
properties:
type:
allOf:
- $ref: '#/components/schemas/StakeholderType'
- nullable: false
roles:
description: En intressent kan ha en eller flera roller.
type: array
items:
$ref: '#/components/schemas/StakeholderRole'
nullable: false
firstName:
pattern: \S
type: string
example: Test
nullable: false
lastName:
pattern: \S
type: string
example: Testorsson
nullable: false
personId:
type: string
example: 3ed5bc30-6308-4fd5-a5a7-78d7f96f4438
phoneNumber:
type: string
example: '060121212'
emailAddress:
type: string
example: test.testorsson@test.se
cellphoneNumber:
type: string
example: '0701231212'
addresses:
description: >-
En intressent kan ha en eller flera adresser. T.ex. en adress av
typen POSTAL_ADDRESS och en annan av typen INVOICE_ADDRESS.
type: array
items:
$ref: '#/components/schemas/Address'
personalNumber:
type: string
readOnly: true
PlanningPermissionCase:
description: Bygglovsärende (ByggR)
required:
- externalCaseId
- caseType
- stakeholders
- attachments
- facilities
type: object
properties:
id:
format: int64
type: integer
readOnly: true
externalCaseId:
description: ÄrendeId från Open-E
pattern: \S
type: string
example: '1'
nullable: false
caseType:
allOf:
- $ref: '#/components/schemas/CaseType'
- nullable: false
description:
description: Beskriv kort vad du vill bygga
type: string
example: En fritextbeskrivning av case.
caseTitleAddition:
description: >-
Additions to the case title. Right now only applicable to cases of
CaseType: NYBYGGNAD_ANSOKAN_OM_BYGGLOV.
type: string
example: Eldstad/rökkanal, Skylt
stakeholders:
minItems: 1
type: array
items:
$ref: '#/components/schemas/Stakeholder'
attachments:
minItems: 1
type: array
items:
$ref: '#/components/schemas/Attachment'
facilities:
minItems: 1
type: array
items:
$ref: '#/components/schemas/PlanningPermissionFacility'
diaryNumber:
description: Diarienummer
type: string
PlanningPermissionFacility:
required:
- facilityType
type: object
properties:
facilityType:
allOf:
- $ref: '#/components/schemas/FacilityType'
- nullable: false
description:
type: string
example: En fritextbeskrivning av facility.
address:
$ref: '#/components/schemas/Address'
mainFacility:
type: boolean
Stakeholder:
required:
- type
- roles
type: object
properties:
type:
allOf:
- $ref: '#/components/schemas/StakeholderType'
- nullable: false
roles:
description: En intressent kan ha en eller flera roller.
type: array
items:
$ref: '#/components/schemas/StakeholderRole'
nullable: false
phoneNumber:
type: string
example: '060121212'
emailAddress:
type: string
example: test.testorsson@test.se
cellphoneNumber:
type: string
example: '0701231212'
addresses:
description: >-
En intressent kan ha en eller flera adresser. T.ex. en adress av
typen POSTAL_ADDRESS och en annan av typen INVOICE_ADDRESS.
type: array
items:
$ref: '#/components/schemas/Address'
oneOf:
- $ref: '#/components/schemas/Person'
- $ref: '#/components/schemas/Organization'
StakeholderRole:
description: >-
<h3>Generella-roller:</h3><li>CONTACT_PERSON(Kontaktperson)</li><br><br><h3>Bygglovsärende-roller:</h3><li>CONTROL_OFFICIAL(Kontrollansvarig)</li><li>APPLICANT(Sökande)<li>PROPERTY_OWNER(Fastighetsägare)</li><li>PAYMENT_PERSON(Betalningsansvarig)</li><br><br><h3>Miljökontorärende-roller:</h3><li>INVOICE_RECIPENT(Fakturamottagare)</li><li>OPERATOR(Verksamhetsutövare)</li>
enum:
- APPLICANT
- CONTACT_PERSON
- CONTROL_OFFICIAL
- INVOICE_RECIPENT
- OPERATOR
- PAYMENT_PERSON
- PROPERTY_OWNER
type: string
StakeholderType:
enum:
- ORGANIZATION
- PERSON
type: string
SystemType:
enum:
- BYGGR
- ECOS
type: string
servers:
- url: https://api-test.sundsvall.se/casemanagement/3.3
Medvetna avvikelser
Handläggarna i ByggR ville ha filnamnet på dokument i anteckningsfältet i ByggR för att få en bättre överblick. Egentligen ska fältet “note” i Attachment-objektet användas för detta i CaseManagaement's API, men p.g.a. begränsningar i OeP’s integrationsadapter som inte möjliggör att e-tjänsteutvecklaren kan konfigurera att detta skickas med så valde vi att lösa detta i CaseManagement’s backend istället.
API specifikation
Open api |
---|
showCommonExtensions | true |
---|
deepLinking | true |
---|
supportedSubmitMethods | none |
---|
location | url |
---|
showExtensions | true |
---|
url | https://api-i-test.sundsvall.se/casemanagement/8.0/api-docs |
---|
|
|