diadem web service interface

57
COMMERCIAL IN CONFIDENCE COMMERCIAL IN CONFIDENCE SSE/10712/IFS/001$Revision: 1.65$ $Date: 20 Aug 2013$ IFS Interface Specification DIADEM-10712 DIADEM Web Service Interface Prepared for: Ministeriet for By, Bolig og Landdistrikter Gammel Mønt 4 1117 København K

Upload: others

Post on 03-Feb-2022

18 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DIADEM Web Service Interface

COMMERCIAL IN CONFIDENCE

COMMERCIAL IN CONFIDENCE

SSE/10712/IFS/001$Revision: 1.65$ $Date: 20 Aug 2013$

IFS Interface Specification

DIADEM-10712

DIADEM Web Service Interface

Prepared for:

Ministeriet for By, Bolig og Landdistrikter

Gammel Mønt 4

1117 København K

Page 2: DIADEM Web Service Interface

COMMERCIAL IN CONFIDENCE

COMMERCIAL IN CONFIDENCE

SSE/10712/IFS/001$Revision: 1.65$ $Date: 20 Aug 2013$

IFS Interface Specification

Project: $DIADEM-10712

Revision: $Revision: 1.65$ $Date: 20 Aug 2013$

Document: $SSE/10712/IFS/001

Copyright (c) 2013 by Systematic Group. It shall not be copied, reproduced, disclosed or otherwise

made available to third party without previous consent from Systematic Group

Page 3: DIADEM Web Service Interface

COMMERCIAL IN CONFIDENCE

COMMERCIAL IN CONFIDENCE

SSE/10712/IFS/001$Revision: 1.65$ $Date: 20 Aug 2013$

Table of Contents

1 Introduction ...................................................................... 1

2 Definition of Terms ............................................................ 1

2.1 Property relations ................................................................. 2

3 DIADEM Use Scenario ........................................................ 3

3.1 STEP 1: Finding Real Property ................................................ 3

3.2 STEP 2: Using a DIADEM Report Template ............................... 4

3.3 STEP 3: Ordering a DIADEM Report ........................................ 4

3.4 STEP 4: Getting and Determining DIADEM Report Status ........... 5

3.5 STEP 5: Rendering a DIADEM Report ...................................... 5

3.6 STEP 6 Reorder a DIADEM Report ........................................... 6

4 DIADEM Public Web Services ............................................. 6

4.1 Readers Guide ...................................................................... 6

4.2 Web Service – EjendomSoeg .................................................. 7

4.2.1 Operation – EjendomSoegViaAdresseIdentifikation ................... 7

4.2.2 Operation – EjendomSoegViaAdresse ...................................... 7

4.2.3 Operation – EjendomSoegViaKoordinat.................................... 8

4.2.4 Operation – EjendomSoegViaMatrikelnummer .......................... 9

4.2.5 Operation – EjendomSoegViaEjendomsnummer ........................ 9

4.2.6 Operation – EjendomSoegViaEjerforhold ................................ 10

4.3 Web Service – Rapportskabelon (Version 2) ........................... 10

4.3.1 Operation – RapportskabelonHent ......................................... 11

4.3.2 Operation – RapportskabelonlisteHent ................................... 11

4.4 Web Service – Rapport ........................................................ 12

4.4.1 Operation - RapportBestil .................................................... 12

4.4.2 Operation - RapportHent ..................................................... 14

4.4.3 Operation – RapportlisteHent ............................................... 14

4.4.4 Operation – RapportlisteHentViaEjendomsnummer ................. 15

4.4.5 Operation – RapportOpdaterFortrolighed ............................... 16

4.4.6 Operation – RapportGenbestil .............................................. 17

4.4.7 Operation – RapportBilagHent .............................................. 18

4.4.8 Operation – RapportPdfHent ................................................. 18

Page 4: DIADEM Web Service Interface

COMMERCIAL IN CONFIDENCE

COMMERCIAL IN CONFIDENCE

SSE/10712/IFS/001$Revision: 1.65$ $Date: 20 Aug 2013$

4.5 Web Service – Metadata ...................................................... 19

4.5.1 General – Metadata filters .................................................... 19

4.5.2 Operation - MetadataHentViaRapport .................................... 20

4.5.3 Operation - MetadataHentViaRapportBestillingsDato................ 21

4.5.4 Operation - MetadataHentViaRapportelement ......................... 21

4.6 Web Service Datamodtag .................................................... 22

4.6.1 Operation - ForespoergselHent ............................................. 22

4.6.2 Operation - ForespoergselListeHentUbesvarede ...................... 23

4.6.3 Operation - SvarOpdater ..................................................... 24

4.7 Web Service RapportAfregningService ................................... 24

4.7.1 Operation - KontantBetalingerHent ....................................... 25

4.7.2 Operation - BeregnPris ........................................................ 25

4.7.3 Operation - BetalingsIdHent ................................................. 26

4.8 Web Service – FuldmagtService ............................................ 26

4.8.1 Operation - FuldmagtAfgivetListeHent ................................... 27

4.8.2 Operation - FuldmagtOpret .................................................. 27

4.8.3 Operation - FuldmagtTildeltListeHent .................................... 29

4.8.4 Operation - FuldmagtAnnuller .............................................. 29

4.9 Web Service – KundeService ................................................ 30

4.9.1 Operation - KundeHent ........................................................ 30

4.9.2 Operation - FastKundeHent .................................................. 30

4.10 Web Service – Statistik ....................................................... 31

4.10.1 Operation - StatistikDataHent .............................................. 31

5 DIADEM Web Service Semantics ...................................... 32

5.1 Message Format ................................................................. 32

5.2 Web Service Security .......................................................... 32

5.2.1 OWSA model T – Anonymous Users ...................................... 33

5.2.2 OIO IDWS – Authenticated Users .......................................... 33

5.2.3 Issuing a token .................................................................. 34

5.3 Time ................................................................................. 35

5.4 Error Handling .................................................................... 35

5.4.1 Soap Fault ......................................................................... 35

5.4.2 Http Error Code .................................................................. 36

5.4.3 Client timeout .................................................................... 36

5.5 Error codes ........................................................................ 36

5.6 Web Service Input Validation ............................................... 39

5.7 Standards Compliance ......................................................... 39

Page 5: DIADEM Web Service Interface

COMMERCIAL IN CONFIDENCE

COMMERCIAL IN CONFIDENCE

SSE/10712/IFS/001$Revision: 1.65$ $Date: 20 Aug 2013$

6 Important DIADEM Schemas ........................................... 40

6.1 Report Template Structure ................................................... 40

6.1.1 Report Template Group ....................................................... 40

6.1.2 Report Option..................................................................... 41

6.2 Top Level Report Structure .................................................. 42

6.2.1 Report Status ..................................................................... 42

6.2.2 Report Template ................................................................. 43

6.2.3 Report Order ...................................................................... 43

6.2.4 Report Element .................................................................. 44

6.2.5 Report summary ................................................................. 45

6.3 Using Metadata .................................................................. 45

6.3.1 Rendering a DIADEM Report ................................................ 46

6.3.2 Metadata on Report, Groups and Categories........................... 47

6.3.3 Metadata on Elements and fields .......................................... 48

7 Versioning of Reports and Report Elements ..................... 51

7.1 Versioning of Reports .......................................................... 51

7.2 Versioning of Report elements .............................................. 51

7.3 Examples of versioning ........................................................ 51

Page 6: DIADEM Web Service Interface

COMMERCIAL IN CONFIDENCE

COMMERCIAL IN CONFIDENCE

1 of 54 SSE/10712/IFS/001$Revision: 1.65$ $Date: 20 Aug 2013$

1 Introduction

This interface description documents the web service interfaces which the

DIADEM implements and makes available to business-to-business

systems.

Note to get started developing an application that uses the DIADEM you

need to do the following:

Read this guide.

Supply MBBL with the OCES functional certificate (public key) you want

to use with to authenticate you application.

Supply MBBL with the OCES functional certificate (public key) you want

to use with to authenticate you STS. If you do not use the IOI IDWS

based methods you do not need this.

Supply MBBL with the users who need access.

2 Definition of Terms

Term Description

MBBL Abbreviation of ”Ministeriet for By, Bolig og Landdistrikter”. The owner and administrator of the DIADEM project and solutions. See more at http://mbbl.dk/ejendomsdata-i-diadem.

User Is used to represent the person who is the caller

of a DIADEM web service. The user is identified in the OIO SAML information sent using IDWS. See section 5.2 on security.

User.Employee A user that is an employee at some company. It must be a Danish company identified by a CVR number.

User.Person A user that is a private person. The person must have a Danish CPR number.

Calling System Is used to represent the application / system that calls a DIADEM web service. The system is identified by the functional OCES certificate (FOCES). See section 5.2 on security.

Real Property In Danish “Vurderingsejendom”, the primary

subject of a DIADEM Report. See section 2.1 for information on the relations between the

property terms. Is uniquely identified through a composite key Ejendomsnummer and Kommunenummer.

Land Property In Danish “Samlet Fast Ejendom”, a subdivision of a Real Property into Property that may be

sold separately. See section 2.1 for information on the relations between the property terms. Is uniquely identified through a SamletFast-EjendomIdentifikator.

Land Parcel In Danish “Matrikelnummer”, a sub division of a land parcel. See section 2.1 for information on

the relations between the property terms. Is uniquely identified through a composite key

Page 7: DIADEM Web Service Interface

COMMERCIAL IN CONFIDENCE

COMMERCIAL IN CONFIDENCE

2 of 54 SSE/10712/IFS/001$Revision: 1.65$ $Date: 20 Aug 2013$

Term Description

Matrikelnummer and EjerlavsKode. Municipality In Danish “Kommune”. Municipality is uniquely

identified through a 4 digit code, called a “Kommunekode”.

OIO IDWS Standard profile for securing activation of web services. Includes identity and right of the end-user.

OWSA model T Standard profile for securing activation of web services based on https with client authentication.

DIBS Danish internet payment system – information is relation to doing cash payments in DIADEM.

2.1 Property relations

The figure below describes the primary real property information with

restrictions.

Figure 1 Property relations

Page 8: DIADEM Web Service Interface

COMMERCIAL IN CONFIDENCE

COMMERCIAL IN CONFIDENCE

3 of 54 SSE/10712/IFS/001$Revision: 1.65$ $Date: 20 Aug 2013$

3 DIADEM Use Scenario

This chapter contains a high level description of common usage scenario.

Figure 2 Use cases

3.1 STEP 1: Finding Real Property

The first step in ordering a DIADEM report is to search and find the real

property which must be the object of a DIADEM report.

DIADEM has a set of operations located in the EjendomSoeg web service

that can be used to search for a real property. The search can be based on

Page 9: DIADEM Web Service Interface

COMMERCIAL IN CONFIDENCE

COMMERCIAL IN CONFIDENCE

4 of 54 SSE/10712/IFS/001$Revision: 1.65$ $Date: 20 Aug 2013$

a real property identifier, based on address information, based on owner

information or based on a land parcel identifier.

The operations of EjendomSoeg returns an in depth description of the real

properties that meet the search criteria. Based on the returned real

property information, a user is able to identify the real property that

should be the object of a DIADEM report.

Note a Real Property is uniquely identified by a composite key consisting

of Ejendomsnummer and Kommunenummer (real property number and

municipality number).

3.2 STEP 2: Using a DIADEM Report Template

A DIADEM report consists of a number of sections each describing a

different aspect of the real property. When ordering a DIADEM report the

user can select which sections the report must contain. The price

associated with a report is dependent on which report options have been

ordered.

DIADEM has a set of operations located in the Rapportskabelon web

service that can be used to get templates with different contents. A report

template contains information that defines naming and describes the

contents of the individual report options.

A report template contains a subset of the report options defined in

DIADEM. The report options in a template may be ordered in groups,

allowing related information to be kept together.

Report templates are administrated by MBBL. There is a set of globally

available templates and there is the possibility to have a tailored report

that is only available to a group of customers.

