Skip to content

Commit d2f80f7

Browse files
committed
Add new datatype OpeningReceipt and OpeningReceiptAccepted
1 parent a9bd1ef commit d2f80f7

File tree

9 files changed

+136
-0
lines changed

9 files changed

+136
-0
lines changed

datatypes-examples.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -404,6 +404,12 @@
404404

405405
<share-documents-request-sharing-stopped xmlns="http://api.digipost.no/schema/datatypes"/>
406406

407+
<opening-receipt xmlns="http://api.digipost.no/schema/datatypes">
408+
<group>aarsoppgave-bedriftAS-2025</group>
409+
</opening-receipt>
410+
411+
<opening-receipt-accepted xmlns="http://api.digipost.no/schema/datatypes"/>
412+
407413
<signedDocument xmlns="http://api.digipost.no/schema/datatypes">
408414
<document-issuer>Bedrift AS</document-issuer>
409415
<document-subject>Ansettelseskontrakt</document-subject>

datatypes.xsd

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
<xs:element name="share-documents-request-documents-shared" type="tns:shareDocumentsRequestDocumentsShared"/>
1919
<xs:element name="share-documents-request-sharing-stopped" type="tns:shareDocumentsRequestSharingStopped"/>
2020
<xs:element name="signedDocument" type="tns:signedDocument"/>
21+
<xs:element name="opening-receipt" type="openingReceipt"/>
22+
<xs:element name="opening-receipt-accepted" type="openingReceiptAccepted"/>
2123
<xs:complexType final="extension restriction" name="address">
2224
<xs:sequence>
2325
<xs:element minOccurs="0" name="street-address" type="xs:string"/>
@@ -442,6 +444,14 @@
442444
<xs:complexType final="extension restriction" name="shareDocumentsRequestSharingStopped">
443445
<xs:sequence/>
444446
</xs:complexType>
447+
<xs:complexType final="extension restriction" name="openingReceipt">
448+
<xs:sequence>
449+
<xs:element name="group" type="xs:string"/>
450+
</xs:sequence>
451+
</xs:complexType>
452+
<xs:complexType final="extension restriction" name="openingReceiptAccepted">
453+
<xs:sequence/>
454+
</xs:complexType>
445455
<xs:simpleType name="language">
446456
<xs:restriction base="xs:string">
447457
<xs:enumeration value="NB"/>

