<?php

abstract class TypeGaleriaPage_Status extends EnumBasic{
    const Tp_Desabilitado  = "disabled" ;
    const Tp_Habilitado    = "enabled" ;

    protected static $nickname = array(
        self::Tp_Desabilitado  => 'Desabilitado',
        self::Tp_Habilitado    => 'Habilitado'
    );
}

abstract class TypeGaleriaPageOrder_Status extends EnumBasic{
    const Tp_aguardando_pagamento      = 1;
    const Tp_aprovado                  = 2;
    const Tp_processando               = 3;
    const Tp_faturado                  = 4;
    const Tp_enviado                   = 5;
    const Tp_entregue                  = 6;
    const Tp_cancelado                 = 7;

    protected static $nickname = array(
        self::Tp_aguardando_pagamento     => "Aguardando Pagamento",
        self::Tp_aprovado                 => "Aprovado",
        self::Tp_processando              => "Processando",
        self::Tp_faturado                 => "Faturado",
        self::Tp_enviado                  => "Enviado",
        self::Tp_entregue                 => "Entregue",
        self::Tp_cancelado                => "Cancelado",
    );
}

abstract class TypeGaleriaPage_Module extends EnumBasic{
    const Tp_Shipping  = "galeriapage_shipping";
    const Tp_Payment   = "galeriapage_payment";

    protected static $nickname = array(
        self::Tp_Shipping  => 'Envio Galeria Pagé',
        self::Tp_Payment   => 'Pagamento Galeria Pagé'
    );
}

abstract class TypeGaleriaPageOrder_ApiStatus extends EnumBasic{
    const Tp_processing      = 'Processing';
    const Tp_invoiced        = 'Invoiced';
    const Tp_sent            = 'Sent';
    const Tp_delivered       = 'Delivered';
}

abstract class TypeGaleriaPage_AdjustmentPrice extends EnumBasic{
    const Tp_Percentual  = 0 ;
    const Tp_ValorFixo   = 1 ;

    protected static $nickname = array (
        self::Tp_Percentual  => 'Percentual',
        self::Tp_ValorFixo   => 'Valor Fixo'
    );
}

abstract class TypeGaleriaPage_TypeAdjustment extends EnumBasic{
    const Tp_Acre  = 'increase' ;
    const Tp_Decre = 'decrease' ;

    protected static $nickname = array (
        self::Tp_Acre  => 'Acréscimo',
        self::Tp_Decre => 'Desconto'
    );
}

abstract class TypeGaleriaPage_Situacao extends EnumBasic{
  const Tp_SituacaoRecebido      = 0 ;
  const Tp_SituacaoErro          = 1 ;
  const Tp_SituacaoNotificado    = 2 ;
  const Tp_SituacaoAguardando    = 3 ;


  protected static $nickname = array (
    self::Tp_SituacaoRecebido     => 'Recebido da Galeria Pagé',
    self::Tp_SituacaoErro         => 'Erro na Galeria Pagé',
    self::Tp_SituacaoNotificado   => 'Galeria Pagé Notificada',
    self::Tp_SituacaoAguardando   => 'Aguardando Sincronia'
  );
}

abstract class TypeGaleriaPage_Origem extends EnumBasic{
  const Tp_Recebimento  = 0 ;
  const Tp_Envio   = 1 ;
  const Tp_Aguardando  = 2 ;

  protected static $nickname = array (
    self::Tp_Recebimento  => 'Recebimento',
    self::Tp_Envio   => 'Envio',
    self::Tp_Aguardando   => 'Aguardando'
  );
}

abstract class Type_GaleriaPageErrors extends EnumBasic {
  const Tp_EmptyCategory   = 'empty_category';

  protected static $nickname = array(
    self::Tp_EmptyCategory      => 'Não é possível sincronizar o produto sem categoria. Selecione "Departamento > Categoria > Sub-Categoria" para o produto na ficha técnica.'
  );
}

abstract class Type_GaleriaPageSettings extends EnumBasic {

    const Geral         = 'geral' ;
    const Anuncio       = 'anuncio' ;
    const Preco         = 'preco' ;
    const StatusPedido  = 'pedido' ;

    protected static $nickname = array (
        self::Geral         => 'Geral',
        self::Anuncio       => 'Anúncio',
        self::Preco         => 'Preço',
        self::StatusPedido  => 'Status do Pedido',
    );
}
