Table of Contents |
---|
Overview
...
Property | Type | Default | Required | Notes |
---|---|---|---|---|
id | UUID | N | UUID of this Title - system generated if not provided | |
poLineId | UUID | Y | UUID of the purchase order line this Title is associated with, Foreign Key | |
title | string | Y | The title of the work | |
instanceId | UUID | N | UUID of the instance associated with this Title - Invalid to have both this and containerId simultaneously | |
productIds | productId | N | An array of productIds - each with: id, productIdType, qualifier NOTE: ISBNs will need to be validated and converted to ISBN-13 | |
contributors | contributor | N | An array of contributors - each with: contributor, contributorNameTypeId | |
publisher | string | N | Publisher of the material | |
publishedDate | string | N | date (year) of the material's publication - limited to exactly 4 digits | |
edition | string | N | Edition of the material | |
subscriptionFrom | date-time | N | Start date of the subscription - currently lives in po_line → details | |
subscriptionTo | date-time | N | End date of the subscription - currently lives in po_line → details | |
subsriptionInterval | integer | N | the subscription interval in days - currently lives in po_line → details | |
isAcknowledged | boolean | false | N | Flag for acknowledge receiving note (introduced in UIREC-32) |
packageName | string | N | The name of the package. Copied from the package POL's titleOrPackage field. NOTE: this could be the POL referenced directly by poLineId, or indirectly, e.g. the POL referenced by the packagePoLineId in that POL. | |
poLineNumber | string | N | The poLineNumber of the POL identified by poLineId | |
receivingNote | string | N | Receiving note from the POL identified by poLineId - currently lives in po_line → details | |
expectedReceiptDate | date-time | N | From the poLine->physical.expectedReceiptDate | |
metadata | metadata | N | System generated record metadata |
...
Standard CRUD API for the new "titles" table.
order-lineslines
GET /orders/order-lines/<id> is updated as follows:
...
PUT /orders/order-lines/<id> is updated as follows:
- TBDif isPackage == true and an instanceId is provided → return an error
- if isPackage == false and an instanceId is provided → update the title record
POST /orders/order-lines is updated as follows:
- if isPackage == true and an instanceId is provided → return an error
- if isPackage == false and an instanceId is provided → use the instanceId when creating the title record
composite-orders
GET /orders/composite-orders/<id> is updated as follows:
- TBDFor each POL:
- If isPackage == true
populate the containerId fields in the composite_po_line response from the value in the Title record- NOTE: In this case the "package" field would not be a hotlink in the UI - POL Details View.
- else
- populate the instanceId field in the composite_po_line response from the value in the Title record
- NOTE: This allows the "title" field to be a hotlink to the instance in the UI - POL Details View.
- If isPackage == true
PUT /orders/composite-orders/<id> is updated as follows:
- For each POL:
- if isPackage == true and an instanceId is provided → return an error
- if isPackage == false and an instanceId is provided → update the title record
POST /orders/composite-orders is updated as follows:
- For each POL:
- if isPackage == true and an instanceId is provided → return an error
- if isPackage == false and an instanceId is provided → use the instanceId when creating the title record
UI - Search/Filter
Need mockups.
...