See current reference construct in issue #302.
When working with the reference construct, I have found that papiNet need to discuss some improvements.
When an item is referenced, e.g. a DeliveryNote, then the identifier of the item can be an id (UUID) or a number assigned by a party.
Currently the name of the reference type is ending with "Number", e.g. DeliveryNoteNumber.
The proposal is to remove "Number" from the the name of the reference type, e.g. to be just DeliveryNote.
Property Id (UUID) will not be used in use cases in version 5.0.0.
It can be added later, if needed in the future
The proposal is to remove property Id: (UUID) from the reference construct.
Name change of property assignedByIdentifierBySupplier?
Would assigningPartyIdentifierBySupplier or assignedByPartyIdentifierBySupplier be a better name?
The proposal is to change name .assignedByIdentifierBySupplier to assigningPartyIdentifierBySupplier
The proposal is to make the reference constract more compact and more flat by applying above proposals and replacing one object with 2 properties.
references:
type: array
minItems: 1
items:
type: object
unevaluatedProperties: false
required:
- type
- assignedBy
- assigningPartyIdentifierBySupplier
- number
properties:
type:
description: The type of the referenced item.
type: string
enum:
- DeliveryNote
- DeliveryInstruction
- LoadingInstruction
- Shipment
assignedBy:
description: The business role of the assigning party.
type: string
enum:
- Forwarder
- Supplier
- WarehouseOperator
assigningPartyIdentifierBySupplier:
type: string
minLength: 1
description: The identifier of the assigning party assigned by the _Supplier_.
number:
type: string
minLength: 1
description: The identifier of the referenced item given by the assigning party.
dateTime:
type: string
format: date-time
description: |
The dateTime when the referenced item was created or updated.
It MUST be local or UTC date-time expressed in ISO 8601
sequenceNumber:
type: integer
minimum: 0
description: A sequenceNumber in the referenced item.
lineItemNumber:
type: integer
minimum: 0
description: A lineItemNumber in the referenced item.
Current reference construct
references:
type: array
minItems: 1
items:
type: object
unevaluatedProperties: false
required:
- type
- assignedBy
anyOf:
- required:
- id
- required:
- identifier
properties:
type:
type: string
enum:
- DeliveryNoteNumber
- DeliveryInstructionNumber
- LoadingInstructionNumber
- ShipmentNumber
assignedBy:
description: The business role of the assigning party.
type: string
enum:
- Forwarder
- Supplier
- WarehouseOperator
id:
type: string
format: uuid
identifier:
type: object
unevaluatedProperties: false
required:
- value
- assignedByIdentifierBySupplier
properties:
value:
type: string
minLength: 1
assignedByIdentifierBySupplier:
type: string
minLength: 1
description: The identifier of the assigning party assigned by the _Supplier_.
dateTime:
type: string
format: date-time
description: It MUST be local or UTC date-time expressed in ISO 8601
sequenceNumber:
type: integer
minimum: 0
lineItemNumber:
type: integer
minimum: 0
See current reference construct in issue #302.
When working with the reference construct, I have found that papiNet need to discuss some improvements.
When an item is referenced, e.g. a DeliveryNote, then the identifier of the item can be an id (UUID) or a number assigned by a party.
Currently the name of the reference type is ending with "Number", e.g. DeliveryNoteNumber.
The proposal is to remove "Number" from the the name of the reference type, e.g. to be just DeliveryNote.
Property
Id(UUID) will not be used in use cases in version 5.0.0.It can be added later, if needed in the future
The proposal is to remove property
Id:(UUID) from the reference construct.Name change of property
assignedByIdentifierBySupplier?Would
assigningPartyIdentifierBySupplierorassignedByPartyIdentifierBySupplierbe a better name?The proposal is to change name .
assignedByIdentifierBySuppliertoassigningPartyIdentifierBySupplierThe proposal is to make the reference constract more compact and more flat by applying above proposals and replacing one object with 2 properties.
Current reference construct