Aquí se mostrarán los esquemas que se han realizado.
Provider
public class Provider {
@Id
private String id; // Identificador unico
@Indexed(unique = true)
private String name;
private String logo;
private String description; // Opcional
private Integer popularity; // nivel de popularidad, donde 1 es el mas popular
private CustomizableAmount customizableAmount;
@Indexed 26
private Boolean active; // si el proveedor esta activo o no, solo se listaran los proveedores activos al usuario
private String type; // AGENCY o BUY SELL
private String termsConditions; // Opcional
private Date createdAt;
private Date updatedAt;
}
CustomizableAmount
public class CustomizableAmount {
private Boolean allow; // True -> Si permite un monto customizable, caso contrario False
private Long max; // Monto maximo en centavos (Informacion requerida solo si allow es True)
private Long min; // Monto minimo en centavos (Informacion requerida solo si allow es True)
}
Product
public class Product {
@Id
private String id;
@Indexed
private String name;
@Indexed
private String providerId;
private Long amountInCents;
private String upc;
private double commission; // Opcional
private Long discountInCents; // Opcional
private Date createdAt;
}