@pdtf/schemas 3.6.0-dev.24 → 3.6.0-dev.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/schemas/v3/combined.json +100 -94
- package/src/schemas/v3/compactSkeleton.txt +18 -0
- package/src/schemas/v3/overlays/baspi4.json +1 -1
- package/src/schemas/v3/overlays/baspi5.json +1 -1
- package/src/schemas/v3/overlays/piq.json +1 -1
- package/src/schemas/v3/overlays/ta6ed6.json +1 -1
- package/src/schemas/v3/overlays/ta6ed6v2.json +1 -1
- package/src/schemas/v3/pdtf-transaction.json +105 -99
- package/src/schemas/v3/skeleton.json +25 -0
- package/src/schemas/v4/Gift.json +4 -4
- package/src/schemas/v4/Offer.json +7 -2
- package/src/schemas/v4/Organisation.json +2 -2
- package/src/schemas/v4/Person.json +2 -2
- package/src/schemas/v4/Property.json +2 -2
- package/src/schemas/v4/Representation.json +3 -3
- package/src/schemas/v4/SellerCapacity.json +2 -2
- package/src/schemas/v4/Title.json +2 -2
- package/src/schemas/v4/Transaction.json +104 -98
- package/src/schemas/v4/TransactionRole.json +3 -3
- package/src/schemas/v4/mapping.json +18 -5
- package/src/utils/generateV4Schemas.js +7 -7
- package/src/utils/v4.js +3 -3
package/package.json
CHANGED
|
@@ -277,7 +277,7 @@
|
|
|
277
277
|
"Prospective Buyer",
|
|
278
278
|
"Buyer",
|
|
279
279
|
"Buyer's Conveyancer",
|
|
280
|
-
"
|
|
280
|
+
"Giftor",
|
|
281
281
|
"Estate Agent",
|
|
282
282
|
"Buyer's Agent",
|
|
283
283
|
"Surveyor",
|
|
@@ -663,7 +663,7 @@
|
|
|
663
663
|
{
|
|
664
664
|
"properties": {
|
|
665
665
|
"role": {
|
|
666
|
-
"enum": ["
|
|
666
|
+
"enum": ["Giftor"]
|
|
667
667
|
},
|
|
668
668
|
"offerId": {
|
|
669
669
|
"title": "Reference to an offer in the offers object",
|
|
@@ -672,7 +672,7 @@
|
|
|
672
672
|
},
|
|
673
673
|
"giftDetails": {
|
|
674
674
|
"title": "Details of the gift being made towards the purchase",
|
|
675
|
-
"description": "The terms on which a
|
|
675
|
+
"description": "The terms on which a giftor is contributing funds. These are the questions a conveyancer must resolve before reporting to a lender: whether the money is truly a gift rather than a loan, and whether the donor acquires any interest in or occupation of the property.",
|
|
676
676
|
"type": "object",
|
|
677
677
|
"properties": {
|
|
678
678
|
"amount": {
|
|
@@ -49272,101 +49272,102 @@
|
|
|
49272
49272
|
}
|
|
49273
49273
|
}
|
|
49274
49274
|
}
|
|
49275
|
-
}
|
|
49276
|
-
|
|
49277
|
-
|
|
49278
|
-
|
|
49279
|
-
|
|
49280
|
-
|
|
49281
|
-
|
|
49282
|
-
|
|
49283
|
-
|
|
49284
|
-
|
|
49285
|
-
|
|
49286
|
-
|
|
49287
|
-
|
|
49288
|
-
|
|
49289
|
-
|
|
49290
|
-
|
|
49291
|
-
|
|
49292
|
-
|
|
49293
|
-
|
|
49294
|
-
|
|
49295
|
-
|
|
49296
|
-
|
|
49297
|
-
|
|
49298
|
-
|
|
49299
|
-
|
|
49300
|
-
|
|
49301
|
-
|
|
49302
|
-
|
|
49303
|
-
|
|
49304
|
-
|
|
49305
|
-
|
|
49275
|
+
},
|
|
49276
|
+
"buyersSale": {
|
|
49277
|
+
"description": "The property or properties the buyer must sell in order to proceed with this purchase. Whether the buyer depends on a sale at all is recorded in the offer's buyerCircumstances.dependentOnSale.",
|
|
49278
|
+
"type": "array",
|
|
49279
|
+
"minItems": 1,
|
|
49280
|
+
"items": {
|
|
49281
|
+
"type": "object",
|
|
49282
|
+
"title": "The property(ies) the buyer/buyers are selling to finance the purchase",
|
|
49283
|
+
"properties": {
|
|
49284
|
+
"transactionId": {
|
|
49285
|
+
"title": "UUID for the buyer's sale transaction",
|
|
49286
|
+
"type": "string"
|
|
49287
|
+
},
|
|
49288
|
+
"externalIds": {
|
|
49289
|
+
"type": "object",
|
|
49290
|
+
"patternProperties": {
|
|
49291
|
+
".*": {
|
|
49292
|
+
"oneOf": [
|
|
49293
|
+
{
|
|
49294
|
+
"type": "string"
|
|
49295
|
+
},
|
|
49296
|
+
{
|
|
49297
|
+
"type": "number"
|
|
49298
|
+
},
|
|
49299
|
+
{
|
|
49300
|
+
"type": "boolean"
|
|
49301
|
+
},
|
|
49302
|
+
{
|
|
49303
|
+
"type": "object",
|
|
49304
|
+
"patternProperties": {
|
|
49305
|
+
".*": {}
|
|
49306
|
+
}
|
|
49306
49307
|
}
|
|
49307
|
-
|
|
49308
|
-
|
|
49308
|
+
]
|
|
49309
|
+
}
|
|
49309
49310
|
}
|
|
49310
|
-
}
|
|
49311
|
-
|
|
49312
|
-
|
|
49313
|
-
|
|
49314
|
-
|
|
49315
|
-
|
|
49316
|
-
|
|
49317
|
-
|
|
49318
|
-
|
|
49319
|
-
|
|
49320
|
-
|
|
49321
|
-
|
|
49322
|
-
|
|
49323
|
-
|
|
49324
|
-
|
|
49325
|
-
|
|
49326
|
-
|
|
49327
|
-
|
|
49328
|
-
|
|
49329
|
-
|
|
49330
|
-
|
|
49331
|
-
|
|
49332
|
-
|
|
49333
|
-
|
|
49334
|
-
|
|
49335
|
-
|
|
49336
|
-
|
|
49337
|
-
|
|
49338
|
-
|
|
49339
|
-
|
|
49340
|
-
|
|
49341
|
-
|
|
49342
|
-
|
|
49343
|
-
|
|
49344
|
-
|
|
49345
|
-
|
|
49346
|
-
|
|
49347
|
-
|
|
49348
|
-
|
|
49349
|
-
|
|
49350
|
-
|
|
49351
|
-
|
|
49352
|
-
|
|
49353
|
-
|
|
49354
|
-
|
|
49355
|
-
|
|
49356
|
-
|
|
49357
|
-
|
|
49358
|
-
|
|
49359
|
-
|
|
49311
|
+
},
|
|
49312
|
+
"address": {
|
|
49313
|
+
"title": "Address",
|
|
49314
|
+
"type": "object",
|
|
49315
|
+
"properties": {
|
|
49316
|
+
"buildingNumber": {
|
|
49317
|
+
"title": "Building number",
|
|
49318
|
+
"type": "string",
|
|
49319
|
+
"minLength": 1
|
|
49320
|
+
},
|
|
49321
|
+
"buildingName": {
|
|
49322
|
+
"title": "Building name",
|
|
49323
|
+
"type": "string"
|
|
49324
|
+
},
|
|
49325
|
+
"subBuilding": {
|
|
49326
|
+
"title": "Sub building name",
|
|
49327
|
+
"type": "string"
|
|
49328
|
+
},
|
|
49329
|
+
"street": {
|
|
49330
|
+
"title": "Street",
|
|
49331
|
+
"type": "string",
|
|
49332
|
+
"minLength": 1
|
|
49333
|
+
},
|
|
49334
|
+
"line1": {
|
|
49335
|
+
"title": "Address 1",
|
|
49336
|
+
"type": "string",
|
|
49337
|
+
"minLength": 1
|
|
49338
|
+
},
|
|
49339
|
+
"line2": {
|
|
49340
|
+
"title": "Address 2",
|
|
49341
|
+
"type": "string"
|
|
49342
|
+
},
|
|
49343
|
+
"line 3": {
|
|
49344
|
+
"title": "Address 3",
|
|
49345
|
+
"type": "string"
|
|
49346
|
+
},
|
|
49347
|
+
"town": {
|
|
49348
|
+
"title": "Town",
|
|
49349
|
+
"type": "string"
|
|
49350
|
+
},
|
|
49351
|
+
"postcode": {
|
|
49352
|
+
"title": "Postcode",
|
|
49353
|
+
"type": "string",
|
|
49354
|
+
"minLength": 1
|
|
49355
|
+
},
|
|
49356
|
+
"homeNation": {
|
|
49357
|
+
"title": "Home nation",
|
|
49358
|
+
"type": "string",
|
|
49359
|
+
"enum": ["England", "Wales", "Scotland", "Northern Ireland"]
|
|
49360
|
+
}
|
|
49360
49361
|
}
|
|
49362
|
+
},
|
|
49363
|
+
"uprn": {
|
|
49364
|
+
"title": "Unique Property Reference Number",
|
|
49365
|
+
"type": "integer"
|
|
49366
|
+
},
|
|
49367
|
+
"sellingAgent": {
|
|
49368
|
+
"title": "Estate Agent selling the property",
|
|
49369
|
+
"type": "string"
|
|
49361
49370
|
}
|
|
49362
|
-
},
|
|
49363
|
-
"uprn": {
|
|
49364
|
-
"title": "Unique Property Reference Number",
|
|
49365
|
-
"type": "integer"
|
|
49366
|
-
},
|
|
49367
|
-
"sellingAgent": {
|
|
49368
|
-
"title": "Estate Agent selling the property",
|
|
49369
|
-
"type": "string"
|
|
49370
49371
|
}
|
|
49371
49372
|
}
|
|
49372
49373
|
}
|
|
@@ -49667,6 +49668,11 @@
|
|
|
49667
49668
|
"title": "Additional property purchase",
|
|
49668
49669
|
"description": "Whether the buyer already owns residential property (SDLT higher rates apply)"
|
|
49669
49670
|
},
|
|
49671
|
+
"dependentOnSale": {
|
|
49672
|
+
"type": "boolean",
|
|
49673
|
+
"title": "Buyer needs to sell a property to proceed",
|
|
49674
|
+
"description": "Whether the buyer's purchase depends on the sale of another property, i.e. the buyer's side of the chain. False positively records that it does not, for example a first-time buyer or a buyer who has already sold; absent means the buyer's position is not known. Owning another property is not the same thing: see isAdditionalProperty. The property or properties being sold are recorded in chain.buyersSale."
|
|
49675
|
+
},
|
|
49670
49676
|
"hasPets": {
|
|
49671
49677
|
"type": "boolean",
|
|
49672
49678
|
"title": "Buyer has pets",
|
|
@@ -4474,6 +4474,23 @@
|
|
|
4474
4474
|
uprn
|
|
4475
4475
|
sellingAgent
|
|
4476
4476
|
]
|
|
4477
|
+
buyersSale[
|
|
4478
|
+
transactionId
|
|
4479
|
+
externalIds{*}
|
|
4480
|
+
address
|
|
4481
|
+
buildingNumber
|
|
4482
|
+
buildingName
|
|
4483
|
+
subBuilding
|
|
4484
|
+
street
|
|
4485
|
+
line1
|
|
4486
|
+
line2
|
|
4487
|
+
line 3
|
|
4488
|
+
town
|
|
4489
|
+
postcode
|
|
4490
|
+
homeNation
|
|
4491
|
+
uprn
|
|
4492
|
+
sellingAgent
|
|
4493
|
+
]
|
|
4477
4494
|
milestones
|
|
4478
4495
|
listed
|
|
4479
4496
|
expected
|
|
@@ -4517,6 +4534,7 @@
|
|
|
4517
4534
|
numberOfGiftedDeposits
|
|
4518
4535
|
requiresMortgage
|
|
4519
4536
|
isAdditionalProperty
|
|
4537
|
+
dependentOnSale
|
|
4520
4538
|
hasPets
|
|
4521
4539
|
petDetails
|
|
4522
4540
|
occupiedByFamilyMember
|
|
@@ -265,7 +265,7 @@
|
|
|
265
265
|
"Prospective Buyer",
|
|
266
266
|
"Buyer",
|
|
267
267
|
"Buyer's Conveyancer",
|
|
268
|
-
"
|
|
268
|
+
"Giftor",
|
|
269
269
|
"Estate Agent",
|
|
270
270
|
"Buyer's Agent",
|
|
271
271
|
"Surveyor",
|
|
@@ -614,7 +614,7 @@
|
|
|
614
614
|
"properties": {
|
|
615
615
|
"role": {
|
|
616
616
|
"enum": [
|
|
617
|
-
"
|
|
617
|
+
"Giftor"
|
|
618
618
|
]
|
|
619
619
|
},
|
|
620
620
|
"offerId": {
|
|
@@ -624,7 +624,7 @@
|
|
|
624
624
|
},
|
|
625
625
|
"giftDetails": {
|
|
626
626
|
"title": "Details of the gift being made towards the purchase",
|
|
627
|
-
"description": "The terms on which a
|
|
627
|
+
"description": "The terms on which a giftor is contributing funds. These are the questions a conveyancer must resolve before reporting to a lender: whether the money is truly a gift rather than a loan, and whether the donor acquires any interest in or occupation of the property.",
|
|
628
628
|
"type": "object",
|
|
629
629
|
"properties": {
|
|
630
630
|
"amount": {
|
|
@@ -41294,106 +41294,107 @@
|
|
|
41294
41294
|
}
|
|
41295
41295
|
}
|
|
41296
41296
|
}
|
|
41297
|
-
}
|
|
41298
|
-
|
|
41299
|
-
|
|
41300
|
-
|
|
41301
|
-
|
|
41302
|
-
|
|
41303
|
-
|
|
41304
|
-
|
|
41305
|
-
|
|
41306
|
-
|
|
41307
|
-
|
|
41308
|
-
|
|
41309
|
-
|
|
41310
|
-
|
|
41311
|
-
|
|
41312
|
-
|
|
41313
|
-
|
|
41314
|
-
|
|
41315
|
-
|
|
41316
|
-
|
|
41317
|
-
|
|
41318
|
-
|
|
41319
|
-
|
|
41320
|
-
|
|
41321
|
-
|
|
41322
|
-
|
|
41323
|
-
|
|
41324
|
-
|
|
41325
|
-
|
|
41326
|
-
|
|
41327
|
-
|
|
41297
|
+
},
|
|
41298
|
+
"buyersSale": {
|
|
41299
|
+
"description": "The property or properties the buyer must sell in order to proceed with this purchase. Whether the buyer depends on a sale at all is recorded in the offer's buyerCircumstances.dependentOnSale.",
|
|
41300
|
+
"type": "array",
|
|
41301
|
+
"minItems": 1,
|
|
41302
|
+
"items": {
|
|
41303
|
+
"type": "object",
|
|
41304
|
+
"title": "The property(ies) the buyer/buyers are selling to finance the purchase",
|
|
41305
|
+
"properties": {
|
|
41306
|
+
"transactionId": {
|
|
41307
|
+
"title": "UUID for the buyer's sale transaction",
|
|
41308
|
+
"type": "string"
|
|
41309
|
+
},
|
|
41310
|
+
"externalIds": {
|
|
41311
|
+
"type": "object",
|
|
41312
|
+
"patternProperties": {
|
|
41313
|
+
".*": {
|
|
41314
|
+
"oneOf": [
|
|
41315
|
+
{
|
|
41316
|
+
"type": "string"
|
|
41317
|
+
},
|
|
41318
|
+
{
|
|
41319
|
+
"type": "number"
|
|
41320
|
+
},
|
|
41321
|
+
{
|
|
41322
|
+
"type": "boolean"
|
|
41323
|
+
},
|
|
41324
|
+
{
|
|
41325
|
+
"type": "object",
|
|
41326
|
+
"patternProperties": {
|
|
41327
|
+
".*": {}
|
|
41328
|
+
}
|
|
41328
41329
|
}
|
|
41329
|
-
|
|
41330
|
-
|
|
41330
|
+
]
|
|
41331
|
+
}
|
|
41331
41332
|
}
|
|
41332
|
-
}
|
|
41333
|
-
|
|
41334
|
-
|
|
41335
|
-
|
|
41336
|
-
|
|
41337
|
-
|
|
41338
|
-
|
|
41339
|
-
|
|
41340
|
-
|
|
41341
|
-
|
|
41342
|
-
|
|
41343
|
-
|
|
41344
|
-
|
|
41345
|
-
|
|
41346
|
-
|
|
41347
|
-
|
|
41348
|
-
|
|
41349
|
-
|
|
41350
|
-
|
|
41351
|
-
|
|
41352
|
-
|
|
41353
|
-
|
|
41354
|
-
|
|
41355
|
-
|
|
41356
|
-
|
|
41357
|
-
|
|
41358
|
-
|
|
41359
|
-
|
|
41360
|
-
|
|
41361
|
-
|
|
41362
|
-
|
|
41363
|
-
|
|
41364
|
-
|
|
41365
|
-
|
|
41366
|
-
|
|
41367
|
-
|
|
41368
|
-
|
|
41369
|
-
|
|
41370
|
-
|
|
41371
|
-
|
|
41372
|
-
|
|
41373
|
-
|
|
41374
|
-
|
|
41375
|
-
|
|
41376
|
-
|
|
41377
|
-
|
|
41378
|
-
|
|
41379
|
-
|
|
41380
|
-
|
|
41381
|
-
|
|
41382
|
-
|
|
41383
|
-
|
|
41384
|
-
|
|
41385
|
-
|
|
41386
|
-
|
|
41333
|
+
},
|
|
41334
|
+
"address": {
|
|
41335
|
+
"title": "Address",
|
|
41336
|
+
"type": "object",
|
|
41337
|
+
"properties": {
|
|
41338
|
+
"buildingNumber": {
|
|
41339
|
+
"title": "Building number",
|
|
41340
|
+
"type": "string",
|
|
41341
|
+
"minLength": 1
|
|
41342
|
+
},
|
|
41343
|
+
"buildingName": {
|
|
41344
|
+
"title": "Building name",
|
|
41345
|
+
"type": "string"
|
|
41346
|
+
},
|
|
41347
|
+
"subBuilding": {
|
|
41348
|
+
"title": "Sub building name",
|
|
41349
|
+
"type": "string"
|
|
41350
|
+
},
|
|
41351
|
+
"street": {
|
|
41352
|
+
"title": "Street",
|
|
41353
|
+
"type": "string",
|
|
41354
|
+
"minLength": 1
|
|
41355
|
+
},
|
|
41356
|
+
"line1": {
|
|
41357
|
+
"title": "Address 1",
|
|
41358
|
+
"type": "string",
|
|
41359
|
+
"minLength": 1
|
|
41360
|
+
},
|
|
41361
|
+
"line2": {
|
|
41362
|
+
"title": "Address 2",
|
|
41363
|
+
"type": "string"
|
|
41364
|
+
},
|
|
41365
|
+
"line 3": {
|
|
41366
|
+
"title": "Address 3",
|
|
41367
|
+
"type": "string"
|
|
41368
|
+
},
|
|
41369
|
+
"town": {
|
|
41370
|
+
"title": "Town",
|
|
41371
|
+
"type": "string"
|
|
41372
|
+
},
|
|
41373
|
+
"postcode": {
|
|
41374
|
+
"title": "Postcode",
|
|
41375
|
+
"type": "string",
|
|
41376
|
+
"minLength": 1
|
|
41377
|
+
},
|
|
41378
|
+
"homeNation": {
|
|
41379
|
+
"title": "Home nation",
|
|
41380
|
+
"type": "string",
|
|
41381
|
+
"enum": [
|
|
41382
|
+
"England",
|
|
41383
|
+
"Wales",
|
|
41384
|
+
"Scotland",
|
|
41385
|
+
"Northern Ireland"
|
|
41386
|
+
]
|
|
41387
|
+
}
|
|
41387
41388
|
}
|
|
41389
|
+
},
|
|
41390
|
+
"uprn": {
|
|
41391
|
+
"title": "Unique Property Reference Number",
|
|
41392
|
+
"type": "integer"
|
|
41393
|
+
},
|
|
41394
|
+
"sellingAgent": {
|
|
41395
|
+
"title": "Estate Agent selling the property",
|
|
41396
|
+
"type": "string"
|
|
41388
41397
|
}
|
|
41389
|
-
},
|
|
41390
|
-
"uprn": {
|
|
41391
|
-
"title": "Unique Property Reference Number",
|
|
41392
|
-
"type": "integer"
|
|
41393
|
-
},
|
|
41394
|
-
"sellingAgent": {
|
|
41395
|
-
"title": "Estate Agent selling the property",
|
|
41396
|
-
"type": "string"
|
|
41397
41398
|
}
|
|
41398
41399
|
}
|
|
41399
41400
|
}
|
|
@@ -41697,6 +41698,11 @@
|
|
|
41697
41698
|
"title": "Additional property purchase",
|
|
41698
41699
|
"description": "Whether the buyer already owns residential property (SDLT higher rates apply)"
|
|
41699
41700
|
},
|
|
41701
|
+
"dependentOnSale": {
|
|
41702
|
+
"type": "boolean",
|
|
41703
|
+
"title": "Buyer needs to sell a property to proceed",
|
|
41704
|
+
"description": "Whether the buyer's purchase depends on the sale of another property, i.e. the buyer's side of the chain. False positively records that it does not, for example a first-time buyer or a buyer who has already sold; absent means the buyer's position is not known. Owning another property is not the same thing: see isAdditionalProperty. The property or properties being sold are recorded in chain.buyersSale."
|
|
41705
|
+
},
|
|
41700
41706
|
"hasPets": {
|
|
41701
41707
|
"type": "boolean",
|
|
41702
41708
|
"title": "Buyer has pets",
|
|
@@ -5709,6 +5709,30 @@
|
|
|
5709
5709
|
"uprn": "integer",
|
|
5710
5710
|
"sellingAgent": "string"
|
|
5711
5711
|
}
|
|
5712
|
+
],
|
|
5713
|
+
"buyersSale": [
|
|
5714
|
+
{
|
|
5715
|
+
"transactionId": "string",
|
|
5716
|
+
"externalIds": {
|
|
5717
|
+
"*": {
|
|
5718
|
+
"*": {}
|
|
5719
|
+
}
|
|
5720
|
+
},
|
|
5721
|
+
"address": {
|
|
5722
|
+
"buildingNumber": "string",
|
|
5723
|
+
"buildingName": "string",
|
|
5724
|
+
"subBuilding": "string",
|
|
5725
|
+
"street": "string",
|
|
5726
|
+
"line1": "string",
|
|
5727
|
+
"line2": "string",
|
|
5728
|
+
"line 3": "string",
|
|
5729
|
+
"town": "string",
|
|
5730
|
+
"postcode": "string",
|
|
5731
|
+
"homeNation": "string"
|
|
5732
|
+
},
|
|
5733
|
+
"uprn": "integer",
|
|
5734
|
+
"sellingAgent": "string"
|
|
5735
|
+
}
|
|
5712
5736
|
]
|
|
5713
5737
|
},
|
|
5714
5738
|
"milestones": {
|
|
@@ -5779,6 +5803,7 @@
|
|
|
5779
5803
|
"numberOfGiftedDeposits": "integer",
|
|
5780
5804
|
"requiresMortgage": "variant",
|
|
5781
5805
|
"isAdditionalProperty": "boolean",
|
|
5806
|
+
"dependentOnSale": "boolean",
|
|
5782
5807
|
"hasPets": "boolean",
|
|
5783
5808
|
"petDetails": "string",
|
|
5784
5809
|
"occupiedByFamilyMember": "boolean",
|
package/src/schemas/v4/Gift.json
CHANGED
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
"$id": "https://trust.propdata.org.uk/schemas/v4/entities/gift.json",
|
|
4
4
|
"type": "object",
|
|
5
5
|
"title": "Gift Entity",
|
|
6
|
-
"description": "A gift of funds towards a purchase, made by a
|
|
6
|
+
"description": "A gift of funds towards a purchase, made by a giftor. Implies the Giftor role.",
|
|
7
7
|
"x-pdtf-source": {
|
|
8
8
|
"packageName": "@pdtf/schemas",
|
|
9
|
-
"packageVersion": "3.6.0-dev.
|
|
9
|
+
"packageVersion": "3.6.0-dev.26",
|
|
10
10
|
"v3SchemaId": "https://trust.propdata.org.uk/schemas/v3/pdtf-transaction.json",
|
|
11
11
|
"combinedPath": "src/schemas/v3/combined.json",
|
|
12
|
-
"combinedSha256": "
|
|
12
|
+
"combinedSha256": "4faefc641dcb3cdd9e871b53fdaf80d8a02041dfb09d377c959a916eb22276b5"
|
|
13
13
|
},
|
|
14
14
|
"properties": {
|
|
15
15
|
"id": {
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
},
|
|
33
33
|
"giftDetails": {
|
|
34
34
|
"title": "Details of the gift being made towards the purchase",
|
|
35
|
-
"description": "The terms on which a
|
|
35
|
+
"description": "The terms on which a giftor is contributing funds. These are the questions a conveyancer must resolve before reporting to a lender: whether the money is truly a gift rather than a loan, and whether the donor acquires any interest in or occupation of the property.",
|
|
36
36
|
"type": "object",
|
|
37
37
|
"properties": {
|
|
38
38
|
"amount": {
|
|
@@ -6,10 +6,10 @@
|
|
|
6
6
|
"description": "An offer made by a prospective buyer in a property transaction.",
|
|
7
7
|
"x-pdtf-source": {
|
|
8
8
|
"packageName": "@pdtf/schemas",
|
|
9
|
-
"packageVersion": "3.6.0-dev.
|
|
9
|
+
"packageVersion": "3.6.0-dev.26",
|
|
10
10
|
"v3SchemaId": "https://trust.propdata.org.uk/schemas/v3/pdtf-transaction.json",
|
|
11
11
|
"combinedPath": "src/schemas/v3/combined.json",
|
|
12
|
-
"combinedSha256": "
|
|
12
|
+
"combinedSha256": "4faefc641dcb3cdd9e871b53fdaf80d8a02041dfb09d377c959a916eb22276b5"
|
|
13
13
|
},
|
|
14
14
|
"properties": {
|
|
15
15
|
"id": {
|
|
@@ -182,6 +182,11 @@
|
|
|
182
182
|
"title": "Additional property purchase",
|
|
183
183
|
"description": "Whether the buyer already owns residential property (SDLT higher rates apply)"
|
|
184
184
|
},
|
|
185
|
+
"dependentOnSale": {
|
|
186
|
+
"type": "boolean",
|
|
187
|
+
"title": "Buyer needs to sell a property to proceed",
|
|
188
|
+
"description": "Whether the buyer's purchase depends on the sale of another property, i.e. the buyer's side of the chain. False positively records that it does not, for example a first-time buyer or a buyer who has already sold; absent means the buyer's position is not known. Owning another property is not the same thing: see isAdditionalProperty. The property or properties being sold are recorded in chain.buyersSale."
|
|
189
|
+
},
|
|
185
190
|
"hasPets": {
|
|
186
191
|
"type": "boolean",
|
|
187
192
|
"title": "Buyer has pets",
|
|
@@ -6,10 +6,10 @@
|
|
|
6
6
|
"description": "A legal entity (company, firm, partnership) participating in a property transaction.",
|
|
7
7
|
"x-pdtf-source": {
|
|
8
8
|
"packageName": "@pdtf/schemas",
|
|
9
|
-
"packageVersion": "3.6.0-dev.
|
|
9
|
+
"packageVersion": "3.6.0-dev.26",
|
|
10
10
|
"v3SchemaId": "https://trust.propdata.org.uk/schemas/v3/pdtf-transaction.json",
|
|
11
11
|
"combinedPath": "src/schemas/v3/combined.json",
|
|
12
|
-
"combinedSha256": "
|
|
12
|
+
"combinedSha256": "4faefc641dcb3cdd9e871b53fdaf80d8a02041dfb09d377c959a916eb22276b5"
|
|
13
13
|
},
|
|
14
14
|
"properties": {
|
|
15
15
|
"id": {
|
|
@@ -6,10 +6,10 @@
|
|
|
6
6
|
"description": "A natural person participating in a property transaction — name, contact details, address, verification status.",
|
|
7
7
|
"x-pdtf-source": {
|
|
8
8
|
"packageName": "@pdtf/schemas",
|
|
9
|
-
"packageVersion": "3.6.0-dev.
|
|
9
|
+
"packageVersion": "3.6.0-dev.26",
|
|
10
10
|
"v3SchemaId": "https://trust.propdata.org.uk/schemas/v3/pdtf-transaction.json",
|
|
11
11
|
"combinedPath": "src/schemas/v3/combined.json",
|
|
12
|
-
"combinedSha256": "
|
|
12
|
+
"combinedSha256": "4faefc641dcb3cdd9e871b53fdaf80d8a02041dfb09d377c959a916eb22276b5"
|
|
13
13
|
},
|
|
14
14
|
"properties": {
|
|
15
15
|
"name": {
|
|
@@ -6,10 +6,10 @@
|
|
|
6
6
|
"description": "Physical and environmental facts about a property — address, construction, fixtures, services, searches, documents. Excludes ownership, titles, and participants.",
|
|
7
7
|
"x-pdtf-source": {
|
|
8
8
|
"packageName": "@pdtf/schemas",
|
|
9
|
-
"packageVersion": "3.6.0-dev.
|
|
9
|
+
"packageVersion": "3.6.0-dev.26",
|
|
10
10
|
"v3SchemaId": "https://trust.propdata.org.uk/schemas/v3/pdtf-transaction.json",
|
|
11
11
|
"combinedPath": "src/schemas/v3/combined.json",
|
|
12
|
-
"combinedSha256": "
|
|
12
|
+
"combinedSha256": "4faefc641dcb3cdd9e871b53fdaf80d8a02041dfb09d377c959a916eb22276b5"
|
|
13
13
|
},
|
|
14
14
|
"properties": {
|
|
15
15
|
"address": {
|
|
@@ -6,10 +6,10 @@
|
|
|
6
6
|
"description": "A professional representation relationship — one party instructed by another, e.g. a conveyancer acting for a seller. One entity per (representative, represented party) pair: a conveyancer instructed jointly by two sellers yields two, and sellers who instruct separate conveyancers yield one each.",
|
|
7
7
|
"x-pdtf-source": {
|
|
8
8
|
"packageName": "@pdtf/schemas",
|
|
9
|
-
"packageVersion": "3.6.0-dev.
|
|
9
|
+
"packageVersion": "3.6.0-dev.26",
|
|
10
10
|
"v3SchemaId": "https://trust.propdata.org.uk/schemas/v3/pdtf-transaction.json",
|
|
11
11
|
"combinedPath": "src/schemas/v3/combined.json",
|
|
12
|
-
"combinedSha256": "
|
|
12
|
+
"combinedSha256": "4faefc641dcb3cdd9e871b53fdaf80d8a02041dfb09d377c959a916eb22276b5"
|
|
13
13
|
},
|
|
14
14
|
"properties": {
|
|
15
15
|
"id": {
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"Prospective Buyer",
|
|
40
40
|
"Buyer",
|
|
41
41
|
"Buyer's Conveyancer",
|
|
42
|
-
"
|
|
42
|
+
"Giftor",
|
|
43
43
|
"Estate Agent",
|
|
44
44
|
"Buyer's Agent",
|
|
45
45
|
"Surveyor",
|
|
@@ -6,10 +6,10 @@
|
|
|
6
6
|
"description": "The legal capacity in which a seller is selling a given title. Derived from the V3 participants 'Seller' branch (sellersCapacity, dateBecameOwnerOrAuthority).",
|
|
7
7
|
"x-pdtf-source": {
|
|
8
8
|
"packageName": "@pdtf/schemas",
|
|
9
|
-
"packageVersion": "3.6.0-dev.
|
|
9
|
+
"packageVersion": "3.6.0-dev.26",
|
|
10
10
|
"v3SchemaId": "https://trust.propdata.org.uk/schemas/v3/pdtf-transaction.json",
|
|
11
11
|
"combinedPath": "src/schemas/v3/combined.json",
|
|
12
|
-
"combinedSha256": "
|
|
12
|
+
"combinedSha256": "4faefc641dcb3cdd9e871b53fdaf80d8a02041dfb09d377c959a916eb22276b5"
|
|
13
13
|
},
|
|
14
14
|
"properties": {
|
|
15
15
|
"id": {
|
|
@@ -6,10 +6,10 @@
|
|
|
6
6
|
"description": "HM Land Registry title — register extract, tenure type, and legal interest details for a single title number.",
|
|
7
7
|
"x-pdtf-source": {
|
|
8
8
|
"packageName": "@pdtf/schemas",
|
|
9
|
-
"packageVersion": "3.6.0-dev.
|
|
9
|
+
"packageVersion": "3.6.0-dev.26",
|
|
10
10
|
"v3SchemaId": "https://trust.propdata.org.uk/schemas/v3/pdtf-transaction.json",
|
|
11
11
|
"combinedPath": "src/schemas/v3/combined.json",
|
|
12
|
-
"combinedSha256": "
|
|
12
|
+
"combinedSha256": "4faefc641dcb3cdd9e871b53fdaf80d8a02041dfb09d377c959a916eb22276b5"
|
|
13
13
|
},
|
|
14
14
|
"properties": {
|
|
15
15
|
"titleNumber": {
|
|
@@ -6,10 +6,10 @@
|
|
|
6
6
|
"description": "Transaction-level metadata — status, milestones, chain, contracts, offers, enquiries, and sale context.",
|
|
7
7
|
"x-pdtf-source": {
|
|
8
8
|
"packageName": "@pdtf/schemas",
|
|
9
|
-
"packageVersion": "3.6.0-dev.
|
|
9
|
+
"packageVersion": "3.6.0-dev.26",
|
|
10
10
|
"v3SchemaId": "https://trust.propdata.org.uk/schemas/v3/pdtf-transaction.json",
|
|
11
11
|
"combinedPath": "src/schemas/v3/combined.json",
|
|
12
|
-
"combinedSha256": "
|
|
12
|
+
"combinedSha256": "4faefc641dcb3cdd9e871b53fdaf80d8a02041dfb09d377c959a916eb22276b5"
|
|
13
13
|
},
|
|
14
14
|
"properties": {
|
|
15
15
|
"transactionId": {
|
|
@@ -633,106 +633,107 @@
|
|
|
633
633
|
}
|
|
634
634
|
}
|
|
635
635
|
}
|
|
636
|
-
}
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
636
|
+
},
|
|
637
|
+
"buyersSale": {
|
|
638
|
+
"description": "The property or properties the buyer must sell in order to proceed with this purchase. Whether the buyer depends on a sale at all is recorded in the offer's buyerCircumstances.dependentOnSale.",
|
|
639
|
+
"type": "array",
|
|
640
|
+
"minItems": 1,
|
|
641
|
+
"items": {
|
|
642
|
+
"type": "object",
|
|
643
|
+
"title": "The property(ies) the buyer/buyers are selling to finance the purchase",
|
|
644
|
+
"properties": {
|
|
645
|
+
"transactionId": {
|
|
646
|
+
"title": "UUID for the buyer's sale transaction",
|
|
647
|
+
"type": "string"
|
|
648
|
+
},
|
|
649
|
+
"externalIds": {
|
|
650
|
+
"type": "object",
|
|
651
|
+
"patternProperties": {
|
|
652
|
+
".*": {
|
|
653
|
+
"oneOf": [
|
|
654
|
+
{
|
|
655
|
+
"type": "string"
|
|
656
|
+
},
|
|
657
|
+
{
|
|
658
|
+
"type": "number"
|
|
659
|
+
},
|
|
660
|
+
{
|
|
661
|
+
"type": "boolean"
|
|
662
|
+
},
|
|
663
|
+
{
|
|
664
|
+
"type": "object",
|
|
665
|
+
"patternProperties": {
|
|
666
|
+
".*": {}
|
|
667
|
+
}
|
|
667
668
|
}
|
|
668
|
-
|
|
669
|
-
|
|
669
|
+
]
|
|
670
|
+
}
|
|
670
671
|
}
|
|
671
|
-
}
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
672
|
+
},
|
|
673
|
+
"address": {
|
|
674
|
+
"title": "Address",
|
|
675
|
+
"type": "object",
|
|
676
|
+
"properties": {
|
|
677
|
+
"buildingNumber": {
|
|
678
|
+
"title": "Building number",
|
|
679
|
+
"type": "string",
|
|
680
|
+
"minLength": 1
|
|
681
|
+
},
|
|
682
|
+
"buildingName": {
|
|
683
|
+
"title": "Building name",
|
|
684
|
+
"type": "string"
|
|
685
|
+
},
|
|
686
|
+
"subBuilding": {
|
|
687
|
+
"title": "Sub building name",
|
|
688
|
+
"type": "string"
|
|
689
|
+
},
|
|
690
|
+
"street": {
|
|
691
|
+
"title": "Street",
|
|
692
|
+
"type": "string",
|
|
693
|
+
"minLength": 1
|
|
694
|
+
},
|
|
695
|
+
"line1": {
|
|
696
|
+
"title": "Address 1",
|
|
697
|
+
"type": "string",
|
|
698
|
+
"minLength": 1
|
|
699
|
+
},
|
|
700
|
+
"line2": {
|
|
701
|
+
"title": "Address 2",
|
|
702
|
+
"type": "string"
|
|
703
|
+
},
|
|
704
|
+
"line 3": {
|
|
705
|
+
"title": "Address 3",
|
|
706
|
+
"type": "string"
|
|
707
|
+
},
|
|
708
|
+
"town": {
|
|
709
|
+
"title": "Town",
|
|
710
|
+
"type": "string"
|
|
711
|
+
},
|
|
712
|
+
"postcode": {
|
|
713
|
+
"title": "Postcode",
|
|
714
|
+
"type": "string",
|
|
715
|
+
"minLength": 1
|
|
716
|
+
},
|
|
717
|
+
"homeNation": {
|
|
718
|
+
"title": "Home nation",
|
|
719
|
+
"type": "string",
|
|
720
|
+
"enum": [
|
|
721
|
+
"England",
|
|
722
|
+
"Wales",
|
|
723
|
+
"Scotland",
|
|
724
|
+
"Northern Ireland"
|
|
725
|
+
]
|
|
726
|
+
}
|
|
726
727
|
}
|
|
728
|
+
},
|
|
729
|
+
"uprn": {
|
|
730
|
+
"title": "Unique Property Reference Number",
|
|
731
|
+
"type": "integer"
|
|
732
|
+
},
|
|
733
|
+
"sellingAgent": {
|
|
734
|
+
"title": "Estate Agent selling the property",
|
|
735
|
+
"type": "string"
|
|
727
736
|
}
|
|
728
|
-
},
|
|
729
|
-
"uprn": {
|
|
730
|
-
"title": "Unique Property Reference Number",
|
|
731
|
-
"type": "integer"
|
|
732
|
-
},
|
|
733
|
-
"sellingAgent": {
|
|
734
|
-
"title": "Estate Agent selling the property",
|
|
735
|
-
"type": "string"
|
|
736
737
|
}
|
|
737
738
|
}
|
|
738
739
|
}
|
|
@@ -1036,6 +1037,11 @@
|
|
|
1036
1037
|
"title": "Additional property purchase",
|
|
1037
1038
|
"description": "Whether the buyer already owns residential property (SDLT higher rates apply)"
|
|
1038
1039
|
},
|
|
1040
|
+
"dependentOnSale": {
|
|
1041
|
+
"type": "boolean",
|
|
1042
|
+
"title": "Buyer needs to sell a property to proceed",
|
|
1043
|
+
"description": "Whether the buyer's purchase depends on the sale of another property, i.e. the buyer's side of the chain. False positively records that it does not, for example a first-time buyer or a buyer who has already sold; absent means the buyer's position is not known. Owning another property is not the same thing: see isAdditionalProperty. The property or properties being sold are recorded in chain.buyersSale."
|
|
1044
|
+
},
|
|
1039
1045
|
"hasPets": {
|
|
1040
1046
|
"type": "boolean",
|
|
1041
1047
|
"title": "Buyer has pets",
|
|
@@ -6,10 +6,10 @@
|
|
|
6
6
|
"description": "A party's role in a transaction, where no more specific relationship credential applies. Asserts participation in a role, not a relationship to another named party.",
|
|
7
7
|
"x-pdtf-source": {
|
|
8
8
|
"packageName": "@pdtf/schemas",
|
|
9
|
-
"packageVersion": "3.6.0-dev.
|
|
9
|
+
"packageVersion": "3.6.0-dev.26",
|
|
10
10
|
"v3SchemaId": "https://trust.propdata.org.uk/schemas/v3/pdtf-transaction.json",
|
|
11
11
|
"combinedPath": "src/schemas/v3/combined.json",
|
|
12
|
-
"combinedSha256": "
|
|
12
|
+
"combinedSha256": "4faefc641dcb3cdd9e871b53fdaf80d8a02041dfb09d377c959a916eb22276b5"
|
|
13
13
|
},
|
|
14
14
|
"properties": {
|
|
15
15
|
"id": {
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"Prospective Buyer",
|
|
34
34
|
"Buyer",
|
|
35
35
|
"Buyer's Conveyancer",
|
|
36
|
-
"
|
|
36
|
+
"Giftor",
|
|
37
37
|
"Estate Agent",
|
|
38
38
|
"Buyer's Agent",
|
|
39
39
|
"Surveyor",
|
|
@@ -5,10 +5,10 @@
|
|
|
5
5
|
"generator": "src/utils/generateV4Schemas.js",
|
|
6
6
|
"source": {
|
|
7
7
|
"packageName": "@pdtf/schemas",
|
|
8
|
-
"packageVersion": "3.6.0-dev.
|
|
8
|
+
"packageVersion": "3.6.0-dev.26",
|
|
9
9
|
"v3SchemaId": "https://trust.propdata.org.uk/schemas/v3/pdtf-transaction.json",
|
|
10
10
|
"combinedPath": "src/schemas/v3/combined.json",
|
|
11
|
-
"combinedSha256": "
|
|
11
|
+
"combinedSha256": "4faefc641dcb3cdd9e871b53fdaf80d8a02041dfb09d377c959a916eb22276b5"
|
|
12
12
|
},
|
|
13
13
|
"entities": {
|
|
14
14
|
"Property": {
|
|
@@ -78,7 +78,7 @@
|
|
|
78
78
|
"roleImpliedByCredential": {
|
|
79
79
|
"SellerCapacity": "Seller",
|
|
80
80
|
"Offer": "Buyer",
|
|
81
|
-
"Gift": "
|
|
81
|
+
"Gift": "Giftor"
|
|
82
82
|
},
|
|
83
83
|
"strippedKeySuffixes": [
|
|
84
84
|
"Ref",
|
|
@@ -768,6 +768,19 @@
|
|
|
768
768
|
"scope": "vendor"
|
|
769
769
|
}
|
|
770
770
|
]
|
|
771
|
+
},
|
|
772
|
+
{
|
|
773
|
+
"pointer": "/chain/buyersSale",
|
|
774
|
+
"keys": [
|
|
775
|
+
{
|
|
776
|
+
"pointer": "/transactionId",
|
|
777
|
+
"scope": "canonical"
|
|
778
|
+
},
|
|
779
|
+
{
|
|
780
|
+
"pointer": "/externalIds/{source}",
|
|
781
|
+
"scope": "vendor"
|
|
782
|
+
}
|
|
783
|
+
]
|
|
771
784
|
}
|
|
772
785
|
],
|
|
773
786
|
"arrayKeyScopes": {
|
|
@@ -831,7 +844,7 @@
|
|
|
831
844
|
"notes": "V3 does not tie a seller's capacity to a particular title, so the optional `title` reference is left unset. A transaction selling more than one title therefore yields a capacity scoped to the transaction, not to a title."
|
|
832
845
|
},
|
|
833
846
|
"TransactionRole": {
|
|
834
|
-
"description": "A party's role where no more specific relationship credential applies — Lender, Landlord, Tenant,
|
|
847
|
+
"description": "A party's role where no more specific relationship credential applies — Lender, Landlord, Tenant, Giftor, Platform Support — or where the specific relationship is not yet established. Emitted so that every participant carrying a role has exactly one credential embodying it.",
|
|
835
848
|
"source": {
|
|
836
849
|
"entity": "Transaction",
|
|
837
850
|
"pointer": "/participants/{index}"
|
|
@@ -1054,7 +1067,7 @@
|
|
|
1054
1067
|
"cardinality": "many",
|
|
1055
1068
|
"matchOn": "/donor"
|
|
1056
1069
|
},
|
|
1057
|
-
"impliesRole": "
|
|
1070
|
+
"impliesRole": "Giftor"
|
|
1058
1071
|
},
|
|
1059
1072
|
{
|
|
1060
1073
|
"id": "credential.representation",
|
|
@@ -197,7 +197,7 @@ const CREDENTIAL_ENTITIES = [
|
|
|
197
197
|
/**
|
|
198
198
|
* Role is not stored on the participant. For three credential types it is
|
|
199
199
|
* implied 1:1 by the type itself — V3 puts sellersCapacity only on the Seller
|
|
200
|
-
* branch, giftDetails only on
|
|
200
|
+
* branch, giftDetails only on Giftor, and offerId on Buyer (and Giftor,
|
|
201
201
|
* whose offer link lives on the Gift credential instead, keeping this 1:1).
|
|
202
202
|
* Representation and TransactionRole each span several roles, so they carry
|
|
203
203
|
* role as their own discriminator: "what kind of representation is this" is a
|
|
@@ -206,7 +206,7 @@ const CREDENTIAL_ENTITIES = [
|
|
|
206
206
|
const ROLE_IMPLIED_BY_CREDENTIAL = {
|
|
207
207
|
SellerCapacity: "Seller",
|
|
208
208
|
Offer: "Buyer",
|
|
209
|
-
Gift: "
|
|
209
|
+
Gift: "Giftor",
|
|
210
210
|
};
|
|
211
211
|
|
|
212
212
|
// ---------------------------------------------------------------------------
|
|
@@ -708,7 +708,7 @@ const generateTransactionRole = () => {
|
|
|
708
708
|
// The catch-all relationship credential. Representation, SellerCapacity and
|
|
709
709
|
// Offer each carry a specific relationship; this one asserts only that a
|
|
710
710
|
// party takes a given role in a transaction, which is all V3 records for a
|
|
711
|
-
// Lender, Landlord, Tenant,
|
|
711
|
+
// Lender, Landlord, Tenant, Giftor or Platform Support. It is also what
|
|
712
712
|
// covers a party whose specific relationship is not yet established — a
|
|
713
713
|
// conveyancer instructed but with no actingFor recorded, say — so that every
|
|
714
714
|
// participant carrying a role has exactly one credential embodying it.
|
|
@@ -742,7 +742,7 @@ const generateGift = () => {
|
|
|
742
742
|
// is truly a gift rather than a loan, and whether the donor acquires an
|
|
743
743
|
// interest in or occupation of the property, are what a conveyancer must
|
|
744
744
|
// resolve before reporting to a lender. Separately revocable, and the role
|
|
745
|
-
// "
|
|
745
|
+
// "Giftor" is implied by the credential's existence.
|
|
746
746
|
const giftBranch =
|
|
747
747
|
(combined.properties.participants.items.oneOf || []).find(
|
|
748
748
|
(b) => b.properties?.giftDetails
|
|
@@ -751,7 +751,7 @@ const generateGift = () => {
|
|
|
751
751
|
return makeSchema(
|
|
752
752
|
"gift",
|
|
753
753
|
"Gift Entity",
|
|
754
|
-
"A gift of funds towards a purchase, made by a
|
|
754
|
+
"A gift of funds towards a purchase, made by a giftor. Implies the Giftor role.",
|
|
755
755
|
{
|
|
756
756
|
id: urnRef("Gift URN", "Uniform Resource Name identifier for the gift"),
|
|
757
757
|
donor: didRef(
|
|
@@ -1077,7 +1077,7 @@ const buildRules = () => [
|
|
|
1077
1077
|
entityPointer: "",
|
|
1078
1078
|
keys: { mode: "include", values: ["giftDetails", "offerId"] },
|
|
1079
1079
|
instance: { cardinality: "many", matchOn: "/donor" },
|
|
1080
|
-
impliesRole: "
|
|
1080
|
+
impliesRole: "Giftor",
|
|
1081
1081
|
},
|
|
1082
1082
|
{
|
|
1083
1083
|
id: "credential.representation",
|
|
@@ -1300,7 +1300,7 @@ const mapping = {
|
|
|
1300
1300
|
},
|
|
1301
1301
|
TransactionRole: {
|
|
1302
1302
|
description:
|
|
1303
|
-
"A party's role where no more specific relationship credential applies — Lender, Landlord, Tenant,
|
|
1303
|
+
"A party's role where no more specific relationship credential applies — Lender, Landlord, Tenant, Giftor, Platform Support — or where the specific relationship is not yet established. Emitted so that every participant carrying a role has exactly one credential embodying it.",
|
|
1304
1304
|
source: { entity: "Transaction", pointer: "/participants/{index}" },
|
|
1305
1305
|
emitWhen:
|
|
1306
1306
|
"/role is present and no other credential names this participant as its role-bearer",
|
package/src/utils/v4.js
CHANGED
|
@@ -322,7 +322,7 @@ const decompose = (v3, { idFactory } = {}) => {
|
|
|
322
322
|
const ROLE_IMPLIED_BY_CREDENTIAL = {
|
|
323
323
|
SellerCapacity: "Seller",
|
|
324
324
|
Offer: "Buyer",
|
|
325
|
-
Gift: "
|
|
325
|
+
Gift: "Giftor",
|
|
326
326
|
};
|
|
327
327
|
|
|
328
328
|
/**
|
|
@@ -615,7 +615,7 @@ const projectRelationships = (
|
|
|
615
615
|
|
|
616
616
|
// Likewise a buyer's role is embodied by their offer. An offer that no
|
|
617
617
|
// participant references stays transaction data: Offer requires a buyer.
|
|
618
|
-
if (entry.giftDetails !== undefined || entry.role === "
|
|
618
|
+
if (entry.giftDetails !== undefined || entry.role === "Giftor") {
|
|
619
619
|
Gift.push({
|
|
620
620
|
id: ids.gift(entry.participant),
|
|
621
621
|
donor: entry.participant,
|
|
@@ -637,7 +637,7 @@ const projectRelationships = (
|
|
|
637
637
|
|
|
638
638
|
// Anyone left carrying a role that no specific credential embodies gets the
|
|
639
639
|
// catch-all, so every participant with a role has exactly one credential
|
|
640
|
-
// asserting it. That covers Lender, Landlord, Tenant,
|
|
640
|
+
// asserting it. That covers Lender, Landlord, Tenant, Giftor and Platform
|
|
641
641
|
// Support, which V3 records as a role and nothing more, and also a party
|
|
642
642
|
// whose specific relationship is not yet established.
|
|
643
643
|
const hasSpecificCredential = new Set([
|