The report templates available to a given user may always be retrieved using the RapportskabelonListeHent operation on the Rapportskabelon

web service.

Note if desired Step 2 could be done before Step 1.

3.3 STEP 3: Ordering a DIADEM Report

To order a DIADEM report the user must specify the desired real property

and report options that the DIADEM report must contain. Optionally the

user may select to limit the DIADEM report to cover only a subset of the

land properties associated with the real property. Ordering a DIADEM

report starts the collection of the information associated with a real

property.

The Rapport web service operation RapportBestil is used for ordering a

DIADEM report. The RapportBestil operation will return when the

validity of the order details, including payment, has been verified. The

DIADEM report is not returned by the operation. Instead a DIADEM report

order identifier, which can be used to get the generated report, is

returned.

The user can choose to be notified when the DIADEM report has been

completed by DIADEM. The user can be notified by an e-mail and/or an

SMS text message.

Page 10: DIADEM Web Service Interface

COMMERCIAL IN CONFIDENCE

COMMERCIAL IN CONFIDENCE

5 of 54 SSE/10712/IFS/001$Revision: 1.65$ $Date: 20 Aug 2013$

When ordering, the user may specify whether the report should be

available to any user in possession of the DIADEM report order identifier

or confidential and only accessible by the user who ordered the report.

If the user is registered as a regular customer and has special privileges in

relation to power of attorney it is possible to specify if collection of private

data must be enforced.

Finally the user has the ability to specify an own reference, that will be

available as part of the DIADEM report. This allows the user to include

information, like an internal case number, that identifies who is

responsible for the report within the user’s own organisation.

3.4 STEP 4: Getting and Determining DIADEM Report Status

As already mentioned, generation of a DIADEM report is not necessary completed when the RapportBestil operation returns.

The DIADEM report is however always available in any intermediate state

where available report options of the report has been generated. Report

options that have not yet been retrieved and generated, are marked with

a status identifying their intermediate state.

A DIADEM report is retrieved using the RapportHent operation which is

part of the Rapport web service. Status information identifies whether the

report is complete or is incomplete. When incomplete, DIADEM is still

getting information from real property information providers.

If the user has selected to be notified at report completion, she will

receive an email and/or SMS.

A user may get a list of report orders complete and incomplete that the user over time has ordered. This is done using the RapportlisteHent

operation.

Note a report not marked as confidential can be retrieved by anyone

(even anonymous) if the DIADEM report order identifier is known. This is

used to share the report with others.

3.5 STEP 5: Rendering a DIADEM Report

The DIADEM report, returned by the RapportHent operation, is an xml

document containing structured information and references to external

documents (pdf files and images).

It is possible to get the external document using BilagHent

The DIADEM report is in itself not displayable or printable for human

reading.

The DIADEM report contains the following information:

Status on the report as a whole and on the individual report options.

Identification of the real property and land properties included

Metadata describing the business properties related to the DIADEM

report, report groups (aka categories) and report options

Core real property information (EjendomsInfo)

Page 11: DIADEM Web Service Interface

COMMERCIAL IN CONFIDENCE

COMMERCIAL IN CONFIDENCE

6 of 54 SSE/10712/IFS/001$Revision: 1.65$ $Date: 20 Aug 2013$

All report options as xml

References to external documents

That is enough information to render the general information report

contents. But not enough information to render and document the actual

contents of the report options.

Metadata describing the business and presentation properties for each report field can be gotten using the operations on Metadata web service.

Note the metadata information which is returned as part of the RapportHent operation and the operations on the Metadata web service

contains only limited information in how to actually render the report to an

end user (professional or private citizens).

3.6 STEP 6 Reorder a DIADEM Report

Within a given period from a report was originally ordered it is possible to

reorder the report a predefined number of times. DIADEM will get the

DIADEM report options from the information providers again making the

contents of the reordered report up to date.

The RapportGenbestil operation on the Rapport web service is used for

reordering a DIADEM Report.

Note: Not all report options will be retrieved again in a report when

reordering – some will be copies from the original report.

4 DIADEM Public Web Services

4.1 Readers Guide

Each DIADEM web service is described in a separate section. The following

template is used when describing the operations of the web service.

Name: <Operation name>

Description: Description of the operation purpose.

Input: Description of input parameters.

Output: Description of output parameters.

Error Handling: Description of error handling, typically a reference to the

general error handling section (see section 5.3).

Role Required: Description of the required roles (see section 5.2.3.3).

OWSA Model T

supported

States if the operation supports OWSA Model T (Https).

Prerequisites: Description of pre requisites that must be fulfilled for a

call of the operation to be successful.

Page 12: DIADEM Web Service Interface

COMMERCIAL IN CONFIDENCE

COMMERCIAL IN CONFIDENCE

7 of 54 SSE/10712/IFS/001$Revision: 1.65$ $Date: 20 Aug 2013$

4.2 Web Service – EjendomSoeg

The EjendomSoeg web service encapsulates operations that allows for

searching for real property and for getting basis real property information.

Forventet endpoint:

https://diademservices.dk/diadem/EjendomSoegService/EjendomSoegServiceV2.sv

c

https://diademservices.dk/diadem/EjendomSoegAnonymousService/EjendomSoegA

nonymousServiceV2.svc

4.2.1 Operation – EjendomSoegViaAdresseIdentifikation

Name: EjendomSoegViaAdresseIdentifikation

Description: This operation has not been implemented (yet).

Get real property information based on an address

identifier. Every official address in Denmark is assigned

a unique address identifier. This operation returns the

list of real properties associated with the specified

address identifier.

Input: AdgangsadresseIdentifikator (Access address

identifier). Unique identification of the access address for

which real properties are wanted.

Output: EjendomInfoSamling (Real property information

collection). A collection of one or more real properties

that match the search criteria. See section 6.2.4.2 for

further information on the contents of the real property

information structure.

Error Handling: See section 5.3.

Role Required: ActAsEmployee

OWSA Model T

supported

N/A

Prerequisites: 1. Calling system must be a registered system

2. Property must be in a supported municipality.

4.2.2 Operation – EjendomSoegViaAdresse

Name: EjendomSoegViaAdresse

Description: Get real property information based on a structured

address. This operation returns the list of real properties

associated with the specified address identifier.

Input: KommuneIdentifikator (Kommunekode, municipality

identifier) Unique identification of a municipality.

VejKode (Road identifier) Unique identification of a road

Page 13: DIADEM Web Service Interface

COMMERCIAL IN CONFIDENCE

COMMERCIAL IN CONFIDENCE

8 of 54 SSE/10712/IFS/001$Revision: 1.65$ $Date: 20 Aug 2013$

in the municipality.

HusIdentifikator (Husnummer, house identifier).

House number. May be left empty thus returning all real

properties for a given road.

EtageIdentifikator (Etage nummer, floor identifier).

Floor number. May be left empty thus returning all real

properties for each house.

SidedoerIdentifikator. Side identifier. May be empty

thus returning all real properties for a given floor.

Output: EjendomInfoSamling (Real property information

collection). A collection of one or more real properties

that match the search criteria’s. See section 6.2.4.2 for

further information on the contents of the real property

information structure.

Error Handling: See section 5.3.

Role Required: ActAsEmployee

OWSA Model T

supported

Yes

Prerequisites: 1. Calling system must be a registered system

2. Property must be in a supported municipality.

4.2.3 Operation – EjendomSoegViaKoordinat

Name: EjendomSoegViaKoordinat

Description: This operation has not been implemented (yet).

Get real property information based on geographical

location. This operation returns the real property

associated with the specified geographical position.

Input: Koordinat (Coordinate). Uniquely identifies a geo-

graphically coordinate in Denmark.

Output: EjendomInfoSamling (Real property information

collection). A collection of one or more real properties

that match the search criteria. See section 6.2.4.2 for

further information on the contents of the real property

information structure.

Error Handling: See section 5.3.

Role Required: N/A

OWSA Model T

supported

N/A

Prerequisites: 1. Calling system must be a registered system

2. Property must be in a supported municipality.

Page 14: DIADEM Web Service Interface

COMMERCIAL IN CONFIDENCE

COMMERCIAL IN CONFIDENCE

9 of 54 SSE/10712/IFS/001$Revision: 1.65$ $Date: 20 Aug 2013$

4.2.4 Operation – EjendomSoegViaMatrikelnummer

Name: EjendomSoegViaMatrikelnummer

Description: Get real property information based on land parcel

identification. This operation returns a list containing

zero or one real property associated with the specified

land parcel.

The information needed for querying can be gotten from

the BBR-meddelelse on a given real property.

Input: LandsejerlavKode. Unique identification of the

“Landsejerlav” where the Land Parcel is located.

MatrikelnummerIdentifikator (Land parcel identifier).

Unique identification of a land parcel, within a

“Landsejerlav”.

Output: EjendomInfoSamling (Real property information

collection). A collection of one or more real properties

that match the search criteria. See section 6.2.4.2 for

further information on the contents of the real property

information structure.

Error Handling: See section 5.3.

Role Required: ActAsEmployee

OWSA Model T

supported

Yes

Prerequisites: 1. Calling system must be a registered system

2. Property must be in a supported municipality.

4.2.5 Operation – EjendomSoegViaEjendomsnummer

Name: EjendomSoegViaEjendomsnummer

Description: Get real property information based on a real property

identifier. This operation returns a list containing zero or

one real property.

The information needed for querying can be retrieved

from the BBR-meddelelse on a given real property.

Input: EjendomIdentifikator (Ejendomsnummer, real

property number). Unique identification of the real

property within a given municipality.

KommuneIdentifikator (Kommunenummer,

municipality number). Unique identification of a

municipality.

Output: EjendomInfoSamling (Real property information

Page 15: DIADEM Web Service Interface

COMMERCIAL IN CONFIDENCE

COMMERCIAL IN CONFIDENCE

10 of 54 SSE/10712/IFS/001$Revision: 1.65$ $Date: 20 Aug 2013$

collection). A collection of one or more real properties

that match the search criteria. See section 6.2.4.2 for

further information on the contents of the real property

information structure.

Error Handling: See section 5.3.

Role Required: ActAsEmployee

OWSA Model T

supported

Yes

Pre Requisites: 1. Calling system must be a registered system

2. Property must be in a supported municipality.

4.2.6 Operation – EjendomSoegViaEjerforhold

Name: EjendomSoegViaEjerforhold

Description: Get real property information based on identification of a

person or a company. This operation returns the list of

real properties owned by the specified person or

company.

Input: Ejerangivelse (Owner identification). Unique

identification person or a company. As a CPR number or

a CVR number.

Output: EjendomInfoSamling (Real property information

collection). A collection of one or more real properties

that match the search criteria’s. See section 6.2.4.2 for

further information on the contents of the real property

information structure.

Error Handling: See section 5.3.

Role Required: ActAsOwner

OWSA Model T

supported

No

Prerequisites: 1. Calling system must be a registered system

2. The user must be identified

3. Property must be in a supported municipality.

4.3 Web Service – Rapportskabelon (Version 2)

The Rapportskabelon web service exposes operation’s that enable client

systems to get metadata describing report template, report group and

report options. The information should be sufficient, to allow a user to

determine what report options to order in a given situation.

Page 16: DIADEM Web Service Interface

COMMERCIAL IN CONFIDENCE

COMMERCIAL IN CONFIDENCE

11 of 54 SSE/10712/IFS/001$Revision: 1.65$ $Date: 20 Aug 2013$

https://diademservices.dk/diadem/RapportSkabelonService/RapportSkabelonServic

eV3.svc

https://diademservices.dk/diadem/RapportSkabelonAnonymousService/RapportSka

belonAnonymousServiceV3.svc

4.3.1 Operation – RapportskabelonHent

Name: RapportskabelonHent

Description: Get a report template from DIADEM.

Input: RapportSkabelonIdentifikator (Report template iden-

tifier). Unique identification of a report template. Valid

report template identifiers can be obtained through the RapportskabelonListeHent operation.

Output: RapportSkabelon (Report template). A structure

defining a report template. See section 6.1 for

information on the report template information and its

usage.

