it.contactlab.hub.sdk.java.models.AbstractCustomer Maven / Gradle / Ivy
package it.contactlab.hub.sdk.java.models;
import org.immutables.value.Value;
import java.time.OffsetDateTime;
import java.util.Optional;
/**
* A Customer.
*/
@Value.Immutable
@Value.Style(typeImmutable = "*")
public abstract class AbstractCustomer {
/**
* The customer id.
*/
public abstract Optional id();
/**
* The registration timestamp.
*/
public abstract Optional registeredAt();
/**
* The customer update timestamp.
*/
public abstract Optional updatedAt();
/**
* The external id of the customer.
*/
public abstract Optional externalId();
/**
* The {@link BaseProperties} of the customer.
*/
public abstract Optional base();
/**
* The {@link Consents} of the customer.
*/
public abstract Optional consents();
/**
* The id of the ContactHub node the customer belongs to.
*/
public abstract Optional nodeId();
/**
* Custom data defined by workspace based on a declarated schema.
*/
public abstract Optional