readme.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
|[Inkasso](#inkasso)|A debt collection payment|
1010
|[Invoice](#invoice)|An invoice|
1111
|[InvoicePayment](#invoicepayment)|Payment information for an invoice|
12+
|[OpeningReceipt](#openingreceipt)|To open the document the user must accept to send an opening receipt|
13+
|[OpeningReceiptAccepted](#openingreceiptaccepted)|The document has been opened, and the opening receipt has been accepted and sent.|
1214
|[Payslip](#payslip)|For treating documents as Payslips.|
1315
|[PickupNotice](#pickupnotice)|Details about a pickup notice|
1416
|[PickupNoticeStatus](#pickupnoticestatus)|Updates to status for PickupNotice|
@@ -1143,6 +1145,44 @@ Stop sharing of documents for ShareDocumentsRequest
11431145
```xml
11441146
<share-documents-request-sharing-stopped xmlns="http://api.digipost.no/schema/datatypes"/>
11451147
```
1148+
```
1149+
1150+
## OpeningReceipt
1151+
1152+
To open the document the user must accept to send an opening receipt
1153+
1154+
### Complemented by:
1155+
[OpeningReceiptAccepted](#openingreceiptaccepted)
1156+
1157+
### Fields
1158+
1159+
|Name|Type|Required|Description|
1160+
|----|----|--------|-----------|
1161+
|group|String|yes|This is the group identifier for the opening receipt|
1162+
1163+
### XML
1164+
1165+
```xml
1166+
<opening-receipt xmlns="http://api.digipost.no/schema/datatypes">
1167+
<group>aarsoppgave-bedriftAS-2025</group>
1168+
</opening-receipt>
1169+
```
1170+
1171+
## OpeningReceiptAccepted
1172+
1173+
The document has been opened, and the opening receipt has been accepted and sent.
1174+
1175+
### Fields
1176+
1177+
|Name|Type|Required|Description|
1178+
|----|----|--------|-----------|
1179+
1180+
1181+
### XML
1182+
1183+
```xml
1184+
<opening-receipt-accepted xmlns="http://api.digipost.no/schema/datatypes"/>
1185+
```
11461186

11471187
## SignedDocument
11481188

src/main/java/no/digipost/api/datatypes/DataType.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414
import no.digipost.api.datatypes.types.SignedDocument;
1515
import no.digipost.api.datatypes.types.invoice.Invoice;
1616
import no.digipost.api.datatypes.types.invoice.InvoicePayment;
17+
import no.digipost.api.datatypes.types.openingreceipt.OpeningReceipt;
18+
import no.digipost.api.datatypes.types.openingreceipt.OpeningReceiptAccepted;
1719
import no.digipost.api.datatypes.types.pickup.PickupNotice;
1820
import no.digipost.api.datatypes.types.pickup.PickupNoticeStatus;
1921
import no.digipost.api.datatypes.types.proof.Proof;
@@ -41,6 +43,8 @@
4143
, @JsonSubTypes.Type(ShareDocumentsRequest.class)
4244
, @JsonSubTypes.Type(ShareDocumentsRequestSharingStopped.class)
4345
, @JsonSubTypes.Type(ShareDocumentsRequestDocumentsShared.class)
46+
, @JsonSubTypes.Type(OpeningReceipt.class)
47+
, @JsonSubTypes.Type(OpeningReceiptAccepted.class)
4448
})
4549
public interface DataType {
4650

src/main/java/no/digipost/api/datatypes/DataTypeIdentifier.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
import no.digipost.api.datatypes.types.SignedDocument;
1111
import no.digipost.api.datatypes.types.invoice.Invoice;
1212
import no.digipost.api.datatypes.types.invoice.InvoicePayment;
13+
import no.digipost.api.datatypes.types.openingreceipt.OpeningReceipt;
14+
import no.digipost.api.datatypes.types.openingreceipt.OpeningReceiptAccepted;
1315
import no.digipost.api.datatypes.types.pickup.PickupNotice;
1416
import no.digipost.api.datatypes.types.pickup.PickupNoticeStatus;
1517
import no.digipost.api.datatypes.types.proof.Proof;
@@ -56,6 +58,8 @@ public enum DataTypeIdentifier {
5658
, SHARE_DOCUMENT_REQUEST(ShareDocumentsRequest.class, "SHAR", ShareDocumentsRequest.EXAMPLE)
5759
, SHARE_DOCUMENT_REQUEST_SHARING_STOPPED(ShareDocumentsRequestSharingStopped.class, "SHSS", ShareDocumentsRequestSharingStopped.EXAMPLE)
5860
, SHARE_DOCUMENT_REQUEST_DOCUMENTS_SHARED(ShareDocumentsRequestDocumentsShared.class, "SHDS", ShareDocumentsRequestDocumentsShared.EXAMPLE)
61+
, OPENING_RECEIPT(OpeningReceipt.class, "OPRC", OpeningReceipt.EXAMPLE)
62+
, OPENING_RECEIPT_ACCEPTED(OpeningReceiptAccepted.class, "OPAC", OpeningReceiptAccepted.EXAMPLE)
5963
;
6064

6165
private final Class<? extends DataType> dataType;
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
package no.digipost.api.datatypes.types.openingreceipt;
2+
3+
4+
import jakarta.validation.constraints.NotNull;
5+
import jakarta.validation.constraints.Size;
6+
import jakarta.xml.bind.annotation.XmlElement;
7+
import jakarta.xml.bind.annotation.XmlRootElement;
8+
import lombok.AccessLevel;
9+
import lombok.AllArgsConstructor;
10+
import lombok.NoArgsConstructor;
11+
import lombok.Value;
12+
import lombok.With;
13+
import no.digipost.api.datatypes.ComplementedBy;
14+
import no.digipost.api.datatypes.DataType;
15+
import no.digipost.api.datatypes.documentation.Description;
16+
17+
18+
@XmlRootElement(name = "opening-receipt")
19+
@Value
20+
@AllArgsConstructor
21+
@NoArgsConstructor(force = true, access = AccessLevel.PRIVATE)
22+
@With
23+
@Description("To open the document the user must accept to send an opening receipt")
24+
public class OpeningReceipt implements DataType {
25+
26+
@XmlElement(name="group", required = true)
27+
@NotNull
28+
@Description("This is the group identifier for the opening receipt")
29+
@Size(max = 100)
30+
String group;
31+
32+
public static final OpeningReceipt EXAMPLE = new OpeningReceipt(
33+
"aarsoppgave-bedriftAS-2025"
34+
);
35+
36+
}
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package no.digipost.api.datatypes.types.openingreceipt;
2+
3+
import jakarta.xml.bind.annotation.XmlRootElement;
4+
import lombok.AccessLevel;
5+
import lombok.NoArgsConstructor;
6+
import lombok.Value;
7+
import lombok.With;
8+
import no.digipost.api.datatypes.DataType;
9+
import no.digipost.api.datatypes.documentation.Description;
10+
11+
@XmlRootElement(name = "opening-receipt-accepted")
12+
@Value
13+
@NoArgsConstructor(force = true, access = AccessLevel.PRIVATE)
14+
@With
15+
@Description("The document has been opened, and the opening receipt has been accepted and sent.")
16+
public class OpeningReceiptAccepted implements DataType {
17+
18+
public static final OpeningReceiptAccepted EXAMPLE = new OpeningReceiptAccepted();
19+
20+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
@XmlSchema(namespace = DIGIPOST_DATATYPES_NAMESPACE, elementFormDefault = jakarta.xml.bind.annotation.XmlNsForm.QUALIFIED)
2+
@XmlAccessorType(XmlAccessType.FIELD)
3+
@XmlJavaTypeAdapter(ZonedDateTimeXmlAdapter.class)
4+
@DataTypePackage
5+
package no.digipost.api.datatypes.types.openingreceipt;
6+
7+
import jakarta.xml.bind.annotation.XmlAccessType;
8+
import jakarta.xml.bind.annotation.XmlAccessorType;
9+
import jakarta.xml.bind.annotation.XmlSchema;
10+
import jakarta.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
11+
import no.digipost.api.datatypes.documentation.DataTypePackage;
12+
import no.digipost.api.datatypes.marshalling.ZonedDateTimeXmlAdapter;
13+
14+
import static no.digipost.api.datatypes.marshalling.DataTypesJAXBContext.DIGIPOST_DATATYPES_NAMESPACE;

src/main/resources/no/digipost/api/datatypes/types/jaxb.index

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,3 +15,5 @@ Inkasso
1515
share.ShareDocumentsRequest
1616
share.ShareDocumentsRequestSharingStopped
1717
share.ShareDocumentsRequestDocumentsShared
18+
openingreceipt.OpeningReceipt
19+
openingreceipt.OpeningReceiptAccepted

0 commit comments

Comments
 (0)