Error Handling: See section 5.3.

Role Required: ActAsEmployee

OWSA Model T

supported

Yes

Prerequisites: 1. Calling system must be a registered system

2. If the identified report template is associated with at customer groups, then the user must be a member of that customer group.

4.3.2 Operation – RapportskabelonlisteHent

Name: RapportskabelonlisteHent

Description: Get a list of summary information on Report Templates

available to the User.

Different users may have different report Templates

available, depending on what Customer Group they are a

member of. If the user is not member of a Customer

group or is anonymous, the list if report Templates will

be those available to everyone.

Input: Empty request.

Output: RapportSkabelonMetadataSamling (Report Template

Summary Collection). A collection of summary

information on all Report Templates available to the

User.

The Summary information are Report Template Name,

Report Template Description, Status and Report

Template Identifier that is used with the

Page 17: DIADEM Web Service Interface

COMMERCIAL IN CONFIDENCE

COMMERCIAL IN CONFIDENCE

12 of 54 SSE/10712/IFS/001$Revision: 1.65$ $Date: 20 Aug 2013$

RapportskabelonHent operation to get the actual report

Template.

Error Handling: See section 5.3.

Role Required: ActAsEmployee

OWSA Model T

supported

Yes

Prerequisites: 1. Calling System must be a registered system

4.4 Web Service – Rapport

The Rapport web service encapsulates operations that allows for ordering,

querying and getting DIADEM Property Reports.

Forventet endpoint:

https://diademservices.dk/diadem/RapportService/RapportServiceV5.svc

https://diademservices.dk/diadem/RapportAnonymousService/RapportAnonymousS

erviceV5.svc

4.4.1 Operation - RapportBestil

Name: RapportBestil

Description: Order a DIADEM report that contains the information

specified as input. If the user is the owner of the real

property or has a power of attorney for the real property

the DIADEM report will contain both public and private

information. If the user is not the owner and does not

have a power of attorney then the generated report will

contain only public information.

Input: EjendomIdentifikator and KommuneIdentifikator.

Identification of the real property that must be the

object of the DIADEM report.

SamletFastEjendomIdentifikatorSamling [Required]

(Land property identifier collection). When specified the

report will only contain information related to the

specified list of land properties.

EgenReference (Own reference). Structure that allows

the user / customer to add an own reference to the

report order. The own reference is returned as part of

the report.

RapportSkabelonIdentifikator (Report template iden-

tifier). Identification of the report template which must

be the basis for the report. The report template identifier can be retrieved by the Rapportskabelon web service

operations. When no RapportSkabelonIdentifikator is

supplied, the configured default template will be used.

Page 18: DIADEM Web Service Interface

COMMERCIAL IN CONFIDENCE

COMMERCIAL IN CONFIDENCE

13 of 54 SSE/10712/IFS/001$Revision: 1.65$ $Date: 20 Aug 2013$

RapportvalgmulighedValgSamling [Required]

(Report option collection). Identifies the report options

that must be retrieved from the information providers

and be part of the finished DIADEM report.

AdviseringsAdresse (Notification address). Allows for

specification of an email-address and/or an SMS

number. Please note that the SMS-number must be

qualified by the country calling code. When the report

has been completed a notification will be sent to the

specified addresses.

FuldmagtIndhentetIndikator (Has power of attorney

indicator). Allows users who are taking part in the

“Fuldmagtsordningen” to get private information on a

property.

RapportFortroligIndikator (Confidential Indicator).

Indicates if the report must be confidential or available

to the public. Cannot be set when user is anonymous.

BetalingsInformation (Payment information). This is

only specified if the calling system is the DIADEM portal.

BetalingsInformation contains information about: order

identification, DIBS identification, and the amount paid

in DKK.

Output: RapportBestillingIdentifikator (Report identifier).

Unique identification of the DIADEM report. This identifier is used with the RapportHent and

RapportGenbestil operations.

Error Handling: See section 5.3.

If the client application has a time out, the status of the

call is unknown. The client application may call the Rapport.RapportListeHent to determine if the report

order has taken effect.

Role Required: ActAsEmployee

OWSA Model T

supported

Yes

Prerequisites: 1. Calling system must be a registered system

2. The specified real property must exist

3. If User is anonymous RapportFortroligIndikator must be false.

4. When specified, the land properties must be part of the real property.

5. The specified report template must exist.

6. The specified collection of report options must exist.

7. The specified collection of report options must all be active.

8. When FuldmagtIndhentetIndikator has been set to true

the user must participate in the “Fuldmagtsordningen”.

Page 19: DIADEM Web Service Interface

COMMERCIAL IN CONFIDENCE

COMMERCIAL IN CONFIDENCE

14 of 54 SSE/10712/IFS/001$Revision: 1.65$ $Date: 20 Aug 2013$

9. Property must be in a supported municipality.

4.4.2 Operation - RapportHent

Name: RapportHent

Description: Get a previously ordered DIADEM report. If the

generation of the report has not been able to collect real

property information from all information providers the

report is incomplete.

For how reports and report elements are versioned see 0

Input: RapportBestillingIdentifikator (Report identifier).

Identification of the report that must be retrieved. The

identifier returned by the operations Rapport.RapportBestil and Rapport.RapportGenbe-

stil.

Output: Rapport (Report). The DIADEM report, identified by the

RapportIdentifikator specified as input. Please see

section 6 for in depth information on the format and

contents of the DIADEM report. Note that the DIADEM

report may become very large (megabytes).

Error Handling: See section 5.3.

Role Required: ActAsEmployee

OWSA Model T

supported

Yes

Prerequisites: 1. Calling system must be a registered system

2. RapportIdentifikator must identify an existing DIADEM report

3. If DIADEM report is registered as confidential then

the following must be fulfilled

a. The user must be identified

b. User.Person must have ordered the DIADEM report or the User.Employee must work for the company that ordered the report.

4.4.3 Operation – RapportlisteHent

Name: RapportlisteHent

Description: Get a list of DIADEM reports the user has ordered within

a given period. When user is an employee

(User.Employee) the operation returns all the reports the

company has ordered.

Report orders made by an anonymous user cannot be

listed by this operation.

Deactivated reports are not included in the list.

Input: StartDato (From date). Define the earliest date from

Page 20: DIADEM Web Service Interface

COMMERCIAL IN CONFIDENCE

COMMERCIAL IN CONFIDENCE

15 of 54 SSE/10712/IFS/001$Revision: 1.65$ $Date: 20 Aug 2013$

which reports are returned.

SlutDato (To date). Define the latest date from which

reports are returned.

Output: RapportMetadataSamling (Report summary

information collection) A collection of DIADEM report

summary information, which contains summary informa-

tion about all DIADEM report ordered by the user with in

the specified period. The following information is

included:

Date of ordering the report

Report identifier (to be used with RapportHent)

Own reference, the own reference assigned by the

user when ordering.

Report generation status, see section 6.2.

Real property information, see section 6.2.4.2.

Grace period end date

Number of reorders left

Error Handling: See section 5.3.

Role Required: ActAsEmployee

OWSA Model T

supported

No

Prerequisites: Calling system must be a registered system.

If report could contain private data the user must be

identified.

StartDato must be equal to or before SlutDato.

4.4.4 Operation – RapportlisteHentViaEjendomsnummer

Name: RapportlisteHentViaEjendomsnummer

Description: Get a list of DIADEM reports the user has ordered on the

given property. When user is an employee

(User.Employee) the operation returns all the reports the

company has ordered.

Report orders made by an anonymous user cannot be

listed by this operation.

Input: EjendomIdentifikator (Ejendomsnummer, real

property number). Unique identification of the real

property within a given municipality.

KommuneIdentifikator (Kommunenummer,

municipality number). Unique identification of a

municipality.

Page 21: DIADEM Web Service Interface

COMMERCIAL IN CONFIDENCE

COMMERCIAL IN CONFIDENCE

16 of 54 SSE/10712/IFS/001$Revision: 1.65$ $Date: 20 Aug 2013$

Output: RapportMetadataSamling (Report summary

information collection) A collection of DIADEM report

summary information, which contains summary informa-

tion about all DIADEM report ordered by the user with in

the specified period. The following information is

included:

Date of ordering the report

Report identifier (to be used with RapportHent)

Own reference, the own reference assigned by the

user when ordering.

Report generation status, see section 6.2.

Real property information, see section 6.2.4.2.

Grace period end date

Number of reorders left

Error Handling: See section 5.3.

Role Required: ActAsEmployee

OWSA Model T

supported

No

Prerequisites: 1. Calling system must be a registered system.

2. The user must be identified.

3. StartDato must be equal to or before SlutDato.

4.4.5 Operation – RapportOpdaterFortrolighed

Name: RapportOpdaterFortrolighed

Description: Set the confidentiality on a DIADEM report previously

ordered by the user. The confidentiality controls if the

report can be retrieved by everyone who knows the

report identifier or if only by the user who ordered the

report.

Input: RapportBestillingIdentifikator (Report identifier)

Identifies the DIADEM report which must be changed.

RapportFortroligIndikator (Confidential indicator)

Identifies if the report is confidential or not.

Output: Empty response.

Error Handling: See section 5.3.

Role Required: ActAsEmployee

OWSA Model T

supported

No

Page 22: DIADEM Web Service Interface

COMMERCIAL IN CONFIDENCE

COMMERCIAL IN CONFIDENCE

17 of 54 SSE/10712/IFS/001$Revision: 1.65$ $Date: 20 Aug 2013$

Prerequisites: 1. Calling system must be a registered system.

2. The user must be identified.

3. The user must have ordered the specified report.

4. The report must have been completed. Calling the

operation for an incomplete report will result in an exception.

4.4.6 Operation – RapportGenbestil

Name: RapportGenbestil

Description: Reorder a previously ordered DIADEM report. This can

be done by a user a predefined number of times within a

grace period relative to the original report.

The content of a reordered DIADEM report is limited

compared to the original report. In general report

options which maps to information providers doing

manual work and report options with special payments

are not included. Metadata for the individual report options returned by the RapportskabelonHent operation

defines if the report option is retrieved again when

reordering.

Input: RapportBestillingIdentifikator (Report identifier),

Identifies the DIADEM report this report order is based

on.

FuldmagtIndhentetIndikator (Has power of attorney

indicator). Allows users who are taking part in the

“Fuldmagtsordningen” to get private information on a

property.

Output: RapportBestillingIdentifikator (Report identifier).

Unique identification of the DIADEM report. This identifier is used with the RapportHent and

RapportGenbestil operations.

Note this is different from the report identifier specified

as part of the input.

Error Handling: See section 5.3.

If the client application has a time out, the status of the

call is unknown. The client application may call the Rapport.RapportListeHent to determine if the report

order has taken effect.

Role Required: No role required

OWSA Model T

supported

No

Prerequisites: 1. Calling system must be a registered system

2. The specified input report identifier must identify an

Page 23: DIADEM Web Service Interface

COMMERCIAL IN CONFIDENCE

COMMERCIAL IN CONFIDENCE

18 of 54 SSE/10712/IFS/001$Revision: 1.65$ $Date: 20 Aug 2013$

existing DIADEM report.

3. The user must have ordered the original report

4. The number of times the report has been reordered must not exceed the maximum allowed

5. The grace period must not have been exceeded

4.4.7 Operation – RapportBilagHent

Name: RapportBilagHent

Description: Gets attachment for a report.

Input: RapportBestillingIdentifikator, (Report identifier), Identifies the DIADEM report this report order is based on.

BilagIdentifikator, (Attachment identifier),

Identifies the attachment.

Output: BilagData, (Attachment data) The attachment data itself.

MimeTypeIdentifikator, (The MIME type identifier) The MIME type of the attachment.

Error Handling: See section 5.3.

If the client application has a time out, the status of the

call is unknown. The client application may call the Rapport.RapportListeHent to determine if the report

order has taken effect.

Role Required: ActAsEmployee

OWSA Model T

supported

Yes

Prerequisites: This method has the same prerequisites as Operation -

RapportHent.

4.4.8 Operation – RapportPdfHent

