it.contactlab.hub.sdk.java.models.AbstractSubscription Maven / Gradle / Ivy
package it.contactlab.hub.sdk.java.models;
import org.immutables.value.Value;
import java.time.OffsetDateTime;
import java.util.List;
import java.util.Optional;
import javax.annotation.Nullable;
@Value.Immutable
@Value.Style(typeImmutable = "*")
public abstract class AbstractSubscription {
public abstract Optional id();
public abstract Optional name();
public abstract Optional type();
public abstract Optional kind();
public abstract Optional subscribed();
public abstract Optional startDate();
public abstract Optional endDate();
public abstract Optional subscriberId();
public abstract Optional registeredAt();
public abstract Optional updatedAt();
/**
* A {@link List} of {@link Preference} objects.
*
* Marked as @Nullable so that you can create a `patchCustomer` object with
* this field set to null. It is never `null` when it is persisted.
*/
@Nullable public abstract List preferences();
}