schema([ Forms\Components\Select::make('carrier_code') ->options([ 'DHL' => 'DHL', 'FEDEX' => 'FedEx', 'UPS' => 'UPS', 'ARAMEX' => 'Aramex', 'NAGHEL' => 'Naqel', 'EMX' => 'EMX', 'APSITEX' => 'APSITEX', 'IMPEX' => 'IMPEX', 'OTHER' => 'Other', ]) ->required(), Forms\Components\TextInput::make('carrier_tracking_number')->required()->label('Tracking Number'), Forms\Components\TextInput::make('booking_number')->nullable()->label('Booking Number'), Forms\Components\Select::make('direction') ->options(['import' => 'Import', 'export' => 'Export']) ->nullable(), Forms\Components\Select::make('delivery_status') ->options([ 'processed' => 'Processed', 'picked_up' => 'Picked Up', 'in_transit' => 'In Transit', 'out_for_delivery' => 'Out For Delivery', 'failed' => 'Failed', 'delivered' => 'Delivered', 'returned' => 'Returned', ]) ->nullable(), Forms\Components\Textarea::make('notes')->nullable()->rows(2)->label('Notes'), ]); } public function table(Table $table): Table { return $table ->columns([ Tables\Columns\TextColumn::make('carrier_code')->badge()->label('Carrier'), Tables\Columns\TextColumn::make('carrier_tracking_number')->label('Tracking Number')->searchable(), Tables\Columns\TextColumn::make('booking_number')->label('Booking Number'), Tables\Columns\TextColumn::make('direction')->badge()->label('Direction'), Tables\Columns\TextColumn::make('delivery_status')->badge()->label('Status'), Tables\Columns\TextColumn::make('notes')->limit(50)->label('Notes'), ]) ->headerActions([ Tables\Actions\CreateAction::make(), ]) ->actions([ Tables\Actions\EditAction::make(), Tables\Actions\DeleteAction::make(), ]) ->bulkActions([ Tables\Actions\BulkActionGroup::make([ Tables\Actions\DeleteBulkAction::make(), ]), ]); } }