Name: RapportPdfHent

Description: Gets a PDF version of the DIADEM report.

Input: RapportBestillingIdentifikator, (Report identifier), Identifies the DIADEM report this report order is based on.

PdfRapportType (Pdf report type), Defines which type of report to fetch, can be one of the following:

FuldRapport

FuldRapportUdenMetadata

KunResume

KunMetadata

Page 24: DIADEM Web Service Interface

COMMERCIAL IN CONFIDENCE

COMMERCIAL IN CONFIDENCE

19 of 54 SSE/10712/IFS/001$Revision: 1.65$ $Date: 20 Aug 2013$

PdfBilagIndhold (Attachment content), Defines if the attachment of the report is reference only or includes the attachment data aswell. Can be one of the following

SomReference

SomReferenceOgData

Output: PdfRapport, (Pdf report) The pdf report itself.

BilagSamling, (Attachments) A collection of attachments for the report.

Error Handling: See section 5.3.

If the client application has a time out, the status of the

call is unknown. The client application may call the Rapport.RapportListeHent to determine if the report

order has taken effect.

Role Required: ActAsEmployee

OWSA Model T

supported

Yes

Prerequisites: This method has the same prerequisites as Operation -

RapportHent.

4.5 Web Service – Metadata

The metadata web service encapsulates access to metadata information

describing the business properties and presentation properties for report

elements and report fields.

Forventet endpoint:

https://diademservices.dk/diadem/MetadataService/MetadataServiceV2.svc

https://diademservices.dk/diadem/MetadataService/MetadataAnonymousServiceV2

.svc

4.5.1 General – Metadata filters

When getting metadata filters can be applied allowing a client application

to request exactly the needed information. It is possible to filter in two

dimensions based on content type (Indholdsfilter) and detail level (DetaljeringsFilter). The filters can be specified with all the Metadata web

service operations.

Content filtering must be specified as one of:

Forretning (Business), returns only metadata marked as business

metadata

Praesentation (Presentation), returns only metadata marked as

presentation metadata

Alle (all), returns all metadata i.e. both business and presentation

metadata.

Page 25: DIADEM Web Service Interface

COMMERCIAL IN CONFIDENCE

COMMERCIAL IN CONFIDENCE

20 of 54 SSE/10712/IFS/001$Revision: 1.65$ $Date: 20 Aug 2013$

Detail Level Filtering must be specified as one of:

1, returns metadata marked as level 1

2, returns metadata marked as level 2

3, returns metadata marked as level 1 or 2

4, returns metadata marked as level 4

5, returns metadata marked as level 1 or 4

6, returns metadata marked as level 2 or 4

7, returns metadata marked as level 1 or 2 or 4

Note the two first columns of the tables in sections 6.3.3.1 and 6.3.3.2

define contents type and detail level for each individual metadata

information.

4.5.2 Operation - MetadataHentViaRapport

Name: MetadataHentViaRapport

Description: Retrieves all the report element and report field

metadata that is relevant to a given DIADEM report. The

operation returns metadata for all metadata keys which

are registered on a given DIADEM report.

Input: RapportBestillingIdentifikator. (Report identifier) The

report identifier for a previously ordered DIADEM report.

MetadataIndholdfilter (Content filter) defines which

metadata content to return. See section 4.5.1 for further

information.

MetadataDetaljeringsfilter (Detail level filter) defines

which metadata content levels to return. See section

4.5.1 for further information.

Output: MetadataListe (Metadata collection) contains a

collection of metadata information that as a minimum

corresponds to the metadata keys, which are used in the

specified report.

Error Handling: See section 5.3.

Role Required: ActAsEmployee

OWSA Model T

supported

Yes

Prerequisites: 1. Calling system must be a registered system

2. The specified input report identifier must identify an existing DIADEM report

3. The specified DIADEM report must be non-confiden-

tial OR the user must have ordered the report.

Page 26: DIADEM Web Service Interface

COMMERCIAL IN CONFIDENCE

COMMERCIAL IN CONFIDENCE

21 of 54 SSE/10712/IFS/001$Revision: 1.65$ $Date: 20 Aug 2013$

4. The content and detail level filters contain valid data

4.5.3 Operation - MetadataHentViaRapportBestillingsDato

Name: MetadataHentViaRapportBestillingsDato

Description: Retrieves all the report element and report field

metadata that is relevant to a given DIADEM report. The

operation returns the metadata valid at the ordering

time of the report.

Input: RapportBestillingIdentifikator. (Report identifier) The

report identifier for a previously ordered DIADEM report.

MetadataIndholdfilter (Content filter) defines which

metadata content to return. See section 4.5.1 for further

information.

MetadataDetaljeringsfilter (Detail level filter) defines

which metadata content levels to return. See section

4.5.1 for further information.

Output: MetadataListe (Metadata collection) contains a

collection of metadata information that as a minimum

corresponds to the metadata keys, which are used in the

specified report.

Error Handling: See section 5.3.

Role Required: ActAsEmployee

OWSA Model T

supported

Yes

Prerequisites: 5. Calling system must be a registered system

6. The specified input report identifier must identify an existing DIADEM report

7. The specified DIADEM report must be non-confiden-

tial OR the user must have ordered the report.

8. The content and detail level filters contain valid data

4.5.4 Operation - MetadataHentViaRapportelement

Name: MetadataHentViaRapportelement

Description: Retrieves all the report element and report field

metadata associated with one report element.

Input: MetaIdentifikator (Metadata identifier) Metadata key

from a report element in a DIADEM report.

MetadataIndholdfilter, (Metadata content filter) states

which type of metadata that is to be returned. Options

are:”Alle” (All), ”Forretning” (Business), ”Præsentation”

Page 27: DIADEM Web Service Interface

COMMERCIAL IN CONFIDENCE

COMMERCIAL IN CONFIDENCE

22 of 54 SSE/10712/IFS/001$Revision: 1.65$ $Date: 20 Aug 2013$

(Presentation).

Output: MetadataListe (Metadata collection) contains a

collection of metadata information that corresponds to

the metadata keys which are used in the specified report

element.

Role Required: ActAsEmployee

OWSA Model T

supported

Yes

Error Handling: See section 5.3.

Prerequisites: 1. The content filter must contain one of the defined

report options.

2. There is metadata associated to the specified

metadata key.

4.6 Web Service Datamodtag

Forventet endpoint:

https://diademservices.dk/diadem/DataModtagService/DataModtagService.svc

4.6.1 Operation - ForespoergselHent

Name: ForespoergselHent

Description: Gets the given request for a report element.

Input: ForespoergselsIdentifikator (Request identifier).

Identifier of the request to be retrieved.

Output: A reply containing the following data:

ForespoergselsIdentifikator (Request identifier) The

id of the request.

KommuneIdentifkator (Kommunekode, Municipality

identifier) Unique identification of a municipality.

EjendomIdentifikator (Real property identifier) Unique

identification of the property.

LandsejerlavKode Unique identification of the

“Landsejerlav” where the land parcel is located.

MatrikelNummerIdentifikator (Land parcel identifier).

Unique identification of a land parcel, within a

“Landsejerlav”.

RekvireringsDato (Date of requisition) The date the

request was issued.

RapportBestillingIdentifikator. Report identifier for a

previously ordered DIADEM report.

Page 28: DIADEM Web Service Interface

COMMERCIAL IN CONFIDENCE

COMMERCIAL IN CONFIDENCE

23 of 54 SSE/10712/IFS/001$Revision: 1.65$ $Date: 20 Aug 2013$

SvarStatus (Reply status). The status of the requested

report element.

RapportValgmulighedIdentifikator The identifier of

the report option the request relates to.

RapportElementIdentifikator The identifier of the

report element the request relates to.

Svar The current reply.

BilagSamling Collection of attachments.

Role Required: RequestProcessor

OWSA Model T

supported

No

Error Handling: See section 5.3.

Prerequisites: 1. The request must correspond to the municipality in which the user is employed. Thus a user from Aarhus cannot give input about a property in Copenhagen.

4.6.2 Operation - ForespoergselListeHentUbesvarede

Name: ForespoergselListeHentUbesvarede

Description: Gets all the requests that have not yet been processed.

This means the semi-automatic report elements that are

awaiting being processed.

Input: KommuneIdentifkator (Kommunekode, Municipality

identifier) Unique identification of a municipality.

Output: A collection of the requests, for the specified

municipality, that have not yet been processed.

A request contains:

ForespoergselsIdentifikator (Request identifier) The

id of the request.

KommuneIdentifkator (Kommunekode, municipality

identifier) Unique identification of a municipality.

EjendomIdentifikator (Real property identifier)

LandsejerlavKode Unique identification of the

“Landsejerlav” where the land parcel is located.

MatrikelNummerIdentifikator (Land parcel identifier).

Unique identification of a land parcel, within a

“Landsejerlav”.

RekvireringsDato (Date of requisition) The date the

request was issued.

RapportBestillingIdentifkator The identifier of the

report order the request relates to.

Page 29: DIADEM Web Service Interface

COMMERCIAL IN CONFIDENCE

COMMERCIAL IN CONFIDENCE

24 of 54 SSE/10712/IFS/001$Revision: 1.65$ $Date: 20 Aug 2013$

SvarStatus (Reply status). The status of the report

element.

Role Required: RequestProcessor

OWSA Model T

supported

No

Error Handling: See section 5.3.

Prerequisites: 1. The request must correspond to the

municipality in which the user is employed. Thus a user from Aarhus cannot give input about a property in Copenhagen.

4.6.3 Operation - SvarOpdater

Name: SvarOpdater

Description: Updates the given request with the given reply to the

given state.

Input: ForespoergselsIdentifikator (Request identificator) identification of the request that is to be updated.

Status the status for processing the request.

Svar (Response) the preliminary or complete response, controlled by Status.

BilagSamling, (Attachment collection) collection of

attached documents that are connected with the report

element.

Output: Empty response

Role Required: RequestProcessor

OWSA Model T

supported

No

Error Handling: See section 5.3.

Prerequisites: 1. The request must correspond to the municipality in which the user is employed. Thus a user from Aarhus cannot give input about a property in

Copenhagen.

2. The status of the request must be incomplete.

4.7 Web Service RapportAfregningService

Forventet endpoint:

https://diademservices.dk/diadem/RapportAfregningService/RapportAfregningServi

ceV2.svc

https://diademservices.dk/diadem/RapportAfregningAnonymousService/RapportAfr

egningAnonymousServiceV2.svc

Page 30: DIADEM Web Service Interface

COMMERCIAL IN CONFIDENCE

COMMERCIAL IN CONFIDENCE

25 of 54 SSE/10712/IFS/001$Revision: 1.65$ $Date: 20 Aug 2013$

4.7.1 Operation - KontantBetalingerHent

Name: KontantBetalingerHent

Description: Gets the DIBS transactions for a given period of time

defined by the input parameters (date/time).

Input: StartDato (From date). Define the earliest date from

which Reports are returned.

SlutDato (To date). Define the latest date from which

Reports are returned.

Output: Collection of DIBS information that are in the interval

from StartDato to SlutDato.

DIBS information consists for the following:

OrdreIdentifikator (the identifier of the order)

DIBSIdentifikator (The DIBS identifier)

BetaltDkkBeloeb (The amount paid in DKK)

Role Required: Can only be called via OWSA Model T

OWSA Model T

supported

Yes

Error Handling: See section 5.3.

Prerequisites: 1. The calling system must be the Hercules system.

Hercules is authenticated by using OWSA model T.

2. StartDato date/time must be before SlutDato

date/time.

4.7.2 Operation - BeregnPris

Name: BeregnPris

Description: Calculates the accumulated price for a DIADEM report.

Input: PriszoneId, [Required] (Price zone id) The price

zones that are to be in a report order.

Kundenummer,(Customer number) Unique identification of the customer that makes the order.

Output: SamletBeloeb, (Accumulated price) The accumulated price of the report.

BetalingsFormKode, (Payment form) What sort of payment is used. Cash or invoicing.

BetalingsPeriodeKode, (Payment period) States when invoicing will take place.

