public override void WriteJson(JsonWriter writer, SendOptions?options, JsonSerializer serializer)
    {
        if (options == null)
        {
            return;
        }
        writer.WriteStartObject();

        var deliveryDate = options.GetDeliveryDate();

        if (deliveryDate != null)
        {
            writer.WritePropertyName("DeliveryDate");
            serializer.Serialize(writer, deliveryDate);
        }
        var deliveryDelay = options.GetDeliveryDelay();

        if (deliveryDelay != null)
        {
            writer.WritePropertyName("DeliveryDelay");
            serializer.Serialize(writer, deliveryDelay);
        }
        ExtendableOptionsConverter.WriteBaseMembers(writer, serializer, options);

        writer.WriteEndObject();
    }
    public override void Write(VerifyJsonWriter writer, SendOptions options)
    {
        writer.WriteStartObject();

        var deliveryDate = options.GetDeliveryDate();

        writer.WriteMember(options, deliveryDate, "DeliveryDate");
        var deliveryDelay = options.GetDeliveryDelay();

        writer.WriteMember(options, deliveryDelay, "DeliveryDelay");

        ExtendableOptionsConverter.WriteBaseMembers(writer, options);

        writer.WriteEndObject();
    }