Deals API 1.0 JSON Schema Unofficial

Decision records ·

D-003 How does an evergreen deal leave enddate blank?

Gap Cited on main and at the tag 1.0-202602.

What the schemas do

It leaves enddate out; an empty string is no date-time, so a payload that sends one fails.

Options

  • absent Chosen

    It leaves enddate out; an empty string is no date-time, so a payload that sends one fails.

  • empty-string

    It sends an empty string, which enddate then accepts beside a date-time.

Why

A blank field is one the deal doesn't send, as every other field that "may be omitted" in the text. Accepting an empty string would make enddate hold two kinds of value, and a receiver would have to tell "no end" from an end it can't read. The sentence states what the origin system does, so it is an obligation of the seller's side.

What we ask the specification to state

Say how an evergreen deal leaves enddate blank: omitted, or an empty string, which is no timestamp.

The specification lines it rests on

Each line is quoted as the record pins it. Expand an item to read the quote.

main

  • Object: Terms, the enddate row L109 at 3028ddc
    enddate | string | UTC timestamp in seconds in ISO-8601 of when the deal ends. Evergreen or always on deals should leave this field blank.
  • Object: Terms, a requirement L109 at 3028ddc
    Evergreen or always on deals should leave this field blank.

Tag 1.0-202602

  • Object: Terms, the enddate row L109 at 938a5d1
    enddate | string | UTC timestamp in seconds in ISO-8601 of when the deal ends. Evergreen or always on deals should leave this field blank.
  • Object: Terms, a requirement L109 at 938a5d1
    Evergreen or always on deals should leave this field blank.

What it shapes

main: Terms.enddate

Tag 1.0-202602: Terms.enddate

The record's YAML file