PrisDetaljer, (Price details) The details that documents the accumulated price contains the

Page 31: DIADEM Web Service Interface

COMMERCIAL IN CONFIDENCE

COMMERCIAL IN CONFIDENCE

26 of 54 SSE/10712/IFS/001$Revision: 1.65$ $Date: 20 Aug 2013$

following information for every product:

ProduktNavn, (Product name) The name of the product.

ProduktTekst, (Product description.) Description of

the product.

AftaleTypeKode, (Type of agreement) States if the product is free or to be paid for.

ProduktBeloeb, (Product price) States the price of the product.

PriszoneIdentikator, (Price zone) The collection of pricezones attached to the Product.

Role Required: No role required.

OWSA Model T

supported

Yes

Error Handling: See section 5.3.

Prerequisites: 1. The caller must be either the DIADEM portal or a DIADEM web service.

2. All Price zone ids must be valid. (i.e. defined in the CustomerProduct system)

3. The customer number must be a registered customer.

4. The customer identified by customer number must

have Kundestatus = Aktiv (Active).

4.7.3 Operation - BetalingsIdHent

Name: BeregnPris

Description: Generates a unique payment identifier.

Input: None

Output: BetalingsIdentifikator, (Payment identifier) a unique payment identifier, as a alphanumeric sting of maximum length 6.

Role Required: Can only be called via OWSA Model T

OWSA Model T

supported

Yes

Error Handling: See section 5.3.

Prerequisites: 1. The caller must be the DIADEM.

4.8 Web Service – FuldmagtService

Forventet endpoint:

https://diademservices.dk/diadem/FuldmagtService/FuldmagtService.svc

Page 32: DIADEM Web Service Interface

COMMERCIAL IN CONFIDENCE

COMMERCIAL IN CONFIDENCE

27 of 54 SSE/10712/IFS/001$Revision: 1.65$ $Date: 20 Aug 2013$

4.8.1 Operation - FuldmagtAfgivetListeHent

Name: FuldmagtAfgivetListeHent

Description: Gets a list of all power of attorney registrations issued

by given user/organization

Input: None

Output: A collection of:

FuldmagtIdentifikator, (Power of attorney identifier) unique identification of a Power of attorney in DIADEM.

Fuldmagttager, (Power of attorney receiver) The CPR or CVR number that receives the power of

attorney.

Fuldmagtgiver (Power of Attorney issuer) The CPR or CVR number that issues the power of attorney.

Registreret Af (Registered by) The CPR or CVR number that registers the power of attorney.

Ejendoms identifikator (Property number) Real property number). Unique identification of the real property with a given municipality.

Kommune identifikator (Municipality number) Municipality identifier) Unique identification of a

municipality.

Tidspunktgivet, (Date/time granted) The

date/time for the registration of the power of attorney. Information available in the Bitemporal.TransactionFraDatoTid property.

Tidspunktophør, (Date/time ceased)The date/time for when the power of attorney ceases

to be valid.

Status (Power of attorney status) For the power of attorney the status is either: ”Aktiv” (Active) or ”Annulleret” (Cancelled).

Role Required: No role required.

OWSA Model T

supported

No

Error Handling: See section 5.3.

Prerequisites: 1. User must be authenticated, which means no anonymous calls are valid.

4.8.2 Operation - FuldmagtOpret

Name: FuldmagtOpret

Description: Creates the power of attorney registration. The user is

either a private person or an employee and is thereby

linked to a CPR or CVR number.

Page 33: DIADEM Web Service Interface

COMMERCIAL IN CONFIDENCE

COMMERCIAL IN CONFIDENCE

28 of 54 SSE/10712/IFS/001$Revision: 1.65$ $Date: 20 Aug 2013$

Input: FuldmagtIdentifikator, (Power of attorney identifier)

UdstedtTil, (Issued to)

UdstedtAf, (Issued by)

RegistreretAf, (Registered by)

KommuneIdentifikator (Municipality identifier) Unique identification of a municipality.

EjendomIdentifikator (Real property number). Unique identification of the real property with a given municipality.

Tidspunktgivet, (Date/time granted) The

date/time for the registration of the power of

attorney. This value is to be left as null, as the DIADEM system sets the timestamp.

FuldmagtStatusKode, (Power of attorney status)

FuldmagtGyldigTilDato,(Power of attorney valid until date)

Output: FuldmagtIdentifikator, (Power of attorney identifier)

UdstedtTil, (Issued to)

UdstedtAf, (Issued by)

RegistreretAf, (Registered by)

KommuneIdentifikator (Kommunekode,

municipality identifier) Unique identification of a

municipality.

EjendomIdentifikator (Ejendomsnummer, real property number). Unique identification of the real property with a given municipality.

FuldmagtStatusKode, (Power of attorney status)

FuldmagtGyldigTilDato,(Power of attorney valid

until date)

Role Required: No role required.

OWSA Model T

supported

No

Error Handling: See section 5.3.

Prerequisites: 1. The user must be authenticated (the operation cannot be used by anonymous users)

2. The user (Issuer of power of attorney) as a private person or as an employee in a firm

3. The user must own the object issuing a power of attorney to.

4. The valid time of the power of attorney to must be after the issuing time.

Page 34: DIADEM Web Service Interface

COMMERCIAL IN CONFIDENCE

COMMERCIAL IN CONFIDENCE

29 of 54 SSE/10712/IFS/001$Revision: 1.65$ $Date: 20 Aug 2013$

4.8.3 Operation - FuldmagtTildeltListeHent

Name: FuldmagtTildeltListeHent

Description: Gets a list of all power of attorney registrations issued to

given user/organization.

Input: 1. Empty request.

Output: A collection of:

FuldmagtId, (Power of attorney identifier) unique identification of a Power of attorney in DIADEM.

Fuldmagtsudsteder, (Power of attorney) The CPR or CVR number that issues the power of attorney.

Kommune identifikator (Municipality number)

Municipality identifier) Unique identification of a municipality

Ejendoms identifikator (Property number) Real property number). Unique identification of the real property with a given municipality.

Status (Power of attorney status) For the power of attorney the status is either:”Aktiv” (Active) or ”Annulleret” (Cancelled).

Tidspunktgivet, (Date/time granted) The date/time for the registration of the power of attorney.

Tidspunktophør, (Date/time ceased)The date/time

for when the power of attorney ceases to be valid.

Role Required: No role required.

OWSA Model T

supported

No

Error Handling: See section 5.3.

Prerequisites: 1. The user must be authenticated (the operation cannot be used by anonymous users)

4.8.4 Operation - FuldmagtAnnuller

Name: FuldmagtAnnuller

Description: Cancels the power of attorney registration.

Input: FuldmagtId, (Power of attorney identifier).

Output: Empty response.

Role Required: No role required.

OWSA Model T

supported

No

Error Handling: See section 5.3.

Prerequisites: 1. The user must be authenticated (the operation cannot be used by anonymous users)

2. The user must be the issuer of the given power of

Page 35: DIADEM Web Service Interface

COMMERCIAL IN CONFIDENCE

COMMERCIAL IN CONFIDENCE

30 of 54 SSE/10712/IFS/001$Revision: 1.65$ $Date: 20 Aug 2013$

attorney.

4.9 Web Service – KundeService

Forventet endpoint:

https://diademservices.dk/diadem/KundeService/KundeServiceV2.svc

4.9.1 Operation - KundeHent

Name: KundeHent

Description: Gets existing customer by customer id, CPR or

CVR number

Input: One of the following identifiers:

KundeIdentifikator (Customer Identifier),

identifies the customer via the unique customer identifier.

CPRNummerIdentifikator (CPR number identifier), identifies the customer via CPR number.

CVRNummerIdentifikator (CVR number identifier), identifies the customer via CVR number.

Output: KundeStamoplysninger (Basic customer data), the basic data about a customer.

AdviseringsAdresse (Notification address), where to send notifications, e-mail and/or address.

KundeIdentifikator (Customer identifier), Uniquely identifies the customer.

KundeStatusKode (Customer status), The customer status, which is either:“Aktiv” (Active) or “Inaktiv” (Inactive).

KundeKanRegistrereFuldmagterIndikator (Customer may register power of attorneys)

Role Required: ActAsEmployee

OWSA Model T

supported

No

Error Handling: See section 5.3.

Prerequisites: 1. The customer must exist in the system.

4.9.2 Operation - FastKundeHent

Name: FastKundeHent

Description: Gets a regular customer.

Page 36: DIADEM Web Service Interface

COMMERCIAL IN CONFIDENCE

COMMERCIAL IN CONFIDENCE

31 of 54 SSE/10712/IFS/001$Revision: 1.65$ $Date: 20 Aug 2013$

Input: Kundeangivelse (Customer identifier), one of the following:

- KundeIdentifikator (Customer Identifier), identifies the customer via the unique customer

identifier.

- CPRNummerIdentifikator (CPR number identifier), identifies the customer via CPR number.

- CVRNummerIdentifikator (CVR number identifier), identifies the customer via CVR number.

Output: KundeStamoplysninger (Basic customer data), the basic data about a customer e.g. name, address

etc.

AdviseringsAdresse (Notification address), where to send notifications, e-mail and/or address.

KundeIdentifikator, (Customer identifier)

FaktureringsAdresse, (Billing Address)

KundeAftaler, (Customer agreements)

KundeGruppeIdentifikator, (Customer Group identifier)

KundeKanRegistrereFuldmagterIndikator (Customer may register power of attorneys)

Role Required: ActAsEmployee

OWSA Model T

supported

No

Error Handling: See section 5.3.

Prerequisites: 1. The regular customer already exists in DIADEM.

4.10 Web Service – Statistik

4.10.1 Operation - StatistikDataHent

Forventet endpoint:

https://diademservices.dk/diadem/StatistikService/StatistikService.svc

Name: StatistikDataHent

Description: Gets statistics data from a given period in time related

to the user and the users report order.

Input: StartDato (From date). Define the earliest date from which statistics are returned.

SlutDato (To date). Define the latest date from

Page 37: DIADEM Web Service Interface

COMMERCIAL IN CONFIDENCE

COMMERCIAL IN CONFIDENCE

32 of 54 SSE/10712/IFS/001$Revision: 1.65$ $Date: 20 Aug 2013$

which statistics are returned.

Output: A collection of StatistikDataHent

RapportbestillingID, (Report order identifier)

Uniquely identifies the report order.

GenbestillingAf, (Is a reorder of) If the field is not null this is a reference to which report it is a reorder of.

EgenReference, (End user reference text)

EjendomsIdentifikation, (Property identifier)

Tidspunkt, (Point in time) The point in time of the

report order call.

Pris, (Price) The price of the report.

FaktureringsID, (Invoicing Id) available when an invoice has been made

FaktureDato, (Date of invoicing) available when an invoice has been made

Role Required: No role required

OWSA Model T

supported

No

Error Handling: See section 5.3.

Prerequisites: 1. StartDato must be equal to or before SlutDato.

2. The User must be identified.

5 DIADEM Web Service Semantics

Business-2-Business integration with DIADEM is available through soap

standards based web service. General information related to integrating

with the DIEDEM web services are described in this chapter.

5.1 Message Format

DIADEM exposes soap version 1.1 web services. The services are WS-I

basic Profile compliant. The Liberty Basic SOAP Binding v1.0 is used for

the OIO IDWS based web services.

5.2 Web Service Security

DIADEM web service uses two different security models – the difference

between the two is that one requires that the user is identified and the

other requires that the user is anonymous.

Whether a web service (operation) supports one or the other or both is

defined as part of the definition of the web services and operation in

chapter 4

Page 38: DIADEM Web Service Interface

COMMERCIAL IN CONFIDENCE

COMMERCIAL IN CONFIDENCE

33 of 54 SSE/10712/IFS/001$Revision: 1.65$ $Date: 20 Aug 2013$

5.2.1 OWSA model T – Anonymous Users

A select subset of DIEDEM web services may be called by anonymous

users. For these versions of the web service the OWSA model T is used.

