2017-01-17 14 views
1

Я пытаюсь предоставить вывод JSON-LD для приложения, которое занимается счетами-фактурами.Как пометить частично оплаченный счет в schema.org Тип счета

Счета-фактуры в этом приложении могут быть частично оплачены (то есть клиент мог оплатить часть суммы, но не все), и мне нужно указать как в JSON-LD - общую сумму счета и частично оплаченной суммы.

Я попытался выяснить, как другие подошли к этой ситуации, но ни одна из официальных схем (я не посмотрел на schema.org и Goodrelations), похоже, не имею в виду эту ситуацию.

Моя текущая идея заключается в том, чтобы выразить это как статус платежа значение пользовательского , содержащий paidAmount свойство, содержащее частично оплачиваемую сумму, как это:

{ 
    "@context": "https://schema.org", 
    "@type": "Invoice", 
    ... 
    "paymentStatus": { 
    "@type": "PaymentStatusType", 
    "name": "PaymentPartiallyPaid", 
    "paidAmount": { 
     "@type": "MonetaryAmount", 
     "value": 42.31, 
     "currency": "EUR" 
    } 
    }, 
    "totalPaymentDue": { 
    "value": 200.00, 
    "currency": "EUR" 
    } 
} 

Является ли это обоснованный подход? Есть ли некоторые существующие примеры разметки частично оплаченных счетов-фактур? Есть ли лучший способ?

Edit:

Оказывается, вы не можете просто сделать новые атрибуты на лету, при использовании связанных данных, поэтому приведенная схема не является допустимым JSON-LD, если я не смог опубликовать свою расширение для схемы счета-фактуры.

Я ищу способ, чтобы отметить это без расширения официальной схемы ...

+1

Вы сделали 'paidAmount' вверх, правильно? Это не должно быть сделано. Если вам нужно свойство, которого нет в Schema.org или другом словаре, вы должны дать ему URI, который вы контролируете. – unor

+0

Да, на данный момент у меня нет такой роскоши. Я могу составить URI, но он не будет ссылаться на действительную спецификацию схемы ... –

ответ

1

Я хотел бы использовать minimumPaymentDue, который упоминается как «минимальный платеж требуется в это время», в сочетании с totalPaymentDue, который «общая сумма задолженности». Вы можете установить значение minimumPaymentDue на разницу между totalPaymentDue и оплаченной суммой.

Кроме того, ваш totalPaymentDue был синтаксически неправильным, и установка имени не означает, что вы задаете значение перечисления для paymentStatus типа PaymentStatusType - эти проблемы также были исправлены ниже.

{ 
    "@context": "https://schema.org", 
    "@type": "Invoice", 
    "paymentStatus": "https://schema.org/PaymentDue", 
    "totalPaymentDue": { 
    "@type": "MonetaryAmount", 
    "value": 200.00, 
    "currency": "EUR" 
    }, 
    "minimumPaymentDue": { 
    "@type": "MonetaryAmount", 
    "value": 157.69, 
    "currency": "EUR" 
    } 
} 
+0

Спасибо. Это звучит так же, как растягивание значения «minimumPaymentDue», но, учитывая наши ограничения на данный момент, я думаю, это нормально ... –