The implications of using OWSA model T are web service that support:

WS-I’s Basic Profile 1.1 and simple SOAP Binding Profile 1.0.

HTTPS is used for transport security – allowing for server and client

authentication and transport layer encryption.

OCES certificates are used as identification of the client application –

that is the B2B application must use an OCES function certificate for

https based client authentication.

OCES certificates are used as identification of the server application –

that is DIADEM uses a OCES function certificate for https based server

authentication.

OIOXML is used. This requirement has, by design, not been fully

implemented.

Note The OCES function certificates used by the client applications for

identification must be registered at DIADEM to enable access. If Client

certificates, is not registered in DIADEM, access will not be possible.

5.2.2 OIO IDWS – Authenticated Users

DIADEM web services can be called by authenticated users. For these

versions of the web services the OIO IDWS profile is used.

For information on OIO IDWS please refer to digitaliser.dk,

http://digitaliser.dk/resource/526486.

Security Token Service

DIADEMClient

Identity provider(NemId)

1 3

<Tru

sts>

5

2

4

Figure 3 Obtaining identity, issuing a token and calling DIADEM

2. The client obtains the certificate of the user (POCES or MOCES) from

an identity provider.

Page 39: DIADEM Web Service Interface

COMMERCIAL IN CONFIDENCE

COMMERCIAL IN CONFIDENCE

34 of 54 SSE/10712/IFS/001$Revision: 1.65$ $Date: 20 Aug 2013$

3. The client calls the STS. The request must be signed using the client’s

certificate

The client must specify the serial number of the certificate of the

user as an SAML attribute

4. The STS then issues a token

5. The client calls DIADEM using the issued token

6. DIADEM returns a reply.

5.2.3 Issuing a token

The request for issuing a security token must have the following SAML

attributes specified as part of the subject:

Serial number of the caller’s certificate. The certificate must either be a

POCES or a MOCES certificate or the like. If it is not a MOCES

certificate, the serial number of the used certificate must identify the

company and the user.

The roles the caller would like to act as.

5.2.3.1 Serial number

The SAML attribute for the certificate serial number is:

urn:oasis:names:tc:SAML:2.0:assertion/urn:oid:2.5.4.5

5.2.3.2 CPR or CVR number

The SAML attribute for the CPR number identifier is:

urn:oasis:names:tc:SAML:2.0:assertion/dk:gov:saml:attribute:Cp

rNumberIdentifier

The SAML attribute for the CVR number identifier is:

urn:oasis:names:tc:SAML:2.0:assertion/dk:gov:saml:attribute:Cv

rNumberIdentifier

The client must only specify one of the attributes.

5.2.3.3 Roles

DIADEM operates with a small set of roles that defines which web service

operations the individual users may call.

The SAML attribute for a role is:

urn:oasis:names:tc:SAML:2.0:assertion/dk:diadem:attribute:Role

Legal values for DIADEM roles are:

Role Purpose

ActAsEmployee

Employees at a company must be registred to use DIADEM (ordering reports etc.) All private persons have this role implicitly.

Page 40: DIADEM Web Service Interface

COMMERCIAL IN CONFIDENCE

COMMERCIAL IN CONFIDENCE

35 of 54 SSE/10712/IFS/001$Revision: 1.65$ $Date: 20 Aug 2013$

ActAsOwner

Employees at a company must have this role when obtaining information from DIADEM that is related to their company.

All private persons have this role implicitly.

RequestProcessor Given to users in the municipalities for providing information for the DataModtagService

It is possible to specify multiple roles as part of the request. Each role

must be a separate attribute.

Note DIADEM roles are only relevant in connection with the usage of

authenticated users – i.e. when using OIO IDWS.

5.3 Time

All times in DIADEM used as input or returned as output, must be in UTC.

The only exception from this rule is time objects that are provided by

external data providers.

5.4 Error Handling

A DIADEM web service returns an error when any of the defined pre-

requisites for a web service operation has not been fulfilled and when an

error occurs in the DIADEM System. Errors are reported explicitly as soap-

fault or http error codes, and implicitly by the calling system in the form of

a timeout.

5.4.1 Soap Fault

Soap fault is used to report any error detected by the DIADEM system in

relation to a call of a web service operation. The soap fault version 1.1

standards and formats are used.

DIADEM fills out the soap fault elements in accordance with the following

specification:

Soap fault element

Specification

faultcode A code for identifying the fault, must be one of: Client The message was incorrectly formed or

contained incorrect information, the client need to correct the soap request before retrying. Server There was a problem with the server so the message could not proceed, in general the client

should retry sending the soap request. VersionMismatch Found an invalid namespace for the SOAP Envelope element

MustUnderstand An immediate child element of the Header element, with the mustUnderstand attribute set to "1", was not understood

faultstring A human readable explanation of the fault. faultactor Information about who caused the fault to happen Details Holds application specific error information related to

the soap body element that may be used when e.g.

debugging the error.

Page 41: DIADEM Web Service Interface

COMMERCIAL IN CONFIDENCE

COMMERCIAL IN CONFIDENCE

36 of 54 SSE/10712/IFS/001$Revision: 1.65$ $Date: 20 Aug 2013$

5.4.2 Http Error Code

The DIADEM system is hosted on a Microsoft Internet Information Server

(IIS) which under certain circumstances may reject a soap request, by

returning http status codes indicating the error.

Note that any soap stack should handle or report these errors.

5.4.3 Client timeout

There may be situations where the DIADEM system is not capable of

receiving the request or producing a reply, when this occurs the calling

system must perform a time out.

When a calling system has timed out it is unknown if the request was

processed by the DIADEM system or not. The calling system will have to

query the DIADEM system to determine if the request was processed, if

possible.

Note Client timeouts should be set as high as possible, allowing situations

of problems or reduced performance to be handled in an appropriate

manner. Remember that a time-out is an error situation, it does not define

the longest time a user is willing to wait for a response – it defines the

period until we are certain something is wrong and a reply is unlikely.

5.5 Error codes

Error codes for the DIADEM query engine are found in the database in the

FejlTekst table.

All errors thrown are a FaultException containing a description of the error

occurred.

Below is a list of possible error codes for DIADEM:

Error code Error description

1 Ejendom identificator should not be null or empty.

2 Start date is greater than end date.

3 Invalid report order ID.

4 Report with specified ID not found.

5 Report option elements count must be more than zero.

6 Report order does not contains all expected land

properties.

7 Wrong ejendom identificator.

8 Internal communication problem.

9 Customer group does not exist.

10 Invalid report option element ID.

11 No report option or report template group specified for

report template content.

Page 42: DIADEM Web Service Interface

COMMERCIAL IN CONFIDENCE

COMMERCIAL IN CONFIDENCE

37 of 54 SSE/10712/IFS/001$Revision: 1.65$ $Date: 20 Aug 2013$

12 Invalid report template status.

13 Both report option and report template group are specified

for report template content.

14 Customer group identifier of the current caller is different

from one specified in report template.

15 Invalid report option status.

16 Invalid report option element status.

17 Only report owner can get confidential report order.

18 Properties collection is empty.

19 Null property in properties collection.

20 Null cadastre in cadastres collection.

21 Only report owner can update confidential report order.

22 Report option orders collection is empty.

23 Null report option in report order.

24 Report option with specified ID not found.

25 Report option has no elements.

26 The report option contains a null report option element.

27 Invalid report option element type.

28 Report option element with specified ID not found.

29 Report template with specified ID not found.

30 The report template contains duplicate report option

identifiers.

31 The price zone on the report option is not defined.

32 Price zone with specified ID not found.

33 Unauthorized access denied.

34 The identity of the user, using the report template service

is unknown.

34 The claim must either have a CPR or CVR number.

35 A reply transformation did not produce a valid result.

36 The input for a transformation is not valid.

37 Report cannot be reordered.

38 Not the owner of the property.

39 Not the issuer of the power of attorney.

Page 43: DIADEM Web Service Interface

COMMERCIAL IN CONFIDENCE

COMMERCIAL IN CONFIDENCE

38 of 54 SSE/10712/IFS/001$Revision: 1.65$ $Date: 20 Aug 2013$

40 The power of attorney has already been cancelled.

41 The power of attorney validity date is less than the

registration date.

42 The power of attorney registration doesn't exist.

43 The attachment doesn't exist.

44 The from-date is later than the to-date.

46 The metadata cannot be null.

47 Invalid power of attorney issuer.

48 Invalid power of attorney registrant.

49 The metadata mappings configuration file can not be

loaded.

50 Usage of FuldmagtIndhentet not allowed for current user.

51 Product package not found.

52 Either payment information not specified or customer has

no valid customer agreements.

53 Invalid customer payment form.

54 Cannot update a completed report request.

55 Cannot find attachment by attachment id.

56 Duplicate attachments identificators found.

57 User is not Authorized.

58 Grace period is exceeded.

59 Number of re-orders has been exceeded.

60 Report is still being processed.

61 Timeout value is not large enough.

62 Notification sending failed.

63 Notification via SMS failed.

64 Notification via email failed.

65 Report element has already been processed.

66 Municipalities with specified ID not found.

67 The integration file name is not specified.

68 The customer is inactive.

100 Schema validation error.

101 Schema compilation error.

Page 44: DIADEM Web Service Interface

COMMERCIAL IN CONFIDENCE

COMMERCIAL IN CONFIDENCE

39 of 54 SSE/10712/IFS/001$Revision: 1.65$ $Date: 20 Aug 2013$

102 Error occurred during report generation.

103 Error occurred during report serialization.

108 B2B system is not registered.

109 Report template is not useable by caller.

110 Report option is not active.

112 CVR or CPR cannot be updated.

113 It is not possible to order reports on the specified

municipality.

114 Report may contain private data and cannot be accessed

anonymously.

115 The PdfRapportHent method is only able to deliver a pdf

report with summary

116 Not able to update confidentiality of the report

117 Access to the report has been revoked

200 Unknown error.

Note: An administrator is capable of changing the error text from a UI,

but not the error codes.

5.6 Web Service Input Validation

The following validation is performed for all web service operation calls in

addition to the validation of pre-requisites defined for the web service

operation.

Input XML Schema Validation

Output XML Schema Validation

Validation based on OIO IDWS.

5.7 Standards Compliance

DIADEM web services have been developed and test for compliance with

the following standards to reduce the risk of incompatibility issues.

SOAP version 1.1

Soap Fault version 1.1

WS-I Basic Profile 1.1

OIO NDR 3.2

OIO IWDS, for identity based web services, which among others

include:

The Liberty Basic SOAP Binding v1.0

Page 45: DIADEM Web Service Interface

COMMERCIAL IN CONFIDENCE

COMMERCIAL IN CONFIDENCE

40 of 54 SSE/10712/IFS/001$Revision: 1.65$ $Date: 20 Aug 2013$

6 Important DIADEM Schemas

There are number of central structures in DIADEM requiring some

description and comments on usage and relationship to each other.

6.1 Report Template Structure

The report template structure contains general information about the

name and purpose of the template.

Field Name Description

RapportSkabelonIdentifikator Unique identification of the report template.

RapportSkabelonStatusKode Status code for the template. Is one of: Aktiv (active) indicates that the report template is active and may be used.

Inaktiv (inactive) indicates that the report template is inactive and may not be used.

Navn

(Report Template name)

Metadata defining the name associated with

the report template. BeskrivelseTekst (Report Template descruption)

Metadata describing the report template.

And additional metadata See section 6.3.2.1 for all metadata that is part of the report template.

RapportSkabelonIndholdSamling (Report Template content collection)

Collection of the report template top level content.

RapportSkabelonIndhold (Report Template content)

Report template contents, is either a report group or a report option.

PositionIdentifikator (Content position)

Defines the position of the report group or report option within the report template.

RapportSkabelonGruppe

(Report Template Group)

Defines a report group at the top level. See

section 6.1.1 for the definition of a Report Group.

Rapportvalgmulighed (Report Option)

Defines a report option at the top level. See section 6.1.2 for the definition of a report option.

6.1.1 Report Template Group

The report group structure contains the definition of a report group this

includes name, description and a definition of the contained report

options.

Field Name Description

Navn (Report Group Name)

Metadata defining the name associated with the report group.

BeskrivelseTekst

(Report Group description)

Metadata describing the report group.

And additional metadata See section 6.3.2.2 for all metadata that is

part of the report group. RapportSkabelonGrupperIndholdSamling (Report Group content collection)

Collection containing the contents of the report group.

RapportSkabelonGruppeIndhold (Report Group Content)

One instance of report group contents.

PositionIdentifikator (Report Option position)

Defines the position of the report option within the report group.

Rapportvalgmulighed (Report Option)

Defines a report option within a report group. See section 6.1.2 for the definition of a report option.

Page 46: DIADEM Web Service Interface

COMMERCIAL IN CONFIDENCE

COMMERCIAL IN CONFIDENCE

41 of 54 SSE/10712/IFS/001$Revision: 1.65$ $Date: 20 Aug 2013$

6.1.2 Report Option

The report option structure contains the definition or a report option.

Field Name Description

RapportvalgmulighedIdentifikator (Report Option Identifier)

Unique identification of the report option.

RapportvalgmulighedStatusKode (Report Option status code)

Identified the status of the report option. Is set to one of the following: Aktiv, the report option is active and may be ordered. Inaktiv, the report option is marked as

inactive and cannot be ordered. The RapportBestil operation will fail.

RapportvalgmulighedTilgaengelighedKode

(Report Option Confidentiality)

Defines if this report option may contain confidential information. The possible

values are: Alle (everybody) the report option does not contain confidential information. Ejer (owner) the report option may contain

confidential information. The report option will contain confidential information if the User that ordered the report is the owner of the real property and if the User has a valid power of attorney.

Navn (Report Option name)

Metadata, name of the report option.

BeskrivelseTekst (Report Option description)

Metadata, description of the report option.

PriszoneIdentifikator (Price zone identifier)

Identifies the price zone this element is associated with. Used with the BeregnPris

operation to calculate the price for a given

report.

7. HentesVedGenbestillingIndikator

(Get at re-order)

Indicates whether the report option should be retrieved again (i.e. source system is to

be called again) when re-ordering a report.

DatakildeSamling (Collection of information providers)

Contains a collection of information about the information provides that are used when DIADEM retrieved DIADEM report content.

A report option may have one or more information providers associated. Most have one.

Datakilde (Information provider)

Information about an information provider.

DatakildeIdentifikator (Information provider identifier)

Unique identificator of the information provider

Navn (Information provider name)

Information provider name

BeskrivelseTekst (Information provider description)

Information provider description

DatakildeStatusKode (Information Provide Status Code)

Information provider status code. Is set to one of the following:

aktiv the information provider is active and the report element will be generated. midlertidigInaktiv, the information provider is temporarily inactive, when it becomes active, the report element will be generated.

Page 47: DIADEM Web Service Interface

COMMERCIAL IN CONFIDENCE

COMMERCIAL IN CONFIDENCE

42 of 54 SSE/10712/IFS/001$Revision: 1.65$ $Date: 20 Aug 2013$

Field Name Description

inaktiv, the information provider is inactive the report element will not be generated. Note the information provider status may change after a report has been ordered. There is thus no guarantee that information from a provider with status aktiv or

midlertidigInaktiv will be delivered, because the status may be changed to inaktiv before the contents is generated.

6.2 Top Level Report Structure

The top level Report structure has been designed to be static, and it is

expected that it will not change (ever).

The top level structure of a DIADEM report is as follows.

Report Status (see section 6.2.1) contains the status of the report

generation.

Report Template (see section 6.2.2) contains all information defining

the report template used for generating the report.

Report Order (see section 6.2.3) contains information from the report

order e.g. identifying the Real Property.

Report Elements (see section 6.2.4) contains the individual Report

Elements and status.

Report Summary (See section 6.2.5): contains a list of status

information for each report option in the report.

6.2.1 Report Status

The status section of a DIADEM report contains status information on the

report generation.

Field Name Description

RapportstatusKode (Report status code)

A code that defines the current status of the report port generation. The code is one of the following: Bestilt (Ordered) The DIADEM report has been

ordered, but no data has been retrieved from the information providers.

UnderUdarbejdelse (In process) Some, but not all report elements have been retrieved from the information providers.

Faerdig (Done) The DIADEM report has been completed; all report elements have been retrieved from the information providers. FaerdigMedMangler (Done but incomplete) The Diadem report has been “completed”; however not

all report elements have been retrieved from the information providers. Some information providers have been marked as unavailable – information

Page 48: DIADEM Web Service Interface

COMMERCIAL IN CONFIDENCE

COMMERCIAL IN CONFIDENCE

43 of 54 SSE/10712/IFS/001$Revision: 1.65$ $Date: 20 Aug 2013$

Field Name Description

from these will not be delivered. Deaktiveret (Deactivated) The DIADEM report has been deactivated and is unavailable.

6.2.2 Report Template

The report template section contains the metadata as of the when the

report was ordered. This includes all metadata relating to report template,

report group and report option, which should be used for rendering the

report.

For a specification of the report template contents see section 6.1.

6.2.3 Report Order

The report order section of a report contains the information describing

the report order as specified by the user when ordering using the Rapport.RapportBestil web service operation.

Field Name Description

RapportbestillingIdentifikator

(Report Identifier)

Identifies the report order.

RapportbestillingDatoTid (Time and Data of order)

Contains the date and time when the DIADEM report was ordered.

EjendomIdentifikator

(Real Property Identifier)

Ejendomsnummer. Identifies the real

property the DIADEM report covers. KommuneIdentifikator (Municipality code)

Kommunenummer. Identifies the municipality where the real property is

located. SamletFastEjendomIdentifikatorSamling (Collection of Land Parcel Identifiers)

Contains a list of land property identifiers, for the land properties to be part of the DIADEM report. If empty all land properties associated with the real property are included.

RapportSkabelonIdentifikator

(Report Template Identifier)

Contains a report template identifier,

identifying the template used when ordering the DIADEM report. The template is included in the report template section of the report, see section 6.2.2. Please note that this is only the case is the report was ordered

with a template. Template use is optional.

RapportvalgmulighedValgSamling (Collection of Report Option Identifiers)

Contains a list of the report options Identifiers that the generated DIADEM report must contain. These should be a sub set of the report options defined report template.

RapportvalgmulighedValg (Report option choice)

A single report option.

RapportvalgmulighedIdentifikator (Report option identifier)

Identifies the report option.

AdviseringsAdresse (Notify addresses)

Contains a specification of the phone number that receives a notification SMS, and the email address that

Page 49: DIADEM Web Service Interface

COMMERCIAL IN CONFIDENCE

COMMERCIAL IN CONFIDENCE

44 of 54 SSE/10712/IFS/001$Revision: 1.65$ $Date: 20 Aug 2013$

Field Name Description

receives a notification message when the report has been completed.

FuldmagtIndhentetIdentikator (Use power of attorney indicator)

Identifies if a power of attorney has been given and used.

RapportFortroligIndikator (Report Confidential Indicator)

Indicates if the generated DIADEM report may contain confidential infor-mation.

6.2.4 Report Element

RapportElementSamling contains the generated report element, and it

contains placeholders for all report elements that has been ordered.

Field Name Description

RapportvalgmulighedIdentifikator

(Report Option Identifier)

Identifies the report option this report

element has been gathered for. RapportElementIdentifikator (Report Option Status)

Identifies the report element.

RapportElementStatusKode (Report element status code)

IkkeHentet The information has not been gathered yet. Hentet The information has been gathered.

KildeDeaktiveret The data source is no longer available. AfventerSemiAutomatiskInput The data source requires manual input from a municipality. UdeladesAfRapport The information is

omitted from report. IkkeTilgaengelig The information was not available when the DIADEM report was set to done but not complete (FaerdigMedMangler).

IndhentetDato (Date of gathering)

The date the information was gathered from the data provider.

RapportElementBetegnelseKode (Report Element Definition Code)

Describes if the data was gathered for the entire property or a single land parcel. matrikelBetegnelse If the information was gathered for a single land parcel. ejendomsBetegnelse If the information was gatherd for the entire

property.

RapportIndhold (Report content)

The gathered information.

6.2.4.1 Report content

The individual sections of a DIADEM report are not defined in this

document. Instead they are documented as XSL schema definitions (XSD) files and metadata, available from the Metadata web service.

The DIADEM report element and field schemas are to be made available

by MBBL.

Page 50: DIADEM Web Service Interface

COMMERCIAL IN CONFIDENCE

COMMERCIAL IN CONFIDENCE

45 of 54 SSE/10712/IFS/001$Revision: 1.65$ $Date: 20 Aug 2013$

6.2.4.2 Real Property Information Report Element

The Real Property Information Report Element contains general

information on a given property. It identifies the relations between a Real

Property and Land Properties, Land Parcels, buildings, building facilities

etc.

This is not an in-depth description of the Real Property Information Report

Option. It is a description of select subset of report fields that act as

identifiers which are used in other parts of a DIADEM report (typically in

the other Report Options).

For information on all Report Fields in the Real Property Information

Report Option please look up the metadata associated with the relevant

Report Elements (and Fields).

Report Fields of special interest are:

Field Name Description

EjendomIdentifikator Ejendomsnummer, Real Property Identifier. Uniquely identifies a Real Property with in a municipality. Is use to identify a Real Property when ordering a DIADEM Report.

KommuneIdentifikator Kommunekode, Municipality Code. Uniquely identifies a municipality.

Is use to identify a Real Property when ordering a DIADEM Report.

SamletFastEjendomIdentifikator Land property Identifier. Uniquely identifies a Land Property in Denmark. Is use to identify a Land Property when ordering a DIADEM Report.

EjendomReference e-REF, Property Reference. A novel property

reference that ties together historic property related

references. Has not been fully implemented in the source systems.

6.2.5 Report summary

Each report contains a summary for each ordered report option.

Field Name Description

RapportvalgmulighedIdentifikator (Report option identifier)

Identifies the report option to summary is about.

RapportResumeTekst

(Report summary text)

Describes a single status about the summary

of the report option. RapportResumeIndhold (Report summary content)

Describes multiple statutes about the summary of the report option

6.3 Using Metadata

Metadata are returned by DIADEM in two different ways depending on

what report content they describe.

Metadata describing the report template, report groups (also known as

categories) and report options are returned as part of the RapportskabelonHent and as part of RapportHent operations (the latter

only if the report was ordered using a template). They define the overall

purpose and structure of a DIADEM report. See section 6.3.2 for an in-

depth description of the metadata supplied on these levels.

Page 51: DIADEM Web Service Interface

COMMERCIAL IN CONFIDENCE

COMMERCIAL IN CONFIDENCE

46 of 54 SSE/10712/IFS/001$Revision: 1.65$ $Date: 20 Aug 2013$

Metadata describing report elements and report fields can be gotten using the operations exposed by the Metadata web service. The metadata

defines low level information down to the individual report fields in a

DIADEM report. See section 6.3.3 for an in-depth description of the

metadata supplied on these levels.

6.3.1 Rendering a DIADEM Report

The generic rendering of a diadem report described in terms of metadata

and report content, is as described below.

Get the desired report using:

Rapport.RapportHent(ReportID) -> Report object

Get the Element and Field metadata associated with the report:

Metadata.MetadataHentViaRapport(ReportID) -> Metadata object

The rendering steps are as follows.

Content Description

Report name and description Based on report template metadata from the report object.

Report status, i.e. is the report complete

Based on status information from the report object.

Identify real property and land properties cover in report.

Based on ordering information from the report object.

In depth real property Information is rendered.

Based on the EjendomsInfo section in the report object. The rendering should be done as described below for a report option.

Report groups and report option are rendered according to their position

Based on metadata from the report object. Rendering the group and section content is

described in the two following tables.

Rendering of a report group

Content Description

Render group name, description and other relevant metadata defined for the report group

Based on the report group metadata from the report object.

Report options that are part of the group are rendered according to their position.

Based on the report group metadata from the report object. Rendering the report option content is described in the following table.

Rendering of a report option

Content Description

Render section question,

description and other relevant metadata defined for the report option

Based on the report option metadata from the

report object.

For each report element render the following render report element name and

summary and other relevant

metadata defined for the report element

Based on the report Element metadata from the metadata object. The relevant metadata is identified using the metadata:Key provided as

an attribute on each report element in the report

Page 52: DIADEM Web Service Interface

COMMERCIAL IN CONFIDENCE

COMMERCIAL IN CONFIDENCE

47 of 54 SSE/10712/IFS/001$Revision: 1.65$ $Date: 20 Aug 2013$

Content Description

object. For each report field in the report element render the following render report fields name and

description and other relevant metadata according to the order defined as part of the report field metadata

Based on the report field metadata from the metadata object. The relevant metadata is identified using the metadata:Key provided as

an attribute on each report field in the report object.

The report rendering dependencies are illustrated on the figure below.

Rendered ReportReport (RapportHent)

Metadata (MetadataHentViaRapport)

Report Status

Report Order

Report Template

EjendomsInfo

Report Sections

Report Element

Report Field

Report name and description

Report status

Section question and description

Element name and description etc

Identify Real Property etc.

In depth Real Property Information

Group name and description etc.

Field value, name and description etc

Figure 4 Rendering dependencies of a DIADEM report based on the report

and metadata.

6.3.2 Metadata on Report, Groups and Categories

The following section define the metadata supplied describing the report

template, report group and report option.

6.3.2.1 Report

Name Description

B 1 NavnTekst

(Name)

A name identifying a report (template).

Page 53: DIADEM Web Service Interface

COMMERCIAL IN CONFIDENCE

COMMERCIAL IN CONFIDENCE

48 of 54 SSE/10712/IFS/001$Revision: 1.65$ $Date: 20 Aug 2013$

Name Description

B 1 BeskrivelseTekst

(Description)

A description of the template contents

and where it is applicable.

Note column 1 identifies if the metadata are Business (B) or Presentation

(P), column 2 defines the detail level.

6.3.2.2 Group / Category

Name Description

B 1 NavnTekst (Name)

A name identifying a report group.

B 1 BeskrivelseTekst (Description)

A description of the group contents.

P 1 PositionIdentifikator

(Position)

Defines the group’s desired position

when rendering report. Used for ordering the groups and sections in a report. It is a positive integer starting at 1.

P 1 TilkoebIndikator

(Option)

Defines the group’s contents. It is

considered an option that a user actively can choose to include when ordering and buying a Report.

Note column 1 identifies if the metadata are Business (B) or Presentation

(P), column 2 defines the detail level.

6.3.3 Metadata on Elements and fields

In the DIADEM report, xml elements representing report elements and report fields are decorated with a metadata:Key attribute that defines a

metadata key that can be used with the metadata returned by the operations exposed by the Metadata web service.

6.3.3.1 Element

Name Description

Resume (Summary)

B 2 BeskrivelseTekst (Description)

A summary of the element contents and where it is applicable.

B 2 ForfatterNavn (Author)

Identifies the user that who made the most recent changes to the

BeskrivelseTekst (Description) element. B 2 AendringsDatoKildeDato

(Changed at Source) Identifies when the most recent changes to the BeskrivelseTekst (Description) were made at the information source.

B 2 AendringDatoDiademDato (Changed in DIADEM)

Identifies when the most recent changes to the BeskrivelseTekst (Description) were made in DIADEM.

Formaal (Purpose)

B 4 BeskrivelseTekst (Description)

A definition of the purpose of the element.

B 4 ForfatterNavn (Author)

Identifies the user that who made the most recent changes to the BeskrivelseTekst (Description) element.

B 4 AendringsDatoKildeDato (Changed at Source)

Identifies when the most recent changes to the BeskrivelseTekst (Description) were made at the information source.

Page 54: DIADEM Web Service Interface

COMMERCIAL IN CONFIDENCE

COMMERCIAL IN CONFIDENCE

49 of 54 SSE/10712/IFS/001$Revision: 1.65$ $Date: 20 Aug 2013$

Name Description

B 4 AendringDataoDiademDato (Ahanged at Source)

Identifies when the most recent changes to the BeskrivelseTekst (Description) were made in DIADEM.

Historik (History)

B 2 BeskrivelseTekst (Description)

A description of changes to the element.

B 2 ForfatterNavn (Author)

Identifies the user that who made the most recent changes to the BeskrivelseTekst (Description) element.

B 2 AendringsDatoKildeDato (Changed at Source)

Identifies when the most recent changes to the BeskrivelseTekst (Description) were made at the information source.

B 2 AendringDataoDiademDato

(Changed at Diadem)

Identifies when the most recent changes

to the BeskrivelseTekst (Description) were made in DIADEM.

LovgrundlagFagligt (Legal framework)

B 4 BeskrivelseTekst (Description)

An identification / description of legal framework which is the foundation of

this element. B 4 ForfatterNavn

(Author) Identifies the user that who made the most recent changes to the BeskrivelseTekst (Description) element.

B 4 AendringsDatoKildeDato (Changed at Source)

Identifies when the most recent changes to the BeskrivelseTekst (Description) were made at the information source.

B 4 AendringDataoDiademDato (Changed at Diadem)

Identifies when the most recent changes to the BeskrivelseTekst (Description) were made in DIADEM.

ReguleringAfRegistreringOgAjourfoering (Legal Framework Registration and maintenance)

B 2 BeskrivelseTekst (Description)

An identification / description of legal framework regarding information registration and information main-tenance which is the foundation of this element.

B 2 ForfatterNavn (Author)

Identifies the user that who made the most recent changes to the

BeskrivelseTekst (Description) element. B 2 AendringsDatoKildeDato

(Changed at Source) Identifies when the most recent changes to the BeskrivelseTekst (Description) were made at the information source.

B 2 AendringDataoDiademDato (Changed at Diadem)

Identifies when the most recent changes to the BeskrivelseTekst (Description)

were made in DIADEM.

B 1 DatakildeNavn (Information Provider)

Identification of the information provider, i.e. where the information in this elements has been retrieved.

B 1 RessortMyndighedTekst (Responsible Authority)

Identification of the responsible authority.

B 1 AdministrativMyndighedTekst

(Administrative Authority)

Identification of the administrative

authority. KontaktoplysningerForAdministrati

vMyndighed (Contact information)

B 1 BeskrivelseTekst (Description)

Description related to the contact information

B 1 AdresseTekst Contact address information.

Page 55: DIADEM Web Service Interface

COMMERCIAL IN CONFIDENCE

COMMERCIAL IN CONFIDENCE

50 of 54 SSE/10712/IFS/001$Revision: 1.65$ $Date: 20 Aug 2013$

Name Description

(Address) B 1 TelefonIdentifikator

(Phone number) Contact phone number.

B 1 EmailAdresseTekst (E mail address)

Contact e-mail address.

B 1 WebAdresseTekst (Web address)

Contact web page

B 1 YderligereInformationIdentifikator (Link to further information)

Link to further information.

Note column 1 identifies if the metadata are Business (B) or Presentation

(P), column 2 defines the detail level.

6.3.3.2 Field

Name Description

B 1 FeltNavnTekst (Name)

A name identifying a report (template).

B 1 BeskrivelseTekst (Description)

A description of the template contents and where it is applicable.

P 4 TekniskNavn The technical name

P 1 FormatTekst Represents the report field format B 1 ForfatterNavn

(Author) Identifies the user that who made the most recent changes to the BeskrivelseTekst (Description) element.

B 1 AendringsDatoKildeDato (Changed at Source)

Identifies when the most recent changes to the BeskrivelseTekst

(description) were made at the information source.

B 1 AendringsDatoDiademDato

(Changed at Diadem)

Identifies when the most recent

changes to the BeskrivelseTekst (description) were made in DIADEM.

P 1 FeltPositionIdentifikator (Position)

Defines the field’s desired position when rendering a report. Used for ordering

the fields within a report element. This is a positive integer starting at 1.

P 1 VisibilitetKode (Show)

Defines if the report field should be shown.

P 1 TypeTekst (Type)

Code identifying the data type of the data in the report field.

P 2 PraesentationStyreParameterATekst Text defining presentation parameter A.

P 2 PraesentationStyreParameterBTekst Text defining presentation parameter B. P 2 PraesentationStyreParameterCTekst Text defining presentation parameter C. P 2 PraesentationStyreParameterDTekst Text defining presentation parameter D. P 2 PraesentationStyreParameterETekst Text defining presentation parameter E. P 2 PraesentationStyreParameterFTekst Text defining presentation parameter F.

P 2 PraesentationStyreParameterGTekst Text defining presentation parameter G.

P 2 PraesentationStyreParameterHTekst Text defining presentation parameter H. P 2 PraesentationStyreParameterITekst Text defining presentation parameter I. P 2 PraesentationStyreParameterJTekst Text defining presentation parameter J.

Note column 1 identifies if the metadata are Business (B) or Presentation

(P), column 2 defines the detail level.

Page 56: DIADEM Web Service Interface

COMMERCIAL IN CONFIDENCE

COMMERCIAL IN CONFIDENCE

51 of 54 SSE/10712/IFS/001$Revision: 1.65$ $Date: 20 Aug 2013$

7 Versioning of Reports and Report Elements

The purpose of this section is to describe how reports and report elements

within the report are versioned in DIADEM.

7.1 Versioning of Reports

When calling the Report Service the newest possible version of the Report

is returned based on which version was available when the Report Service

was released. I.e. reports are both migrated backwards and forwards.

7.2 Versioning of Report elements

Report elements are a bit different since they are only migrated

backwards to older versions depending of which version of the Report

Service the Report is fetched with.

If an older Report is fetched with a newer version of the Report Service,

then no migration will occur.

If a newer Report is fetched with an older version of the Report Service,

then report elements with versions that were not known at the time of the

deployment of the Report Service will be migrated back.

This means the integrators must be able to support multiple versions of

report elements.

7.3 Examples of versioning

To give an example of how report versioning works we can use the report

element “Forfalden gæld”.

When Rapport Service V3 was released the report element was versioned

into Forfalden Gæld V2.

If a report is ordered and the report contains the new version of the report

element, the following will happen when the report is fetched.

If the report is fetched using Rapport Service V2 (The older version of the

service), the report element returned will always be Forfalden Gæld V1.

If the report is fetched using Rapport Service V3 then it depends on which

version of the report element is stored in the report in the database.

If the report element is stored in version 2 then the version in the report

is Forfalden gæld V2.

If the report element is stored in version 1 then the version in the report

is Forfalden gæld V1.

Page 57: DIADEM Web Service Interface

COMMERCIAL IN CONFIDENCE

www.systematic.com

COMMERCIAL IN CONFIDENCE

Denmark

Systematic A/S

Søren Frichs Vej 39

8000 Aarhus C, DK

Tel.: +45 8943 2000

[email protected]

Landgreven 3, 2.sal

1301 Copenhagen K, DK

United Kingdom

Systematic Software Engineering Ltd

The Coliseum, Riverside Way

Camberley, Surrey, GU15 3YL, UK

Tel.: +44 1 276 675 533

[email protected]

United States of America

Systematic Software Engineering Inc

5875 Trinity Parkway, Suite 130

Centreville, Virginia 20120-1971, USA

Tel.: +1 703 385 7522

[email protected]

Finland

Systematic Oy Finland

Finlaysoninkuja 19

33210 Tampere, FI

Tel.: +358 207 463 870

[email protected]

Australia

Systematic Australia

Tower A, Level 5, 7 London Circuit

Canberra ACT 2601, AU

Tel.: +61 (0)2 6169 4088

[email protected]

Sweden

Systematic Sweden AB

Ostermalmstorg 1, 4th Floor

Stockholm 114 42, SE

Tel.: +46 770 770109

[email protected]

Germany

Systematic Gmbh

Im Zollhafen 24

50678 Köln, DE

Tel.: +49 221 650 783 71

[email protected]